最近工作需要用dos系統開發,以前一直搞linux,**還容得下其他的系統╮(╯▽╰)╭
下面將pc機常用的中斷號貼出來,都怪自己大學的微機原理與接**術沒學好啊!
●int 00h:「0」作為除數
●int 01h:單步中斷
●int 02h:非遮蔽中斷
●int 03h:斷點中斷
●int 04h:算數溢位錯誤
●int 05h:列印螢幕和bound越界
●int 06h:非法指令錯誤
●int 07h:處理器擴充套件無效
●int 08h:時鐘中斷
●int 09h:鍵盤輸入
●int 0bh:序列通訊口(com2)
●int 0ch:序列通訊口(com1)
●int 0dh:並行通訊口(lpt2)
●int 0eh:磁碟驅動器輸入/輸出
●int 0fh:並行通訊口(lpt1)
●int 10h:顯示服務(video service)
●int 11h:讀取裝置配置
●int 12h:讀取常規記憶體大小(返回值ax為記憶體容量,以k為單位)
●int 13h:直接磁碟服務(direct disk service)
●int 14h:序列口服務(serial port service)
●int 15h:雜項系統服務(miscellaneous system service)
●int 16h:鍵盤服務(keyboard service)
●int 17h:並行口服務(parallel port service)
●int 18h:rom basic
●int 19h:重啟動系統
●int 1ah:時鐘服務(clock service)
●int 1bh:ctrl+break處理程式
●int 1ch:使用者時鐘服務
●int 1dh:指向顯示器參數列指標
●int 1eh:指向磁碟驅動器參數列指標
●int 1fh:指向圖形字元模式表指標
dos中斷表如下
●int 20h:中止程式執行
●int 21h:字元功能呼叫、目錄控制、檔案操作、系統功能、程序控制、時間和日期功能
●int 23h:ctrl+c處理程式
●int 24h:致命錯誤處理程式
●int 25h:讀磁碟扇區(忽略邏輯結構)
●int 26h:寫磁碟扇區(忽略邏輯結構)
●int 27h:中止,並駐留在記憶體
●int 28h:dos空閒
●int 2fh:多重中斷服務
●int 33h:滑鼠功能中斷
中斷號和晶元中斷引腳的關係
一直以來搞不懂這個中斷號的來歷,總以為是中斷控制器自己規定的乙個號,但是最近在看了s3c2440的中斷控制後才發現不是這麼一回事.2440的中斷處理只能處理32個中斷,但是其在核心中出現的中斷號卻有51,58等.而且它的外部中斷int4 7共享乙個中斷控制暫存器的一位,int8 23也是共享控制暫存...
中斷號和晶元中斷引腳的關係
一直以來搞不懂這個中斷號的來歷,總以為是中斷控制器自己規定的乙個號,但是最近在看了s3c2440的中斷控制後才發現不是這麼一回事.2440的中斷處理只能處理32個中斷,但是其在核心 現的中斷號卻有51,58等.而且它的外部中斷int4 7共享乙個中斷控制暫存器的一位,int8 23也是共享控制暫存器...
linux 的硬體中斷向量號
rom bios 時鐘中斷是08號中斷,linux 中怎樣變成了0x20號中斷?8259a 是可程式設計中斷控制器晶元,可管理8個中斷源。通過級聯可最多管理64個中斷源 pc at 使用了2片8259a,占用位址0x20 0x3f 0xa0 0xbf 範圍,共可產生16個中斷源。中斷向量號號是可以程...