8.3INTERRUPT 016H

Một phần của tài liệu Giáo trình ngôn ngữ assembly (Trang 53 - 54)

- bàn phím 101 phím cụa IBM PC/AT

8.3INTERRUPT 016H

Đeơ giúp các chương trình có theơ truy nhaơp đên bàn phím moơt cách deê dàng,BIOS cung câp moơt sô các chức naíng đơn giạn và thuaơn tieơn thođng qua interrupt 016h.

Interrupt 016h cung câp các chức naíng caín bạn sau :

8.3.1Đĩc keyboard buffer

Input : AH = 0

Output : AH = scan code

AL = ASCII code (0 nêu là phím đaịc bieơt)

Đĩc moơt phím từ keyboard buffer,nêu chưa có phím trong keyboard buffer sẽ chờ cho đên khi có phím gõ vào ( do interrupt 09h caơp nhaơt ).Khi đĩc sẽ “xóa” luođn mã phím trong keyboard buffer ( Chư caơp nhaơt KBD-head chứ khođng thay đoơi thođng tin trong keyboard buffer).

8.3.2Kieơm tra keyboard buffer

Input : AH = 01

Output : ZF = 1 : khođng có phím nào trong keyboard buffer. ZF = 0 : đã có phím trong keyboard buffer,

AH = scan code, AL = ASCII code

Kieơm tra keyboard buffer, nêu keyboard buffer khođng trông thì đĩc như chức naíng 0 nhưng khođng caơp nhaơt lái KBD-head.

8.3.3Đĩc keyboard status byte

Input : AH = 02

Output : AL = status byte ( thođng tin như neđu ở phaăn tređn )

Đĩc status byte tái địa chư 0000:0417h

Chú ý raỉng chức naíng 01 cụa interrupt 021h đã sử dúng interrupt 016h đeơ đĩc bàn phím, và chư cho lái byte thâp cụa phím gõ vào. Vì vaơy, sử dúng interrupt 016h đeơ đĩc bàn phím là phương pháp tôt nhât cho các chương trình Assembler.

8.3.4Mã cụa moơt sô các phím đaịc bieơt :

(giá trị AX sau khi đĩc baỉng chức naíng 0 hay 1 cụa interrupt 016h)

Cursor-up equ 04800h F1 equ 03B00h

Cursor-down equ 05000h F2 equ 03C00h

Cursor-left equ 04B00h F3 equ 03D00h

Cursor-right equ 04D00h F4 equ 03E00h

ESC-key equ 0011Bh F5 equ 03F00h

Enter-key equ 01C0Dh F6 equ 04000h

Ins-key equ 05200h F7 equ 04100h

Del-key equ 05300h F8 equ 04200h

Backspace equ 00E08h F9 equ 04300h

Home-key equ 04700h F10 equ 04400h

End-key equ 04F00h PgUp-key equ 04900h Ctrl-left equ 07300h PgDn-key equ 05100h Ctrl-right equ 07400h Ctrl-Home equ 07700h Ctrl-PgUp equ 08400h Ctrl-End equ 07500h

Ctrl-PgDn equ 07600h Ctrl-F1 equ 05E00h

Alt-F1 equ 06800h Ctrl-F2 equ 05F00h

Alt-F2 equ 06900h Ctrl-F3 equ 06000h

Alt-F3 equ 06A00h Ctrl-F4 equ 06100h

Alt-F4 equ 06B00h Ctrl-F5 equ 06200h

Alt-F5 equ 06C00h Ctrl-F6 equ 06300h

Alt-F6 equ 06D00h Ctrl-F7 equ 06400h

Alt-F7 equ 06E00h Ctrl-F8 equ 06500h

Alt-F8 equ 06F00h Ctrl-F9 equ 06600h

Alt-F9 equ 07000h Ctrl-F10 equ 06700h

Alt-F10 equ 07100h

Một phần của tài liệu Giáo trình ngôn ngữ assembly (Trang 53 - 54)

Tải bản đầy đủ (PDF)

(114 trang)