Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена обработчика прерывания int 09h, ...вызов из нового обработчика int 1Bh 
:(
    Опции темы
JUncle
Дата 26.11.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



Здравствуйте!
Нужна помощь.
Задание -  необходимо  модифицировать  обработчик прерывания 09h таким
образом, чтобы клавиша ESC работала бы аналогично Ctrl-C, т.е. вызывала бы прерывание 1bh - прерывание программы.

Все вроде бы сделал, как надо, но не работает ни под emu8086, ни просто в W2K (хотя другое похожее задание, где заменяется тот же обработчик, и "съедается" каждое третье нажатие клавиши "1" работает в обоих случаях).

Код

code segment
start:
    jmp loader
    
body:
    jmp m1
    old1 dw 0
    old2 dw 0
    break1 dw 0
    break2 dw 0
    
m1:        
    in  al, 60h
    cmp al, 1
    jne old    
    
    in  al, 61h
    or  al, 80h
    out 61h,al
    
    in  al, 61h
    and al, 0BFh                                        
    out 61h,al
    
    mov al, 20h
    out 20h, al
                             
    jmp dword ptr cs:[break1]
    
old:
    jmp dword ptr cs:[old1]
    
loader:
    push cs
    pop ds
    mov ax, 3509h
    int 21h
    mov word ptr cs:[old1], bx
    mov word ptr cs:[old2], es
    
    mov ax, 2509h
    lea dx, body
    int 21h    
    
    mov ax, 351Bh
    int 21h
    mov word ptr cs:[break1], bx
    mov word ptr cs:[break2], es
    
    mov dx, 50
    mov ax, 3100h
    int 21h 
    
ends

end start ; set entry point and stop the assembler.

--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.