НВ
Наталия Васюкова

Ассемблер. Что делает каждая строка в коде?

Здравствуйте!
Прошу вашей помощи.
Что делает каждая строка в этом коде?
MASM
MODEL SMALL

.DATA
D DB 0
buf DB 3, 0, 0, 0, 0, 0
text DB 'vvedite symvol$'
.STACK 256

.CODE
MAIN PROC
MOV AX,@DATA
MOV DS, AX
MOV AH, 9
MOV DX, OFFSET text
INT 21H
MOV AH,1
INT 21H
MOV D,AL

MOV AH,6
MOV DL,10
INT 21H

MOV AH,6
MOV DL,13
INT 21H

MOV AL,D
ADD AL,AL
MOV AH,6
SUB AL,30H
MOV DL,AL
INT 21H
MOV AX, 4C00H
INT 21H
MAIN ENDP
END MAIN
Спасибо за внимание.

ЕР
Елена Рогалева

1 - чем транслировать
2 - модель памяти
блок .дата - описание массива данных
блок .коде - собственно, программа.
которая, примерно, пишет на экране приглашение "введите символ" и принимает его с клавиатуры.
команды MOV - перемещение данных с одного места в другое, int 21h - вызов досовского 21-го прерывание - оно выполняет большинство функций ДОС. Все зависит от регистров (которые и были подготовлены командами MOV)

КР
Кай Романо

Те строки что с MOV, они что-то записывают в регистр или копируют регистры.
INT вызывает прерывание биоса. В современных ОС не работает.
ADD складывает, а SUB вычитает.

Похожие вопросы
Переворот строки на ассемблере.
Ассемблер, вывод строки
Вставка ассемблера в код C++
Ассемблер (MASM). Как изменить код программы, чтобы можно было вводить строку с клавиатуры?
За что отвечает каждая строка кода?
Ассемблер. Что делает каждая строка в коде?
Ассемблер. Помогите разобраться с кодом
Как перевести машинный код в язык ассемблера
нужен код на ассемблере
ассемблер, длина строки (код в описании)