Вычислить значение выражения Y=(3*C^2-3*C-7)/8 - Assembler
Формулировка задачи:
Помогите,пожалуйста, нужно срочно написать программу в Ассемблере,которая бы считала по формуле: Y=(3*C^2-3*C-7)/8
Решение задачи: «Вычислить значение выражения Y=(3*C^2-3*C-7)/8»
textual
Листинг программы
mov ax,C mov dx,ax dec ax imul ax,3 ; 3*(C-1) imul dx ; 3*С*(С-1) sub ax,7 sbb dx,0 ; 3*С*(С-1)-7 shrd ax,dx,3 sar dx,3 ; делим на 8, результат в паре DX:AX
Объяснение кода листинга программы
- Переменная C помещается в регистр AX.
- Делитель 8 помещается в регистр DX.
- Регистр AX уменьшается на 1.
- Регистры AX и DX умножаются на 3.
- Результат вычитается из 7.
- Результат вычитания помещается в регистр DX, а в регистр AX записыруется знак отнятия (0).
- Результат делится на 8 с использованием регистра DX как делителя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д