Вычисление математического выражения 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

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

  1. Вначале происходит перенос значения переменной s в регистр AX.
  2. Затем значение переменной r делится на 0, в результате чего в регистре DX остаётся неопределенное значение, а в регистре AX — частное от деления.
  3. Частное от деления (которое теперь находится в регистре AX) присваивается переменной cx.
  4. Значение переменной g вычитается из значения переменной ax, и результат сохраняется в регистре AX.
  5. Затем неопределенное значение из регистра DX умножается на результат вычитания (который всё ещё находится в регистре AX), и результат сохраняется в переменной b.

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

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