T
tearofwolf
Есть программа, чтоб сдать экзамен надо объяснить её преподу, но с этим совсем беда. Помогите, пожалуйста, закомментировать её по максимуму, чтоб смогла объяснить:
.model tiny
.386
.code
org 100h
start:
mov ax,3
int 10h
mov ax,0b800h
mov es,ax
xor si,si
mov dh,0 ;bl 13-pink; 14-yellow;15 - white
mov dl,15 ;wh 7-green; 9-blue;2-darkgeen;3 - blue-grey;5-violet;6-darkyellow;11-aqua;12 - red;
mov cx,8
stolb:
push cx
;1-а строка
mov cx,8
line:
push cx
mov cx,2
;color
cmp ah,dl ;wh
je nx
mov ah,dl ;wh
jmp kub
nx:
mov ah,dh ;bl
kub:
mov byte ptr es:[si],0dbh
inc si
mov byte ptr es:[si],ah
inc si
loop kub
pop cx
loop line
pop cx
xchg dh,dl
mov ah,1 ;sboi
add si,128
loop stolb
call TIMER
xor si,si
mov cx,8
xchg dl,dh
add ah,7 ;определение цвета для нового кадра
jmp stolb
;цикл бесконечный, поэтому нет выхода из программы
TIMER proc
push es
mov ax,40h
mov es,ax
mf:
mov al,byte ptr es:[40h]
sub al,80 ;чем больше значение тем дольше (не более 0ffh или 255d)
ms:
cmp al,byte ptr es:[40h]
jle ms
pop es
ret
TIMER endp
jmp exit
; end start
exit: mov ah, 4Ch
int 21h
end start
.model tiny
.386
.code
org 100h
start:
mov ax,3
int 10h
mov ax,0b800h
mov es,ax
xor si,si
mov dh,0 ;bl 13-pink; 14-yellow;15 - white
mov dl,15 ;wh 7-green; 9-blue;2-darkgeen;3 - blue-grey;5-violet;6-darkyellow;11-aqua;12 - red;
mov cx,8
stolb:
push cx
;1-а строка
mov cx,8
line:
push cx
mov cx,2
;color
cmp ah,dl ;wh
je nx
mov ah,dl ;wh
jmp kub
nx:
mov ah,dh ;bl
kub:
mov byte ptr es:[si],0dbh
inc si
mov byte ptr es:[si],ah
inc si
loop kub
pop cx
loop line
pop cx
xchg dh,dl
mov ah,1 ;sboi
add si,128
loop stolb
call TIMER
xor si,si
mov cx,8
xchg dl,dh
add ah,7 ;определение цвета для нового кадра
jmp stolb
;цикл бесконечный, поэтому нет выхода из программы
TIMER proc
push es
mov ax,40h
mov es,ax
mf:
mov al,byte ptr es:[40h]
sub al,80 ;чем больше значение тем дольше (не более 0ffh или 255d)
ms:
cmp al,byte ptr es:[40h]
jle ms
pop es
ret
TIMER endp
jmp exit
; end start
exit: mov ah, 4Ch
int 21h
end start