IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> Дамп памяти Bios, Выход из программы при нажатии на клавишу ESC.
сообщение
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Всем привет. Программа выводит область памяти биоса(работает верно) незнаю как сделать выход из программы при нажатии на клавишу 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Перед выходом:
pause:
	mov ah,8
	int 21h
	cmp al,27
	jne pause


Не, все хуже.

Сообщение отредактировано: xds -


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


        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
 


Сообщение отредактировано: xds -


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.01.2025 2:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name