|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.05.2010, 17:36 | #1 | ||
Пользователь
Регистрация: 12.05.2010
Сообщений: 10
|
Не могу вернуть float из процедуры на ассемблере в си
Программа компиируется, но вылетает в процессе
Код на Си: Цитата:
Цитата:
Причем, если в ассемблере убрать весь основной код, оставив лишь переменную сумма как равную нулю, все равно вылеает(по идее тогда хотя бы ноль должна вернуть, т.е. делаю вывод, что не в сегменте кода дело) Помогите пожалуйста, очень нужно! И может, если получится, посмотрите нет ли ошибок в ассемблерском коде(я с фпу впервые работаю), там должна вчисляться сумма выражения (a-b)^2, i изменяется от 1 до n, а=(i,если i нечетное,i/3-иначе),b=(i^2,если i-нечетное,i^3-иначе) |
||
13.05.2010, 17:46 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
вещественные числа нужно возвращать в элемент st(0) стека сопроцессора
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.05.2010, 18:13 | #3 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 10
|
Попробовал, ваш вариант возврата- проблема та же...-(
|
13.05.2010, 19:12 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ошибка то какая?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.05.2010, 19:57 | #5 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 10
|
выкидывает из программы
|
13.05.2010, 20:51 | #6 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
у Вас ничего и не возвращается вы сохраняете результат в локальную переменную
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
13.05.2010, 21:13 | #7 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 10
|
я сохраняю в регистрах ах: dx- от туда будет браться значение, разве я не прав?
|
13.05.2010, 21:14 | #8 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 10
|
а если и толкать в стек сумму, то ошибка всё та же...
|
13.05.2010, 23:25 | #9 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
опишите подробнее в чем работайте, как делаете сборку программы
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
14.05.2010, 04:08 | #10 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
yukas Не могу вернуть float из процедуры на ассемблере в си
yukas я сохраняю в регистрах ах: dx- от туда будет браться значение, разве я не прав? Пепел Феникса вещественные числа нужно возвращать черз st(0) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FLOAT TO TRING И STRING TO FLOAT!! | MelKiY_bad | C++ Builder | 6 | 07.05.2010 14:31 |
Очень нужна помощь по Turbo Pascal...Не могу составить програму,по теме:"Процедуры и файлы"...( | Zara | Помощь студентам | 2 | 02.12.2008 18:23 |
Что такое прототипы процедуры в ассемблере ? | Technokiller | Помощь студентам | 2 | 06.06.2008 15:30 |