Вычисление математического выражения b= s*r*(g-l) - Assembler
Формулировка задачи:
Помогите правильно написать код для этой формулы
b= s*r * (g-l)
;b= s*r * (g-l) .MODEL SMALL .STACK 100H .DATA s Dw 2 r Dw 2 g Dw 10 l Dw 5 b dw ? .CODE begin: mov ax, @data mov ds,ax mov ax,s mul r mov cx,ax mov ax,g sub ax,l mul cx MOV b,AX MOV Ax,4C00h INT 21h END begin
прошу прощение , мне надо
b= s/r * (g-l)
Решение задачи: «Вычисление математического выражения b= s*r*(g-l)»
textual
Листинг программы
mov ax,s mov dx,0 div r mov cx,ax mov ax,g sub ax,l mul cx MOV b,AX
Объяснение кода листинга программы
- Вначале происходит перенос значения переменной
s
в регистр AX. - Затем значение переменной
r
делится на 0, в результате чего в регистре DX остаётся неопределенное значение, а в регистре AX — частное от деления. - Частное от деления (которое теперь находится в регистре AX) присваивается переменной
cx
. - Значение переменной
g
вычитается из значения переменнойax
, и результат сохраняется в регистре AX. - Затем неопределенное значение из регистра DX умножается на результат вычитания (который всё ещё находится в регистре AX), и результат сохраняется в переменной
b
.