Комментирование программы Ассемблер
Помогите, пожалуйста, написать комментарии к программе. Несколько строк закомментировано, в остальных я разобраться не могу. Буду благодарна! Заранее спасибо за пояснения.
OutStr macro str ;макрос вывода строки
push dx ; сохранение байта в стеке
mov ah,09h ; Заносим значение 09h в регистр ah
lea dx,str ; загружаем в регистр адрес переменной
int 21h ; Указываем, что это прерывание DOS 21h
pop dx ; извлечение байта из стека
endm
;----------------------------------------
OutChar macro char ;макрос вывода символа
push ax
push dx
mov ah,06h
mov dl,char ;значение вводится в память
add dl,30h ; сложение двух РОН
int 21h
pop dx
pop ax
endm
;----------------------------------------------------------------------------------------------------
Decomposition macro time ;макрос разложения двузначного числа (16-ного) на цифры и вывода их на экран
push bx
mov bh,time ;используется bx
mov bl,time
and bh,11110000b ; логическое И
shr bh,4h ; сдвиг содержимого вправо
and bl,00001111b
OutChar bh
OutChar bl
pop bx
endm
;-----------------------------------------------------------------------------------------------------
.model small
.stack 100h
.data
M1 DB ':$'
M2 DB 'Current time....$'
M3 DB '',10,13,'$'
.code
start:
mov ax,@DATA ;инициализация
mov ds,ax
xor ax,ax
mov ah,2h ;получение времени
int 1Ah
Decomposition ch ;ch - часы
OutStr M1
Decomposition cl ;cl - минуты
OutStr M1
Decomposition dh ;dh - секунды
OutStr M3
exit:
mov ax,4C00h
int 21h
END start
Вот так делаешь
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=справка+ассмблер++push
и находишь все команды.
Но, из моего опыта, это не помогает для сдачи.