Вычисление выражения по формуле. - Assembler (223295)
Формулировка задачи:
Составить программу на языке Assembler для вычисления нижеследующего выражения
Y= A^2*X-B/C*X+8D
X=6 A=6 B=4 C=3 D=1
Решение задачи: «Вычисление выражения по формуле.»
textual
Листинг программы
LOCALS .model small .stack 100h .data x db 6 a db 6 b db 4 c db 3 d db 1 y db ? ;Y= A^2*X-B/C*X+8D .code main proc mov ax, @data mov ds, ax mov al, a imul al ;al:=a^2 imul x ;al:=a^2*x mov bl, al mov al, b imul x ;al:=b*x idiv c ;al:=b*x/c sub bl, al ;bl:=a^2*x-b*x/c mov al, 8 imul d ;al:=8*d add al, bl ;al:=a^2*x-b*x/c+8*d mov y, al mov ax, 4C00h int 21h main endp end main
Объяснение кода листинга программы
- Объявлены переменные: x, a, b, c, d, y
- Переменная
y
инициализируется выражениемA^2*X-B/C*X+8D
- Код вычисляет значение выражения
y
- Переменная
al
используется как промежуточная переменная для вычислений - Переменная
bl
используется как промежуточная переменная для вычислений - Переменная
al
присваивается значениеa^2
- Переменная
al
умножается наx
- Переменная
bl
присваивается значениеa^2*x
- Переменная
al
присваивается значениеb*x
- Переменная
al
делится наc
- Выполняется операция вычитания
bl-al
- Переменная
al
присваивается значение8*d
- Выполняется операция сложения
al+bl
- Значение
al
присваивается переменнойy
- Код выполняет переход в конечную подпрограмму
- Код возвращает управление операционной системе
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д