Tiger Опубликовано 25 марта, 2013 Поделиться Опубликовано 25 марта, 2013 Необходимо разделить xx на int и записать на свое место...[eax+2C] // float в виде 0.xx???????[ebx+38] // intНапример[eax+2C] = 0.201354921[ebx+38] = 4div ....[eax+2C] = 0.051354921Подскажите как это сделать на ассемблере? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 25 марта, 2013 Поделиться Опубликовано 25 марта, 2013 http://www.club155.ru/x86cmdfpu/FLDhttp://www.club155.ru/x86cmdfpu/FDIV Ссылка на комментарий Поделиться на другие сайты Поделиться
Tiger Опубликовано 26 марта, 2013 Автор Поделиться Опубликовано 26 марта, 2013 http://www.club155.ru/x86cmdfpu/FLDhttp://www.club155.ru/x86cmdfpu/FDIVПопытался разобраться в целом:fld qword ptr [ebx+38] // Bfld qword ptr [eax+2C] // Afdiv st(1),st(0) // A / Bfstp qword ptr [eax+2C] // A-> [eax+2C]- как взять для деления именно те две цифры? Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 26 марта, 2013 Поделиться Опубликовано 26 марта, 2013 мб не правфигню написал) Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 26 марта, 2013 Поделиться Опубликовано 26 марта, 2013 fdiv использует для работы стек FPU, это же не обычный div Ссылка на комментарий Поделиться на другие сайты Поделиться
Tiger Опубликовано 27 марта, 2013 Автор Поделиться Опубликовано 27 марта, 2013 Все равно не соображу что-то..,Xipho, нагло прошу по возможности решить за меня эту задачу...и в стеке результат зависает... Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 28 марта, 2013 Поделиться Опубликовано 28 марта, 2013 fld dword ptr [eax+2C] // Afdiv dword ptr [ebx+38] // A / Bfstp dword ptr [eax+2C] // результат на место числа АЭто если у тебя float. А если double - тогда dword меняешь на qword Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения