Всем привет. Программа выводит область памяти биоса(работает верно) незнаю как сделать выход из программы при нажатии на клавишу esc..подскажите пожалуйста кто знает.
codesg segment para 'code'
assume cs:codesg,ds:codesg,ss:codesg,es:codesg
org 100h
begin: jmp main
tabl db '0123456789ABCDEF'
main proc near
mov cx,25000
mov ax, 0
mov es, ax
m3: push cx
mov ah,02
mov bh,00
mov dh,0
mov dl,0
int 10h
mov si,0400h
mov cx,16
m2: push cx
mov cx,16
m1: push cx
lea bx,tabl
mov al,es:[si]
and al,0f0h
shr al,4
xlat
mov ah,09h
mov bh,00
mov bl,07h
mov cx,1
int 10h
mov ah,03
mov bh,00
int 10h
inc dl
mov ah,02h
mov bh,00
int 10h
lea bx,tabl
mov al,es:[si]
and al,0fh
xlat
mov ah,09h
mov bh,00
mov bl,07h
mov cx,1
int 10h
mov ah,03
mov bh,00
int 10h
inc dl
mov ah,02h
mov bh,00
int 10h
mov ah,09h
mov al,' '
mov bh,00
mov bl,07h
mov cx,1
int 10h
mov ah,02h
mov bh,00
inc dl
int 10h
inc si
pop cx
loop m1
mov ah,03
mov bh,00
int 10h
mov ah,02
mov bh,00
inc dh
mov dl,0
int 10h
pop cx
loop m2
pop cx
dec cx
cmp cx,0
je ex
mov ah, 0
add dx, 91
int 1Ah
add dx, 91
mov bx, dx
repeat: int 1Ah
cmp dx, bx
jne repeat
jmp m3
ex: ret
main endp
codesg ends
end begin
Перед выходом:
pause:
mov ah,8
int 21h
cmp al,27
jne pause
add dx, 91
mov bx, dx
repeat:
;------------------------------
mov ah,1
int 16h
jz no_key
xor ax,ax
int 16h
cmp al,27
je ex
jmp repeat
no_key:
xor ax,ax
int 1Ah
cmp dx, bx
jb repeat
;------------------------------
jmp m3
ex: ret