1樓:匿名使用者
中斷向量=[中斷x4],包括括號的含義是記憶體單元的內容。(也就是說,只儲存在記憶體地址0中,絕對開始位置)**:中斷型別,實際上被中斷,標記為不同的中斷服務程式的名稱,以呼叫中斷程式。
1、中斷向量:中斷服務程式的入口地址。一個向量表示4個位元組的輸入地址。
2、對規模的破壞:因為有多箇中斷請求,有多箇中斷服務例程,對應的儲存有多個程式入口地址(即中斷向量)。這個系統在一個特定區域的記憶體中安排一箇中斷到規模,專門儲存所有的中斷向量。
這種形式的規模的中斷。
3、在8086系統中,一個向量中斷用於描述8086系統中中斷型別**、中斷向量和中斷規模之間的關係。
什麼是中斷向量?什麼是中斷向量表,有何作用,位於記憶體什麼位置?8086共有多少級中斷?
2樓:藍色楓葉
處理機可處理的每種中斷的標號為中斷型別碼。
中斷向量指中斷處理程式的入口地址,由處理機自動定址。
中斷向量表是存放中斷處理程式入口地址的預設的記憶體區域。在8086中,中斷型別碼乘以4得到向量表的入口,從此處讀出4個位元組內容即為中斷向量。
因中斷型別碼為8位,中斷型別碼的個數為0——ffh,所以最多有256個(級)中斷
望採納!
3樓:匿名使用者
84h是它的i/o地址代表它的中斷型別是21即為dos系統功能呼叫
fah應為0fah,即dos系統功能呼叫中的開啟檔案(fcb)功能
呼叫引數ds:dx=fcb首地址 返回引數al=00檔案找到al=ff檔案未找到
8086系統中,中斷型別碼、中斷向量、中斷向量表的關係是什麼?
4樓:匿名使用者
中斷型別碼:,其實就是中斷號,對不同的中斷服務程式不同的名稱記號,以呼叫該中斷程式.
中斷向量:指向中斷服務程式的入口地址.一個向量代表的入口地址為4個位元組.
中斷向量表:由於存在多箇中斷請求,相應有多箇中斷服務程式,即有多個存放這些程式的入口地址(即中斷向量).為此係統在記憶體的特定區域安排一張中斷向量表,專門存放所有的中斷向量.
此表即中斷向量表.
以上三者關係:中斷向量=[中斷號x4], 其中方括號的含義是記憶體單元的內容.(即中斷向量表剛好存放在記憶體絕對地址0開始的位置)
5樓:匿名使用者
中斷向量=[中斷x4],包括括號的含義是記憶體單元的內容。(也就是說,只儲存在記憶體地址0中,絕對開始位置)**:中斷型別,實際上被中斷,標記為不同的中斷服務程式的名稱,以呼叫中斷程式。
1、中斷向量:中斷服務程式的入口地址。一個向量表示4個位元組的輸入地址。
2、對規模的破壞:因為有多箇中斷請求,有多箇中斷服務例程,對應的儲存有多個程式入口地址(即中斷向量)。這個系統在一個特定區域的記憶體中安排一箇中斷到規模,專門儲存所有的中斷向量。
這種形式的規模的中斷。
3、在8086系統中,一個向量中斷用於描述8086系統中中斷型別**、中斷向量和中斷規模之間的關係。
6樓:匿名使用者
5. 2 8086/8088 中斷
系統 一、中斷分類及中斷型別碼
中斷源 :引起中斷的原因或發出中斷請求的裝置稱為中斷源。
• 中斷的分類
共分為兩類:硬體中斷和軟體中斷
①硬體中斷 :即通過外部的硬體產生的中斷,如印表機、鍵盤等,有時也稱為外部中斷。硬體中斷又可分為兩類:可遮蔽中斷和不可遮蔽中斷。
不可遮蔽中斷 :由 nmi 引腳引入,它不受中斷允許標誌的影響,每個系統中僅允許有一個,都是用來處理緊急情況的,如掉電處理。這種中斷一旦發生,系統會立即響應;
可遮蔽中斷 :由 intr 引腳引入,它受中斷允許標誌的影響,也就是說,只有當 if = 1 時,可遮蔽中斷才能進入,反之則不允許進入,可遮蔽中斷可有多個,一般是通過優先順序排隊,從多箇中斷源中選出一個進行處理。
②軟體中斷 (內部中斷):即根據某條指令或者對標誌暫存器中某個標誌的設定而產生,它與硬體電路無關,常見的如除數為 0 ,或用 int n 指令產生。
溢位中斷由 int0 指令引起
斷點中斷由 int3 指令引起
單步由標誌 tf 引起 ↘不對應指令
除 0 由計算結果引起 ↙不對應指令
• 中斷型別碼:
8086/8088 為每個中斷源分配了一箇中斷型別碼,其取值範圍為 0 ~ 255 ,即可處理 56 種中斷。其中包括軟體中斷,系統佔用的中斷以及開放給使用者使用的中斷。
二、中斷向量和中斷向量表
系統處理中斷的方法很多,處理中斷的步驟中最主要的一步就是如何根據不同的中斷源進入相應的中斷服務子程式,目前用的最多的就是向量式中斷。
中斷向量 :把各個中斷服務子程式的入口都稱為一箇中斷向量;
中斷向量表 :將這些中斷向量按一定的規律排列成一個表,就是所謂的中斷向量表,當中斷源發出中斷請求時,即可查詢該表,找出其中斷向量,就可轉入相應的中斷服務子程式。
8086/8088 中斷系統中的中斷向量表是位於 0 段的 0 ~ 3fffh 的存貯區內,每個中斷向量佔四個單元,其中前兩個單元存放中斷處理子程式的入口地址的偏移量( ip ),低位在前,高位在後;後兩個單元存放中斷處理子程式入口地址的段地址( cs ),也是低位在前,高位在後,整個中斷向量的排列是按中斷型別號進行的。見 p 圖 5-14 。
圖示給出了中斷型別碼與中斷向量所在位置之間的對應關係。其中 00h ~ 04h 為專用中斷, 05h ~ 3fh 為系統保留中斷,使用者一般是不能對它們定義的(這裡面有一些為固定的用途,如 int 21h 即為 ms - dos 圖 5-14
的系統呼叫), 40 ~ ff 為使用者定義的中斷。
00h ~ 04h ――系統專用
10h ~ 1fh ―― bios 用
40h ~ ffh ――使用者用
08h ~ 0fh ――硬體中斷
20h ~ 3fh ―― dos 用
中斷型別號* 4 即可計算某個中斷型別的中斷向量在整個中斷向量表中的位置。如型別號為 20h ,則中斷向量的存放位置為 20h * 4 = 80h ,(設中斷服務子程式的入口地址為 4030 : 2010 ,則在 0000 :
0080h ~ 0000 : 0083h 中就應順序放入 10h 、 20h 、 30h 、 40h 。當系統響應 20h 號中斷時,會自動查詢中斷向量,找出對應的中斷向量裝入 cs 、 ip ,即轉入該中斷服務子程式。
三、中斷響應過程與時序
8086/8088 對軟體中斷和硬體中斷響應的過程是不同的,這是由於軟體中斷和硬體中斷所產生的原因不同,下面主要討論硬體中斷的情況。
• 硬體中斷的響應過程
硬體中斷指的是由 nmi 引腳進入的非遮蔽中斷或由 intr 引腳進入的可遮蔽中斷。下面以可遮蔽中斷為例。
cpu 在 intr 引腳上接到一箇中斷請求訊號,如果此時 if = 1 , cpu 就會在當前指令執行完以後開始響應外部的中斷請求,這時, cpu 在 引腳連續發兩個負脈衝,外設在接到第二個負脈衝以後,在資料線上傳送中斷型別碼,接到這個中斷型別碼後, cpu 做如下動作:
①將中斷型別碼放入暫存器儲存;
②將標誌暫存器內容壓入堆疊,以保護中斷時的狀態;
③將 if 和 tf 標誌清 0 ,目的是防止在中斷響應的同時又來別的中斷,而將 tf 清 0 是為了防止 cpu 以單步方式執行中斷處理子程式。這時要特別提醒,因為 cpu 在中斷響應時自動關閉了 if 標誌,因此使用者如要進行中斷巢狀時,必須在自己的中斷處理子程式中用開中斷指令來重新設定 if ;
④保護斷點,斷點指的是在響應中斷時,主程式當前指令下面的一條指令的地址。因此保護斷點的動作就是將當前的 ip 和 cs 的內容入棧,保護斷點是為了以後正確地返回主程式;
⑤根據取到的中斷型別碼,在中斷向量表中找出相應的中斷向量,將其裝入 ip 和 cs ,即呆自動轉向中斷服務子程式。
對 nmi 進入的中斷請求,由於其型別碼固定為 2 ,因此 cpu 不用從外設讀取型別碼,也不需計算中斷向量表的地址,只要將中斷向量表中 0000 : 0008h ~ 0000 : 000bh 單元內容分別裝入 ip 和 cs 即可。
圖 5-15 給出了 8086/8088 中斷響應過程的流程圖,對這個圖我們做幾點說明:
① 8086/8088 除軟體中斷外,內部「非遮蔽中斷」、「可遮蔽中斷」均設立有優先順序,其中內中(除單步外)――即 0 、 1 、 3 、 4 號中斷的優先順序高於非遮蔽中斷,非遮蔽中斷高於可遮蔽中斷,單步中斷優先順序最低;
②只有在可遮蔽中斷的情況下才判 if = 1 ?,才取中斷型別碼,其餘的沒有這個動作。
③關於單步中斷,它是每執行一條指令中斷一次,顯示出當時各暫存器的內容,供使用者參考,當進入單步中斷響應時, cpu 自動清除了 tf ,在中斷返回後,由於恢復了響應時的標誌暫存器的值,因此 tf = 1 ,執行完一條指令後又進入單步中斷,直到程式將 tf 改為 0 為止。
④關於中斷的巢狀, nmi 總是可以響應的,若在中斷處理子程式中設立了開中斷指令, intr 的請求也能響應。
⑤彈出 ip 、 cs 、標誌,返回斷點的動作由 iret 指令完成。
⑥有些情況下,即使條件滿足, cpu 也不能馬上響應中斷,必須執行完下一條指令(而不是當前指令)才行。
• 正好執行 lock 指令;
• 執行往 ss 暫存器賦值的傳送指令,因為一般要求連續用兩條指令對 ss 和 sp 暫存器賦值,以保證堆疊指標的正確性。
⑦當遇到等待指令或串操作指令時,允許在指令執行的過程中進入中斷。這時需注意在中斷處理子程式中保護現場,以保證中斷返回後能繼續正確地執行這些指令。
中斷型別碼中斷向量地址 20
7樓:做而論道
1、若中斷型別碼為23h,則中斷向量地址是(23h * 4 = 8ch,即 0008ch。)
2、8259a的優先順序設定採用特殊迴圈方式時,若程式設計時設定ir2是優先順序最低的裝置,則( )的優先順序最高--需要查書。
8樓:似曽相識燕歸來
23h * 4 = 008ch
優先順序最高為ir3,優先順序順序為ir3, ir4, ir5,ir6,ir7,ir0,ir1,ir2
我想問個關於中斷向量表的問題,8086的中斷向量表中存放的是中斷向量問題
1為啥要搞個dos中斷向量表,為什麼bai不是其他系統的 du?因為你的程zhi序是執行在 daodos環境下,早起回的8086cpu是執行dos的,所以你只有呼叫dos中斷才能實現功能。dos就是一個作業系統,它是給你的程式服務的。2硬中斷向量表是rom實體地址,比如記憶體的0x0000 0x00...
彙編語的中斷向量號表,彙編語的中斷向量號表
中斷向量表,就是一堆地址,對於ibm pc來說,按照中斷號數,從0開始,從小到大,排列在以 0 開始的記憶體地址上 執行debug,輸入顯示資料命令 d 0 0 可得到系統基本硬體中斷向量,如圖 根據上面的顯示,可得到如下中斷向量 0000 0000 00a7 1068 int 00h 0 作除數 ...
8086是如何確定硬體中斷服務程式的入口地址的
1 進行中斷優先權排隊 2 實現中斷巢狀 3 自動響應中斷 cpu在響應中斷時通常要自動做三件事 自動關閉中斷和把原執行程式的斷點地址壓入堆疊 按中斷源提供的中斷向量自動轉入相應中斷服務程式執行 自動或通過安排在中斷服務程式中指令來撤消本次中斷請求,以避免再次響應本次中斷的請求 4 中斷返回 6.3...