Записать на языке ассемблер данное выражение (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

Объяснение кода листинга программы

  1. Переменная y берется из памяти и помещается в регистр ebx.
  2. К значению в ebx прибавляется 3.
  3. Переменная x берется из памяти и помещается в регистр eax.
  4. Значение в eax умножается на себя.
  5. Результат умножения помещается в память по адресу eax*2+eax.
  6. Значение в eax уменьшается на 2.
  7. Результат в eax делится на значение в ebx.

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы