TASM арифметические выражения - Assembler
Формулировка задачи:
Составьте программу, вычисляющую значение арифметического выражения. Результат выведите в шестнадцатеричном и двоичном виде
f=(x*y-a*b)/(a+b)
x = 40
y = 65
a = 25
b = 16
Доброй ночи, помогите реализовать задание человеку, что мало чего смыслит в этом деле, нужно понять алгоритм действий в принципе, решение не обязательно, но было бы здорово, заранее благодарю
Решение задачи: «TASM арифметические выражения»
textual
Листинг программы
.model small .data x db 40 y db 65 a db 25 b db 16 .stack 100h .code start: mov ax,@data mov ds,ax mov al,a mul b xchg ax,bx mov al,x mul y sub ax,bx mov bl,b add bl,a div bl mov ah,4Ch mov al,00h int 21h end start
Объяснение кода листинга программы
- .model small — указывает на модель сегментной памяти, в данном случае модель small, что позволяет использовать сегменты для данных и кода размером 16 бит.
- .data — раздел для определения данных.
- x db 40 - определение переменной x со значением 40.
- y db 65 - определение переменной y со значением 65.
- a db 25 - определение переменной a со значением 25.
- b db 16 - определение переменной b со значением 16.
- .stack 100h — указывает на размер стека в 100 байт.
- .code — раздел для определения кода.
- start: — определяет точку входа в программу.
- mov ax,@data — перемещает значение сегмента данных в регистр ax.
- mov ds,ax — делает сегмент данных равным значению регистра ax.
- mov al,a — перемещает значение переменной a в регистр al.
- mul b — выполняет умножение значения регистра al на значение переменной b.
- xchg ax,bx — меняет значения регистра ax и bx.
- mov al,x — перемещает значение переменной x в регистр al.
- mul y — выполняет умножение значения регистра al на значение переменной y.
- sub ax,bx — выполняет вычитание значения регистра bx из значения регистра ax.
- mov bl,b — перемещает значение переменной b в регистр bl.
- add bl,a — выполняет сложение значения регистра bl и значения переменной a.
- div bl — выполняет деление значения регистра bl на значение переменной bl.
- mov ah,4Ch — перемещает значение 4Ch в регистр ah.
- mov al,00h — перемещает значение 00h в регистр al.
- int 21h — выполняет ввод-вывод в систему.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д