Поиск:

Ответ в темуСоздание новой темы Создание опроса
> fmul не работает 
:(
    Опции темы
kurlyak
Дата 24.6.2012, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: нет
Всего: 3



Вобщим пишу ассемблерную вставку для программы на Си++:

Код

void MultyFloat(float *val1, float *val2, float * valRes)
{
_asm
{
MOV EDI, val1
MOV ESI, val2
MOV EBX, valRes


MOV EAX, [EDI]
MOV EDX, [ESI]
FMUL 
MOV [EBX] ,EAX
}
}


Функция не умножает два числа с плавающей точкой. Хотя эта же функция, когда я ее переделываю под целые цисла и пишу вместо FMUL пишу IMUL все работает. Кто знает подскажите.
PM MAIL   Вверх
LeonidPr
Дата 24.6.2012, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 17.2.2012
Где: г. Чебоксары

Репутация: нет
Всего: 1



fmul - это инструкция сопроцессора и работает она с регистрами сопроцессора а не основными регистрами проца. Вот здесь почитайте подробнее. Я сам не программил сопроцессор на асме, только теорию знаю, поэтому примером кода не могу помочь.

Это сообщение отредактировал(а) LeonidPr - 24.6.2012, 11:35
--------------------
pkunzip.zip
PM MAIL   Вверх
Mikl_
Дата 8.10.2012, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 8
Всего: 14



Код

void MultyFloat(float *val1, float *val2, float * valRes)
{
_asm
{ finit
MOV EDI, val1
MOV ESI, val2
MOV EBX, valRes
fld dword ptr [EDI]
fld dword ptr [ESI]
FMUL 
fstp dword ptr [EBX]
}
}


Это сообщение отредактировал(а) Mikl_ - 8.10.2012, 03:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0763 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.