|
Вопрос # 6 125/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Не получается сосчитать значение такого выражения в 32-х битных регистрах. На 16-битных код работает, а на 32 не могу перевести. Помогите, помалуйста.
Выражение: (a^3 + b)/a
Значения a и b получаю с помощью scanf из стандартной библиотеке в Linux. Оба возвращаются и хранятся, соответсвенно, в eax и ebx.
@agb:
push ebx
mov ebx, eax
xor edx, edx
imul ebx ; edx::eax
imul ebx ; edx::eax::ecx
pop ebx
add ecx, ebx
adc eax, 0
adc edx, 0
mov ebx, var_a
idiv ebx ; edx::eax
;answer = eax
jmp @out
 |
Вопрос задал: IlluminatI (статус: 2-ой класс)
Вопрос отправлен: 10 мая 2012, 01:24
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 10 мая 2012, 19:13; участников в обсуждении: 1.
|
bugmenot (статус: 3-ий класс), 10 мая 2012, 19:13 [#1]:
Тащем-та на 386 процах можно не мучаться с однооперандной формой.
Которая, что важно, не использует неявно регистр C.
D:A ← A * op
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|