天天看點

中斷向量位址一覽表

一 .8088 中斷向量 一.8088中斷向量
0-3 4-7 8-B C-F 10-13 14-17 18-1F 0 1 2 3 4 5 6,7 除以零 單步 ( 用于 DEBUG) (用于DEBUG) 非屏蔽中斷 斷點指令 溢出 列印螢幕 保留
二 .8259 中斷向量 .8259中斷向量
20-23 24-27 28-2B 2C-2F 30-33 34-37 38-3B 3C-3F 8 9 A B C D E F 定時器 鍵盤 彩色 / 圖形 異步通訊 (secondary) /圖形 異步通訊 (secondary) (secondary) 異步通訊 (primary) (primary) 硬磁盤 軟磁盤 并行列印機
三 .BIOS 中斷 .BIOS中斷
40-43 44-47 48-4B 4C-4F 50-53 54-57 58-5B  5C-5F  60-63  64-67  68-6B     10 11 12 13 14 15 16 17  18  19  1A     螢幕顯示 裝置檢驗 測定存儲器容量 磁盤 I/O I/O 串行通訊口 I/O I/O 盒式錄音帶 I/O
鍵盤輸入
I/O
鍵盤輸入
列印機輸出   BASIC 入口代碼 引導裝入程式 日時鐘   BASIC 入口代碼 引導裝入程式 日時鐘 入口代碼 引導裝入程式 日時鐘
四 . 提供給使用者的中斷 .提供給使用者的中斷
6C-6F 70-73 1B 1C Ctrl-Break 控制的軟中斷 定時器控制的軟中斷 控制的軟中斷 定時器控制的軟中斷
五 . 資料表指針 .資料表指針
74-77 78-7B 7C-7F 1D 1E 1F 顯示器參量表 軟碟參數表 圖形表
六 .DOS 中斷 .DOS中斷
80-83 84-87 88-8B 8C-8F  20 21 22 23
程式結束
系統功能調用
結束退出   
Ctrl-Break退出 Ctrl-Break退出
  Ctrl-Break退出
90-93 94-97 98-9B 9C-9F  A0-BB BC-BF BC-BF C0-FF  C0-FF  24 25 26 27     28-2E      2F 30-3F
嚴重錯誤處理
絕對磁盤讀功能
絕對磁盤寫
駐留退出  
DOS保留
列印機 DOS保留
駐留退出  
DOS保留
列印機 DOS保留
七.BASIC中斷
100-17F 180-19F 1A0-1FF 200-217 218-3C3 3C4-3FF 40-5F 60-67 68-7F 80-85 86-F0 F1-FF
保留
使用者軟中斷 保留 由 BASIC 保留 BASIC保留 BASIC 中斷 保留 中斷 保留

DOS功能調用

AH 功 能 調 用 參 數 返 回 參 數
00 程式終止 (同INT 20H) CS=程式段字首
01 鍵盤輸入并回顯 AL=輸入字元
02 顯示輸出 DL=輸出字元
03 異步通訊輸入 AL=輸入資料
04 異步通訊輸出 DL=輸出資料
05 列印機輸出 DL=輸出字元
06 直接控制台I/O DL=FF(輸入) DL=字元(輸入)
07 鍵盤輸入(無回顯) AL=輸入字元
08 鍵盤輸入(無回顯) 檢測Ctrl-break AL=輸入字元
09 顯示字元串 DS:DX=串位址"&"結束字元串
0A 鍵盤輸入到緩沖區 DS:DX=緩沖區首位址(DS:DX)=緩沖區最大 (DS:DX+1)=實字元數際輸入的字元數
0B 檢驗鍵盤狀态 AL=00有輸入,AL=FF無輸入
0C 清除輸入緩沖區并請求指定的輸入功能 AL=輸入功能号(1,6,7,8,A)
0D 磁盤複位 清除檔案緩沖區
0E 指定目前預設的磁盤驅動器 DL=驅動器号 AL=驅動器數0=A,1=B,...
0F 打開檔案 DS:DX=FCB首位址 AL=00檔案找到 AL=FF檔案未找到
10 關閉檔案 DS:DX=FCB首位址 AL=00目錄修改成功 AL=FF目錄中未找到檔案
11 查找第一個目錄項 DS:DX=FCB首位址 AL=00找到,AL=FF未找到
12 查找下一個目錄項 DS:DX=FCB首位址(檔案名中帶*或?) AL=00找到,AL=FF未找到
13 删除檔案 DS:DX=FCB首位址 AL=00删除成功, AL=FF未找到
14 順序讀 DS:DX=FCB首位址 AL=00 讀成功 =01 檔案結束, 記錄中無資料 =02 DTA空間不夠 =03 檔案結束,記錄不完整
15 順序寫 DS:DX=FCB首位址 AL=00 寫成功 =01 盤滿 =02DTA空間不夠
16 建檔案 DS:DX=FCB首位址 AL=00 建立成功 =FF 無磁盤空間
17 檔案改名 DS:DX=FCB 首位址(DS:DX+1)=舊檔案名 (DS:DX+17)=新檔案名 AL= 00 成功 = FF 未成功
19 取目前預設磁盤 AL=預設的驅動器 驅動器 号0=A,1=B,2=C,.
1A 置DTA位址 DS:DX=DTA位址
1B 取預設驅動器FAT資訊 AL=每簇的扇區數 DS:BX=FTA辨別位元組 CX=實體扇區的大小 DX=預設驅動器的簇數
1C 取任一驅動器FAT資訊 DL=驅動器号 同上
21 随機讀 DS:DX=FCB首位址 AL=00讀成功 =01檔案結束 =緩沖區溢出 =03緩沖區不滿
22     随機寫 DS:DX=FCB首位址 AL=00成功 =01盤滿 =02緩沖區溢出
23 測定大小 DS:DX=FCB首位址 AL=00成功 檔案長度填入FCB AL=FF未找到
24 設定随機記錄号 DS:DX=FCB首位址
25 設定中斷向量 DS:DX=中斷向量 AL=中斷類型号
26 建立程式段字首 DX=新的程式段的段字首
27 随機分塊讀 DS:DX=FCB首位址 CX=記錄數 AL= 00讀成功 = 01檔案結束 = 02緩沖區太小,傳輸結束 = 03緩沖區不滿 CX=讀取的記錄數
28 随機分塊寫 DS:DX=FCB首位址 CX=記錄數 AL=00寫成功 AL=01盤滿 =02緩沖區溢出
29 分析檔案名 ES:DI=FCB首位址 DS:SI=ASCII串 AL=控制分析标志 AL=00标準檔案 =01多義檔案 =FF非法盤符
2A 取日期 CX=年 DH:DL=月:日(二進制)
2B 設定日期 CX:DH:DL=年:月:日 AL=00成功, AL=FF無效
2C 取時間 CH:CL=時:分 DH:DL=秒:1/100秒
2D 設定時間 CH:CL=時:分 DH:DL=秒:1/100秒 AL=00成功 AL=FF無效
2E 置磁盤自動讀寫标志 AL=00關閉标志 AL=01打開标志
2F 取磁盤緩沖區的首址 ES:BX=緩沖區首址
30 取DOS版本号 AH=發行号,AL=版号
31 結束并駐留 AL=傳回碼, DX=駐留區大小
33 Ctrl-Break檢測 AL=00取狀态 AL=01置狀态(DL) DL=00關閉檢測 =01打開檢測 DL=00關閉Ctrl-Break檢測 =01打開Ctrl-Break檢測
35 取中斷向量 AL=中斷類型 ES:BX=中斷向量
36 取空閑磁盤空間 DL=驅動器号 0=預設,1=A,2=B… … 成功:AX=每簇扇區數,BX=有效簇數,CX=每扇區位元組數,DX=總簇數 失敗:AX=FFFF
38 置/取國家資訊 DS:DX=資訊區首位址 BX=國家碼(國際電話字首碼) AX=錯誤碼
39 建立子目錄(MKDIR) DS:DX=ASCII 串位址 AX=錯誤碼
3A 删除子目錄(RMDIR) DS:DX=ASCII 串位址 AX=錯誤碼
3B 改變目前目錄(CHDIR) DS:DX=ASCII 串位址 AX=錯誤碼
3C 建立檔案 DS:DX=ASCII 串位址 CX=檔案屬性 成功:AX=檔案代号 失敗:AX=錯誤碼
3D 打開檔案 DS:DX=ASCII 串位址 AL=0讀, =1寫,=2讀/寫 成功:AX=檔案代号 失敗:AX=錯誤碼
3E 關閉檔案 BX=檔案号 失敗:AX=錯誤碼
3F 讀檔案或裝置 DS:DX=資料緩沖區位址 BX=檔案代号 CX=讀取的位元組數 讀成功: AX=實際讀入的位元組數AX=0 已到檔案尾 讀出錯:AX=錯誤碼
40 寫檔案或裝置 DS:DX=資料緩沖區位址 BX=檔案代号 CX=寫入的位元組數 寫成功: AX=實際寫入的位元組數 寫出錯: AX=錯誤碼
41 删除檔案 DS:DX=ASCIIZ串位址 成功:AX=00,出錯:AX=錯誤碼(2,5)
42 移動檔案指針 BX=檔案代号 CX:DX=位移量 AL=移動方式(0,1,2) 成功:DX:AX=新指針位置 出錯:AX=錯誤碼
43 置/取檔案屬性 DS:DX=ASCII 串位址 AL=0取檔案屬性 AL=1置檔案屬性 CX=檔案屬性 成功:CX=檔案屬性 失敗:AX=錯誤碼
44 裝置檔案I/O控制 BX=檔案代号 AL=0取狀态 =1置狀态DX =2讀資料 =3寫資料 =6取輸入狀态 =7取輸出狀态 DX=裝置資訊
45 複制檔案代号 BX=檔案代号1 成功:AX=檔案代号2 失敗:AX=錯誤碼
46 人工複制檔案代号 BX=檔案代号1 CX=檔案代号2 失敗:AX=錯誤碼
47 取目前目錄路徑名 DL=驅動器号 DS:SI=ASCIIZ串位址 (DS:SI=ASCIIZ串) 失敗:AX=錯誤碼
48 配置設定記憶體空間 BX=申請記憶體容量 成功:AX=配置設定記憶體首址 失敗:BX=最大可用空間
49 釋放記憶體空間 ES=記憶體起始段位址 失敗:AX=錯誤碼
4A 調整已配置設定的存儲塊 ES=原記憶體起始位址 BX=再申請的容量 失敗:BX=最大可用空間 AX=錯誤碼
4B 裝配/執行程式 DS:DX=ASCIIZ串位址 ES:BX=參數區首位址 AL=0裝入執行 AL=3裝入不執行 失敗:AX=錯誤碼
4C 帶傳回碼結束 AL=傳回碼
4D 取傳回碼 AX=傳回代碼
4E 查找第一個比對檔案 DS:DX=ASCIIZ串位址 CX=屬性 AX=出錯代碼(02,18)
4F 查找下一個比對檔案 DS:DX=ASCII 串位址 (檔案名中帶?或*) AX=出錯代碼(18)
54 取盤自動讀寫标志 AL=目前标志值
56 檔案改名 DS:DX=ASCII 串(舊) ES:DI=ASCIIZ串(新) AX=出錯碼(03,05, 17)
57 置/取檔案目期和時間 BX=檔案代号 AL=0讀取 AL=1設定(DX:CX) DX:CX=日期和時間 失敗:AX=錯誤碼
58 取/置配置設定政策碼 AL=0取碼 =1置碼(BX) BX=政策碼 成功:AX=政策碼 失敗:AX=錯誤碼
59 取擴充錯誤碼 AX=擴充錯誤碼 BH=錯誤類型 BL=建議的操作 CH=錯誤場所
5A 建立臨時檔案 CX=檔案屬性 DS:DX=ASCIIZ串位址 成功:AX=檔案代号 失敗:AX=錯誤碼
5B 建立新檔案 CX=檔案屬性 DS:DX=ASCIIZ串位址 成功:AX=檔案代号 失敗:AX=錯誤碼
5C 控制檔案存取 AL=00封鎖,=01開啟 BX=檔案代号 CX:DX=檔案位移 SI:DI=檔案長度 失敗:AX=錯誤碼
62 取程式段字首位址 BX=PSP位址

* AH=0-2E适用DOS1.0以上版本; AH=2F-57适用DOS2.0以上版本; AH=58-62适用DOS3.0以上版本.

  BIOS中斷
INT AH 功能 調 用 參 數 返 回 參 數
10 設定顯示方式 AL=00 40*25黑白方式 =01 40*25彩色方式 =02 80*25黑白方式 =03 80*25彩色方式 =04 320*200彩色圖形方式 =05 320*200黑白圖形方式 =06 640*200黑白圖形方式 =07 80*25單色文本方式 =08 160*200 16色圖形 =09 320*200 16色圖形 =0A 640*200 16色圖形 =0B 保留(EGA) =0C 保留(EGA) =0D 320*200彩色圖形(EGA) =0E 640*200彩色圖形(EGA) =0F 640*350黑白圖形(EGA) =10 640*350彩色圖形(EGA) =11 640*480單色圖形(EGA) =12 640*480 16色圖形(EGA) =13 320*200 256色圖形(EGA) =40 80*30彩色文本(CGE400) =41 80*50彩色文本(CGE400) =42 640*400彩色文本(CGE400)
10 1 置光标類型 (CH)0-3=光标起始行 (CL)0-3=光标結束行
10 2 置光标位置 BH=頁号,DH,DL=行,列
10 3 讀光标位置 BH=頁号 CH=光标起始行,DH,DL=行,列
10 4 讀光筆位置 AH=0光筆未觸發,=1光筆觸發CH=象素行, BX=象素列,DH=字元行,DL=字元列
10 5 置顯示頁 AL=頁号
10 6 螢幕初始化或上卷 AL=上卷行數,AL=0整個視窗空白BH=卷入行屬性,CH=左上角行号, CL=左上角列号,CH=右下角行号,DL=右下角列号
10 7 螢幕初始化或下卷 AL=下卷行數,AL=0整個視窗空白BH=卷入行屬性,CH=左上角行号,CL=左上角列号,DH=右下角行号,DL=右下角列号
10 8 讀光标位置的字元和屬性 BH=顯示頁 AH=屬性,AL=字元
10 9 在光标位置顯示字元及其屬性 BH=顯示頁,AL=字元,BL=屬性 CX=字元重複次數
10 A 在光标位置顯示字元 BH=顯示頁,AL=字元 CX=字元重複次數
10 B 置彩色調闆(320*200圖形) BH=彩色調闆ID BL=和ID配套使用的顔色
10 C 寫象素 DX=行(0-199) CX=列(0-639) AL=象素值
10 D 讀象素 DX=行(0-199) CX=列(0-639) AL=象素值
10 E 顯示字元(光标前移) AL=字元,BL=前景色
10 F 取目前顯示方式 AH=字元列數,AL=顯示方式
10 13 顯示字元串(适用AT) ES:BP=串位址,CX=串長度 DH,DL=起始行,列,BH=頁号 AL=0,BL=屬性 串:char,char... AL=1,BL=屬性 串:char,char... AL=2 串:char,attr,char, attr,... AL=3 串:char,attr,char,attr,...     光标傳回起始位置   光标跟随移動   光标傳回起始位置   光标跟随移動
11 裝置檢驗 AX=傳回值 bit0=1,配有磁盤 bit1=1,80287協處理器 bit4,5=01,40*25BW(彩色闆) =10,80*25BW(彩色闆) =11,80*25BW(黑白闆) bit6,7=軟碟驅動器号 bit9,10,11= RS-232闆号 bit12=遊戲擴充卡 bit13=串行列印機 bit14,15=列印機号
12 測定存儲器容量 AX=位元組數(KB)
13 軟碟系統複位
13 1 讀軟碟狀态 AL=狀态位元組
13 2 讀磁盤 AL=扇區數 CH,CL=磁道号,扇區号 DH,DL=磁頭号,驅動器号 ES:BX=資料緩沖區位址 讀成功:AH=0 AL=讀取的扇區數 讀失敗: AH=出錯代碼
13 3 寫磁盤 同上 寫成功:AH=0 AL=寫入的扇區數 寫失敗: AH=出錯代碼
13 4 檢驗磁盤扇區 同上(ES:BX不設定) 成功:AH=0 AL=檢驗的扇區數 失敗:AH=出錯代碼
13 5 格式化盤磁道 ES:BX=磁道位址 成功:AH=0 失敗:AH=出錯代碼
14 初始化串行通訊口 AL= 初始化參數 DX=通訊口号(0,1) AH = 通訊口狀态 AL = 數據機狀态
14 1 向串行通訊口寫字元 AL=字元,DX=通訊口号(0,1) 寫成功:(AH)7=0 寫失敗:(AH)7=1 (AH)0-5=通訊口狀态
14 2 從串行通訊口讀字元 DX=通訊口号(0,1) 讀成功:(AH)7=0,(AL)=字元 讀失敗:(AH)7=1,(AH)0-6=通訊口狀态
14 3 取通訊口狀态 DX=通訊口号(0,1) AH=通訊口狀态 AL=數據機狀态
15 啟動盒式錄音帶馬達
15 1 停止盒式錄音帶馬達
15 2 錄音帶分塊讀 ES:BX=資料轉輸區位址 CX=位元組數 AH=狀态位元組 AH=00讀成功,=01備援檢驗錯 =02無資料傳輸,=04無引導,=80非法指令
15 3 錄音帶分塊寫 DS:BX=資料傳輸區位址 CX=位元組數 AH=狀态位元組(同上)
16 從鍵盤讀字元 AL=字元碼,AH=掃描碼
16 1 讀鍵盤緩沖區字元 ZF=0 AL=字元碼,AH=掃描碼 ZF=1 緩沖區空
16 2 取鍵盤狀态位元組 AL=鍵盤狀态位元組
17 列印字元,回送狀态位元組 AL=字元,DX=列印機号 AH=列印機狀态位元組
17 1 初始化列印機,回送狀态位元組 DX=列印機号 AH=列印機狀态位元組
17 2 取狀态位元組 DX=列印機号 AH=列印機狀态位元組
1A 讀時鐘 CH:CL=時:分 DH:DL=秒:1/100秒
1A 1 置時鐘 CH:CL=時:分,DH:DL=秒:1/100秒
1A 2 讀實時鐘 CH:CL=時:分(BCD) DH:DL=秒:1/100秒(BCD)
1A 6 置報警時間 CH:CL=時:分(BCD) DH:DL=秒:1/100秒(BCD)
1A 7 清除報警