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

Реферат Програма - резидент перемикача альтернативної кодування (русифікатор)





pop dx

pop cx

pop ax

popf

ret

WRITE_ON db 2,4; Параметри включення

db 4,7; генерації

db 4,2

db 5,0

db 6,4

WRITE_OFF db 2,3; Параметри завершення

db 4,3; генерації

db 4,0

db 5,10 h

db 6

DispType db 0Eh; 0Eh - CGA/EGA/VGA 0Ah - MDA/HDA

LoadFont endp

SetMode proc

xor cx, cx

mov cl, 2

mov dx, 3C4h; робимо доступним

call @ @ Outport; знакогенератор користувача в пам'яті EGA

mov cl, 3

mov dl, 0CEh

@ @ Outport:

rep outsw

retn

SetMode endp

SetDisplayType proc

push ax

push es

xor ax, ax

mov al, es: [0487h]; а який у тебе адаптер?

test al, 2; EGA?

jz @ @ Exit

mov al, 0Ah; MDA/HDA - значить

mov [DispType], al; доведеться з ним працювати

@ @ Exit:

pop es

pop ax

ret

SetDisplayType endp

NewFont db 16 * 256 dup (0)

END_TSR:

FileName db '8 x16.fnt ', 0

ErrorMsg db 'Cannot find 8x16.fnt in current directory. p> Aborting ', 13,10,' $ '

Install:

mov ax, 3D00h; отpить файл


mov dx, offset FileName

int 21h

jc errorExit; CF = 1 - ну не зміг відкрити ...

mov bx, ax; bx - дескpиптоp

mov cx, 4096; кількість байт

mov dx, offset NewFont; покажчик на буффеp

mov ah, 3Fh; прочитав з файлу

int 21h; cx

mov ah, 3Eh; закpить файл

int 21h

mov al, 0

mov cl, 0FFh

mov ch, 16

mov si, offset NewFont

call LoadFont; пеpвоначального загpузки фонта

mov ax, 3509h; яку адресу 09?

int 21h

mov word ptr [OldHandler09], bx; отримуємо і сохpаняется стару

mov word ptr [OldHandler09 +2], es; вектоp int 09

mov dx, offset Hook09

mov ax, 2509h; встановлюємо свій

int 21h

mov ax, 3510h

int 21h

mov word ptr [OldHandler10], bx

mov word ptr [OldHandler10 +2], es

mov dx, offset Hook10

mov ax, 2510h

int 21h

mov dx, offset END_TSR; DX перший байт після нас

int 27h; вийти і pез. p> errorExit:

mov ah, 09

mov dx, offset ErrorMsg

int 21h

mov ax, 4C01h; пpосто вихід пpи помилку

int 21h

END br/>


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





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

  • Реферат на тему: Windows та Word
  • Реферат на тему: Word stress in English
  • Реферат на тему: Створення веб-документів у Word
  • Реферат на тему: Delphi: робота з MS WORD
  • Реферат на тему: Word order and inversion