Управление клавиатурой
This presentation is the property of its rightful owner.
Sponsored Links
1 / 7

Управление клавиатурой PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on
  • Presentation posted in: General

Управление клавиатурой. Scan- код нажатия: 1 < номер клавиши > Scan- код отпускания: 11110000 0< номер клавиши >. Физический буфер клавиатуры. 20 байт. (Порт 60 h ). int 9h. Байт состояния. Выполнение команд ( CTRL-ALT-DEL ). Scan -код, код ASCII 0, расширенный scan- код.

Download Presentation

Управление клавиатурой

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


4370481

Управление клавиатурой

Scan-код нажатия:1<номер клавиши>

Scan-код отпускания:

11110000 0<номер клавиши>

Физический

буфер

клавиатуры

20 байт

(Порт 60h)

int 9h

Байт

состояния

Выполнение

команд

(CTRL-ALT-DEL)

Scan-код, код ASCII

0, расширенный scan-код

Буфер BIOS

клавиатуры

32байта

int 16h

int 21h


4370481

Программирование порта клавиатуры

Первый разряд

порта 61h

Code segment

assume CS:Code

int_9h proc far

push AX

in AL,60h

push AX

in AL,61h

mov AH,AL

or AL,80h

out 61h,AL

mov AL,AH

out 61h,AL

pop AX

<обработка>

mov AL,20h

out 20h,AL

pop AX

iret

...

1

t

0


4370481

Байт состояния клавиатуры

7 – 1 – режим вставки (Insert);

6 – 1 – режим прописных букв (CapsLock);

5 – 1 – режим цифровой клавиатуры (NumLock);

4 – 1 – режим прокрутки (ScrollLock);

3 – 1 – Alt –нажата;

2 – 1 – CTRL – нажата;

1 – 1 – левый Shift – нажата;

0 – 1 – правый Shift – нажата

Байт

417h

7 – 1 – Insert – нажата;

6 – 1 –CapsLock – нажата;

5 – 1 –NumLock– нажата;

4 – 1 –ScrollLock– нажата;

3 – 1 – режим паузы (CTRL - NumLock);

2

1

0

Байт

418h


Int 16h

Драйвер клавиатуры int 16h

Функции:

Пример:

чтение символас клавиатуры

mov AH,0

int 16h


Int 21h

Ввод расширенного кода посредством int 21h

mov AH,8 ; читаем символ

int 21h

cmp AL,0; расширенный код?

jne Error ; если нет, то ошибка

mov AH,8; читаем расш. код

int 21h


Int 9h alt ex4 1

code segment

assume CS:code,DS:code

org 100h

begin: jmp start

OLD_VEC label DWORD

IP_OLD DW ?

CS_OLD DW ?

tsr_9: pushf

call CS:OLD_VEC

push AX

push ES

mov AX,0

mov ES,AX

mov AL,ES:[417h]

and AL,00001000B

cmp AL,00001000B

jne A1

push CX

push BX

push SI

mov AX,0B800h

mov ES,AX

mov SI,1

mov CX,2000

cycle: mov AL,ES:[SI]

xor AL,00001000B

mov ES:[SI],AL

inc SI

inc SI

loop cycle

pop SI

pop BX

pop CX

A1: pop ES

pop AX

iret

Обработчик int 9hИнвертирование яркости по нажатию ALT (Ex4_1)


4370481

Инсталлятор

start: mov AX,3509h

int 21h

mov IP_OLD,BX

mov CS_OLD,ES

mov AX,2509h

lea DX,tsr_9

int 21h

lea DX,start

int 27h

code ends

end begin


  • Login