Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 457
от 27.05.2006, 02:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 336, Экспертов: 22
В номере:Вопросов: 1, Ответов: 1


Вопрос № 43794: Не могли бы вы мне помочь, я начинаюший программист и у меня возникла проблема в написании резидентного обработчика прерывания клавиатуры, которая при нажатии определенных клавиш выводит текущее время Заранее благодарю! С Уважением Ирин...

Вопрос № 43.794
Не могли бы вы мне помочь, я начинаюший программист и у меня возникла проблема в написании резидентного обработчика прерывания клавиатуры, которая при нажатии определенных клавиш выводит текущее время
Заранее благодарю!

С Уважением Ирина!
Отправлен: 22.05.2006, 01:49
Вопрос задала: Solnce (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Пан Павел Константинович
Здравствуйте, Solnce!

Вот код только ща написал увлекательно было.

Программа Работает так:

Вы запускаете программу ОНА становиться резидентной, затем вы открываете в ДОС'e программу edit.com (Cпутьedit.com), затем нажимаете кнопку F4 после чего у вас появиться время типа 03:33 т.е. резидент реагирует на нажатие кнопки F4.

ЗАМЕТКА: Код не комментирован и не оптимезирован в Целях не предастовления ЕГО, как выполненая Лабораторная Работа В Учебных заведениях.

Код ниже.

CSEG segment
assume cs:CSEG,ds:CSEG,ss:CSEG,es:CSEG
org 100h
.286
Begin:
jmp Init

Int_09h_proc proc

cli
pusha

in al,60h
cmp al,3eh
jne @@2
;===========================
mov ah,02h
int 1ah
xor dx,dx
;===========================
@1:
;ch = 03 (Hours)
;cl = 33 (Minute)
;Example: 03:33
mov al,ch
shr al,04h
add al,30h
int 29h
;===========================
mov al,ch
and al,0fh
add al,30h
int 29h
cmp dl,01h
je @@2
;===========================
mov al,':'
int 29h
;===========================
xchg cl,ch
inc dx
jmp @@1
;===========================
@2:
popa
sti
jmp dword ptr cs:[Int_09h_vect]
Int_09h_vect dd ?
Int_09h_proc endp
;=========================
Init:
mov ax,3509h
int 21h
mov word ptr Int_09h_vect,bx
mov word ptr Int_09h_vect+2,es
mov ax,2509h
mov dx,offset Int_09h_proc
int 21h

mov ah,9
mov dx,offset MessAJ
int 21h

mov dx,offset Init
int 27h

MessAJ db 'Resident Set!$'
CSEG ends
end Begin
С, Уважением MnEm0n!C.


---------
Hello Worlds
Ответ отправил: Пан Павел Константинович (статус: 9-ый класс)
Ответ отправлен: 22.05.2006, 13:28


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.33 от 25.05.2006
Яндекс Rambler's Top100

В избранное