Записать на языке ассемблер данное выражение (3*x*x-2)/3+y - Assembler
Формулировка задачи:
Выражение: (3*x*x-2)/3+y
Решение задачи: «Записать на языке ассемблер данное выражение (3*x*x-2)/3+y»
textual
Листинг программы
;FASM mov ebx, [y] add ebx, 3 mov eax, [x] imul eax lea eax,[eax*2+eax] sub eax, 2 idiv ebx
Объяснение кода листинга программы
- Переменная
y
берется из памяти и помещается в регистрebx
. - К значению в
ebx
прибавляется 3. - Переменная
x
берется из памяти и помещается в регистрeax
. - Значение в
eax
умножается на себя. - Результат умножения помещается в память по адресу
eax*2+eax
. - Значение в
eax
уменьшается на 2. - Результат в
eax
делится на значение вebx
.