Вычисление выражения по формуле. - 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
- Код выполняет переход в конечную подпрограмму
- Код возвращает управление операционной системе
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д