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

Реферат Обробка програмних і апаратних переривань в IBM PC сумісних комп'ютерах за допомогою резидентних програм





неактивний)

mov active, AL

: AX ES

iret


; обробник мультиплексного переривання 2FhFHandler: AX, 0CDBAh; порівняти з магічним значеніемnextRetryAL, 0FFh; збігається - занести в AL сигнал 0FFh; і відразу повернення з переривання

: CS: old2F; перейти на збережений обробник


; процедура зсуву палаючої лампочки на 1

; код лампочки в light_light proc nearAL, lightAL, 1; shift to right AL, 70h; виділяємо біти лампочок - 01110000bnot_shifted; якщо якась лампочка горить - перехід

mov AL, 40h; інакше встановити 01000000b-CapsLock On

_shifted: light, AL_light endp


; процедура установки палаючої лампочки

; код лампочки зберігається в light

set_light proc nearAX, AXES, AXAL, ES: [0417h]

and AL, 8Fh; очищаємо біти лампочок, зберігаємо решта бітиAL, light; ставимо маску горищах лампочок

mov ES: [0417h], AL_light endp


end_resident:; мітка для визначення розміру резидентної частини програми


; ================================================== ==============================

; транзитна частина програми

:

; 1. перевірка встановленої програми

AX, 0CDBAh; магічне значеніе2Fh; виклик мультиплексного прериваніяAL, 0FFhinstalled; вже встановлена ??- на вихід


; 2. установка програми:

; перехоплення вектора 09h

AX, 3509h; отримання адреси старого обробника

Додаток Г

(обов'язковий) 21hword ptr old09, BX; збереження зміщення обработчікаword ptr old09 + 2, ES; збереження сегмента обработчікаAX, 2509h; установка адреси нашого обработчікаDX, offset int09Handler; вказівку зміщення нашого обработчіка21h


; перехоплення вектора 2Fh

AX, 352Fh; отримання адреси старого обработчіка21hword ptr old2F, BX; збереження зміщення обработчікаword ptr old2F + 2, ES; збереження сегмента обработчікаAX, 252Fh; установка адреси нашого обработчікаDX, offset int2FHandler; вказівку зміщення нашого обробника

int 21h


; включити лампочку NumLock

set_light


mov AH, 09h; вивід на екран успішного повідомлення

mov DX, offset DoneResident

int 21h


; установка резидентом

AX, 3100h; функція DOS завершення резидентної программиDX, (end_resident - start + 10Fh)/16; визначення розміру резидентної частини програми в параграфах21h

: AH, 09h; вивід на екран лайливого повідомлення

mov DX, offset JustInstalledMsg21h

mov AX, 4C01h; завершити нерезідентно21h


JustInstalledMsg db Programma uzhe ustanovlena! raquo ;, 13, 10, $ db Programma ostalas rezidentno. raquo ;, 13, 10, $


code ends; кінець кодового сегментаstart; кінець програми



Додаток Д


(обов'язковий)


Назад | сторінка 5 з 5





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

  • Реферат на тему: Цільові комплексні програми збереження і розвитку соціокультурної сфери
  • Реферат на тему: Аналіз реалізації державної програми збереження і розвитку культури Республ ...
  • Реферат на тему: Культурно-розважальні програми на російському телеекрані (на прикладі прогр ...
  • Реферат на тему: Створення програми, що включає всі програми лабораторних робіт
  • Реферат на тему: Порівняльний аналіз програми Занкова і традиційної програми