1、INT 17H(打印機I/O調用)
INT 17H中斷處理程序有三個功能:
當AH=0時,把AL中的字符在打印機上打印出來。
當AH=1時,把AL中的初始化控制命令送給打印機。
當AH=2時,把打印機的狀態讀至AL寄存器。
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
忙
|
確認
|
有紙
|
聯機
|
錯誤
|
/
|
/
|
超時
|
MOV BX,OFFSET STRING
MOV CX,count
L1:MOV DX,0
MOV AL,[BX]
MOV AH,0 ;調用INT 17H/0,
INT 17H ;把AL中的字符在打印機上打印出來
INC BX
LOOP L1
count EQU $-STRING
2、INT 16H(鍵盤I/O中斷)
AH=0:從鍵盤讀入ASCII字符,放在AL中。
AH=1:測試有無鍵被按下。ZF=0,表示按過任意鍵,並在AL中獲 得該鍵的ASCII碼。ZF=1,未按過鍵。
AH=2:讀取特殊功能鍵的狀態至AL中。
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Ins
|
CapsLock
|
NumLock
|
ScrollLock
|
Alt
|
Ctrl
|
左Shift
|
右Shift
|
例2
MOV AH,0
INT 16H
3、 INT 1AH (BIOS日期、時間中斷)
AH=0:讀當前時鐘值到CX、DX中。CX爲高位,DX爲低位。時鐘單位是54.9ms(1/18.2秒)(65536000/1193180)。
AH=1:設置當前時鐘值。
例3
計算子程序PROCESS執行的時間。
STI
MOV CX,0
MOV DX,0
MOV AH,1;設置當前時鐘爲0。
INT 1AH
CALL PROCESS
MOV AH,0;讀當前時鐘到CX、DX中。
INT 1AH
將CX、DX中的四字節數除以18.2,得PROCESS執行的時間秒數。