|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
|
Вычисление квадратного корня11.04.2011, 15:11. Показов 36797. Ответов 13
Метки нет (Все метки)
Доброго дня! Подскажите WinAPI функцию для вычисления квадратного корня. Если можно то с примером.
Заранее всем очень благодарен))) Google мне не помог
0
|
|
| 11.04.2011, 15:11 | |
|
Ответы с готовыми решениями:
13
Вычисление квадратного корня Вычисление квадратного корня из числа без использования сопроцессора Ругается на вычисление корня |
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 11.04.2011, 15:18 | ||||||
Сообщение было отмечено как решение
Решение
S9,
GOOGLE говоришь? а здесь искал? нет такой WinAPI-функции, за то есть команда fsqrt
3
|
||||||
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
|||||||||||
| 11.04.2011, 17:38 [ТС] | |||||||||||
|
Эта прога должна считать квадратное уравнение. Я сделал как сказал Mikl___, у меня все компильнулось но при попытке что-нибудь решить выдает еррор. В ассемблере я шарю не оч. поэтому буду очень признателен всем кто поможет заставить эту прогу работать))Пишу в MASM.Вот код который я писал для обработки нажатия кнопки(в коментариях я предполагаю что данный код будет делать)
0
|
|||||||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 12.04.2011, 05:14 | ||||||
|
S9, при использовании переменных со знаком необходимо вместо mul/div использовать imul/idiv и при расчете квадратного уравнения можно использовать FPU не только для расчета квадратного корня
2
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 12.04.2011, 09:08 | |
|
Это решение квадратного уравнения под ДОС с вводом/выводом коэффициентов, смотри, разбирайся
2
|
|
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
|
| 17.04.2011, 22:42 [ТС] | |
|
Что-то я не могу разобраться с этим кодом (т.е. не могу его приспособить для MASM)((((Если кто сможет переделать его на MASM, я был бы очень благодарен)
P.S. Если у кого есть исходник проги решающей квадратное уравнение на MASM то можете поделится исходником? Просто оч. надо
0
|
|
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
| 18.04.2011, 04:12 [ТС] | ||||||
|
Как смог написал, но помогите исправить 2 ошибки
строка 29 "coprocessor register cannot be first operand" строка 35 "invalid instriction operands" Делал на основе кода Mikl___ Знатоки ассемблера - доделайте пожайлуста, а то у меня от ассемблера щас башка взорвется... Заранее спасибо всем откликнувшимся
0
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 18.04.2011, 05:03 | |
|
S9, почему-то у меня башка не взрывается вылавливать чужие ошибки
1) ошибка "строка 35 "invalid instriction operands" FSTSW STATUS смотрим как переменная STATUS определена у меня STATUS DW ? и как она определена у тебя STATUS DD ? 2) попробуй везде где у меня написано st(0) поставить просто st
1
|
|
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
| 18.04.2011, 08:41 [ТС] | ||||||
|
Извини конечно за наглость, но 1 ошибка устранилась, в 2 никак не хочет(((Замена ST(0) на ST ничего не изменила
Добавлено через 12 минут я заменил строчку 29 так
0
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 18.04.2011, 08:58 | |
|
S9, по твоему листингу "строка 29 "coprocessor register cannot be first operand" ошибка ссылается на какую строку, приведи содержимое строки полностью,
по поводу последних строк "MOV EAX,iB/ MOV Temp,EAX/ IMUL Temp/ FILD iB" не смешивай теплое с мягким (божий дар с яичницей) пусть все расчеты идут на FPU как у меня в оригинале
1
|
|
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
| 18.04.2011, 09:09 [ТС] | ||||||
0
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 18.04.2011, 13:51 | ||||||
|
S9, если ты решил получить целые корни квадратного уравнения то пиши FIST ROOT1
FIST ROOT2 так как вещественные числа wsprintf выводит неверно и должно быть
1
|
||||||
|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
| 18.04.2011, 22:26 [ТС] | ||||||
|
Извиняюсь снова за тупость, но с 60 по 62 строчку (предыдущая мессага) я заменил так
А как быть с FMUL ST(0) ? Ругается типа ST(0) там не может быть Очистить стек, это написать что-то вроде XOR EAX,EAX?
0
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 19.04.2011, 04:33 | |
|
S9,
1) xor eax,eax -- это поместить в регистр EAX ноль -- регистры и стек это две большие разницы. 2) Когда ты пользуешься API-функциями, то аргументы этим функциям передаешь через стек -- например MessageBox получает через стек всегда четыре аргумента, то есть в стек попадает 4х4 байт, но так как стек не безграничен, каждая API-функция при выходе очищает стек от своих аргументов, если "распотрошить" MessageBox, то видно, что функция заканчивается на RETN 16. Количество аргументов у wsprintf может быть любым -- поэтому при использовании именно wsprintf на программиста ложится обязанность очищать стек после себя, в моем примере после вызова wsprintf стоит команда ADD ESP,4*4 4 - количество аргументов, 4 - количество байт занимаемое каждым аргументом. 3) для возведения в квадрат напиши FMUL ST,ST
1
|
|
| 19.04.2011, 04:33 | |
|
Помогаю со студенческими работами здесь
14
Итеративное вычисление корня сопроцессором Вычисление квадратного корня Вычисление квадратного корня
Вычисление квадратного корня Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|