Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)

Реферат Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)





1h

mov word ptr cs: old_2fh, bx; Збережемо зміщення системного обробника

mov word ptr cs: old_2fh +2, es; Збережемо сегмент системного обробника

; Заповнимо вектор 2fh

mov ax, 252fh; Функція встановлення вектора переривання 2fh

mov dx, offset new_2fh; Зсув нашого обробника

int 21h

; Збережемо вектор 09h

mov ax, 3509h; Функція отримання вектора 09h

int 21h

mov word ptr cs: old_09h, bx; Збережемо зміщення системного обробника

mov word ptr cs: old_09h +2, es; Збережемо сегмент системного обробника

; Заповнимо вектор 09h

mov ax, 2509h; Функція встановлення вектора переривання 09h

mov dx, offset new_09h; Зсув нашого обробника

int 21h

mov ah, 4eh; Функція пошуку файлу

lea dx, filename; DS: DX В¬ ASCIIZ імені файлу

int 21h

cmp ax, 12h; Файл не знайдено?

je creat; Так, створимо файл

call div2_f; Ні, виклик процедури відкриття файлу і запису в нього поточної дати і часу

jmp by; Перехід на мітку by

creat: call div_f; Виклик процедури створення файлу

; Виведемо на екран інформаційне повідомлення

by: mov ah, 09h; Функція виведення на екран

lea dx, mes; DS: DX В¬ адреса рядка

int 21h

mov ax, 3100h; Функція В«завершитися і залишитися резидентним В»

mov dx, (end_res-main +10 fh)/16; Розмір в параграфах

int 21h

installed:

cmp flag, 1; Запит на вивантаження встановлений?

je unins; Так, на вивантаження

; Виведемо на екран інформаційне повідомлення

mov ah, 09h; Функція виведення на екран

lea dx, mes1; DS: DX В¬ адреса рядка

int 21h

; Виведемо застережливий звуковий сигнал

mov cx, 5; Кількість гудків

mov ah, 02h; Функція виведення на екран

l: mov dl, 07h; ASCII код зумера

int 21h

loop l; Повторимо CX раз

mov ax, 4c01h; Функція завершення з кодом повернення

int 21h

unins:

; Перешлемо в першу (резидентну) копію програми запит на вивантаження

mov ax, 0f101h; Наша функція з підфункції вивантаження

int 2fh; Мультиплексне переривання

; Виведемо на екран інформаційне повідомлення

mov ah, 09h; Функція виведення на екран

lea dx, mes2; DS: DX В¬ адреса рядка

int 21h

mov ax, 4c00h; Функція завершення програми

int 21h

buf db 'Skencode & Klav_flag file', 0ah, 0dh

buflen equ $-buf

mes db 'Program installed $'

mes1 db 'Program already installed $'

mes2 db 'Program is DIE $'

init endp

text ends

end main

В 


















3.4. Рекомендації з поліпшенню

- Головним недоліком цієї програми ...


Назад | сторінка 22 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Вектор-функція. Поняття кривої, лінії і поверхні. Диференціальна геометрі ...
  • Реферат на тему: Виведення на екран поточного каталогу в графічному режимі (з скролінгом)
  • Реферат на тему: Функція y = ax ^ 2 + bx + c
  • Реферат на тему: Репродуктивна функція сім'ї
  • Реферат на тему: Нирки і їх функція