Арифметика на Ассемблере - Assembler
Формулировка задачи:
Начинаю программировать на ассемблере в институте, 1 неделя. Нужна программа для арифметических действий, +,-,*,/. Читаю Абеля, но без объяснения мало, что понятно, принимаю любое исполнение кода, но с комментами. Заранее благодарен.
Решение задачи: «Арифметика на Ассемблере»
textual
Листинг программы
.model small .stack 100h .data a db 9 b db 7 c db 2 pr db ? kyb db ? chast db ? .code mov ax, @data mov ds, ax mov al, a mul b mov bl, b mul b mul b mov cl,a cbw idiv c mov ah, 4ch int 21h End
Объяснение кода листинга программы
- Объявлены переменные: a, b, c, pr, kyb, chast
- Задано значение переменной a равное 9
- Задано значение переменной b равное 7
- Задано значение переменной c равное 2
- Переменная pr не имеет начального значения
- Переменная kyb не имеет начального значения
- Переменная chast не имеет начального значения
- Код перемещает точку входа в программу в сегмент данных (переменная ax содержит адрес сегмента данных, переменная ds содержит базовый адрес сегмента данных)
- Код помещает значение переменной a в регистр al
- Выполняется операция умножения над содержимым регистра al и переменной b (результат будет помещен в регистр ax)
- Значение переменной b помещается в регистр bl
- Выполняется операция умножения над содержимым регистра bl и переменной b (результат будет помещен в регистр ax)
- Значение переменной b помещается в регистр bl
- Выполняется операция умножения над содержимым регистра bl и переменной b (результат будет помещен в регистр ax)
- Значение переменной b помещается в регистр bl
- Результат предыдущей операции умножения помещается в регистр cl
- Выполняется операция деления с остатком над регистрами ax и c (результат будет помещен в регистры ax и dx)
- Значение 4ch помещается в регистр ah
- Выполняется функция прерывания 21h
- Код завершения программы помещается в конец файла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д