中斷向量表的作用是什麼如何設定中斷向量表

2021-03-05 09:13:44 字數 5221 閱讀 6804

1樓:匿名使用者

中斷向量與中斷向量表

在中斷源識別方法時提到:早期的微機系統中將由硬體產生的中斷標識碼(中斷源的識別標誌,可用來形成相應的中斷服務程式的入口地址或存放中斷服務程式的首地址)稱為中斷向量。在pc/at中也用到這個名稱,但含義有所不同。

在pc/at機中,中斷向量是指中斷服務程式的入口地址,包括段地址cs和段內偏移 量ip共4個位元組。在pc/at中,規定記憶體儲器的最低1 kb用來存放中斷向量(共256個),稱這一片記憶體區為中斷向量表,如圖所示。

在pc/at中由硬體產生的中斷標識碼被稱為中斷型別號(當然,中斷型別號還有其他的產生方法,如指令中直接給出、cpu自動形成等),即在中斷響應期間8259a產生的是當前請求中斷的最高優先順序的中斷源的中斷型別號。中斷型別號和中斷向量之間有下面的關係:

中斷型別號×4=存放中斷向量的首地址

有了存放中斷向量的首地址,從該地址開始的4個儲存單元中取出的就是中斷服務程式的入

2樓:匿名使用者

中斷向量表的作用就是用來存放中斷向量,中斷向量一般不需要自己設定,設定由bios和作業系統來完成。

3樓:單于向晨紅捷

首先你要知道什麼是中斷。

當中斷髮生後,cpu就根據中斷向量表來決定應該跳轉到**。

中斷向量表的設定要看當前cpu執行的模式。如果是真實模式的話,中斷向量表就在實體地址0000h開始。如果是保護模式就複雜了,要用lgdt之類的命令來載入表,教寫作業系統的書會有說的。

不過話說回來,如果你不是寫作業系統的話,沒必要理中斷向量表之類的,作業系統本身提供了另外一套更安全便捷的介面讓應用程式實現相應的功能。而且,這麼敏感的命令只能ring0**使用,一般程式都不能執行。

中斷向量表的作用是什麼?如何設定中斷向量表

4樓:單于向晨紅捷

首先你要知道什麼是中斷。

當中斷髮生後,cpu就根據中斷向量表來決定應該跳轉到**。

中斷向量表的設定要看當前cpu執行的模式。如果是真實模式的話,中斷向量表就在實體地址0000h開始。如果是保護模式就複雜了,要用lgdt之類的命令來載入表,教寫作業系統的書會有說的。

不過話說回來,如果你不是寫作業系統的話,沒必要理中斷向量表之類的,作業系統本身提供了另外一套更安全便捷的介面讓應用程式實現相應的功能。而且,這麼敏感的命令只能ring0**使用,一般程式都不能執行。

5樓:匿名使用者

首先你要知道什麼是中斷。

當中斷髮生後,cpu就根據中斷向量表來決定應該跳轉到**。

中斷向量表的設定要看當前cpu執行的模式。如果是真實模式的話,中斷向量表就在實體地址0000h開始。如果是保護模式就複雜了,要用lgdt之類的命令來載入表,教寫作業系統的書會有說的。

不過話說回來,如果你不是寫作業系統的話,沒必要理中斷向量表之類的,作業系統本身提供了另外一套更安全便捷的介面讓應用程式實現相應的功能。而且,這麼敏感的命令只能ring0**使用,一般程式都不能執行。

6樓:我不爭

一樓正解,補充下。

中斷向量是指中斷髮生時,存放在記憶體中,用於指向中斷處理程式地址的資料,每個中斷向量佔一個字,低位元組為中斷號,高位元組為例行程式的偏移地址。這樣一箇中斷向量一箇中斷向量排下來,形成一張表,就叫中斷向量表。

因為中斷向量排放是有規律的,所以中斷髮生時,很容易根據中斷號找到中斷向量,然後再根據中斷向量找到需要的中斷處理程式。

既然你是學彙編的,設定中斷向量表應該不難吧,直接修改記憶體就可以了。不過電腦重啟之後又會還原的。 好像還有兩個dos中斷分別是取中斷向量和設定中斷向量,你可以自己查。

中斷向量表的功能是什麼?簡述cpu利用中斷向量錶轉入中斷服務的過程。

7樓:匿名使用者

中斷向量表具有根據中斷型別號儲存相應中斷服務程式入口地址的功能。cpu利用中斷向量錶轉入中斷服務程式的過程如下:由中斷型別號n乘以4獲得中斷向量在中斷向量表中的起始地址,然後把儲存在低地址4n、4n+1兩單元16位的中斷服務程式入口偏移地址置入ip,把儲存在高地址4n+2、4n+3兩單元16位的中斷服務程式入口段地址置入cs,最後跳轉到中斷服務程式。

:8088中斷向量表的作用是什麼

8樓:lower米一

中斷向量是中斷服務程式的入口地址.將所有中斷向量集中放在一起,形成中斷向量表.8086系統有256個型別的中斷源.

每個型別對應一箇中斷向量,一箇中斷向量由四個位元組組成:2個高地址位元組:存放中斷服務程式的**段的段值;2個低地址位元組:

存放中斷服務程式的偏移地址.中斷向量表放在記憶體的地段地址0單元開始的單元:00000h~03fffh.

9樓:匿名使用者

簡單一句話: 為各種不同的中斷提供了程式的入口地址!

10樓:手心裡の北極光

00000h-003ffh

中斷向量表和中斷描述符表的功能是什麼?如何利用它們獲得中斷服務程式的入口地址?

11樓:

中斷向量表是存放一系列中斷向量的表(好像有點廢話...不過確實是這樣)

中斷向量代表著中斷服務程式的入口地址

中斷描述符用最通俗的語言來講就是用來獲取中斷向量用的,為什麼要獲取中斷向量呢?就是要通過中斷向量知道中斷服務程式的入口地址.三者的關係應該明瞭了吧...

引用樓上的例子int 21h 這裡21h就是一箇中斷描述符21h*4 =84h 得到的就是中斷向量(就是這麼規定的)以84h為首地址(85h 86h 87h) 其中存放的就是中斷服務程式的地址

還是舉個例子吧

87h 33

86h 22

85h 11

84h 00

那麼中斷服務程式的入口地址就是 (cs:ip)3322:1100

12樓:匿名使用者

中斷向量

是256鍾型別的終端處理程式的入口地址, 而由中斷向量按序排列組成的表為中斷向量表.

比如:int 21h

中斷向量為: 4*21h = 84h

在84h中存放的是中斷函式的地址(cs:ip):

84h,85h存放的是ip地址;

86h,87h存放的是cs地址.

而函式地址在cs*10h+ip.

什麼叫中斷,中斷向量,中斷向量表

13樓:第一啊你

你說得這個和作業系統有關係,具體的入口地址,如果在真實模式下,直接按照中斷字長,從首地址往下數到20個應該就是他的入口地址了。 如果在保護模式下,就得看idt表中的指向是多少了,不管幾號,都可以由idt指定。

中斷向量表怎麼看?

14樓:狄特里希

中斷向量:是指中斷服務程式入口地址的偏移量與段基值,一箇中斷向量佔據4位元組空間。中斷向量表是8088系統記憶體中最低端1k位元組空間,它的作用就是按照中斷型別號從小到大的順序儲存對應的中斷向量,總共儲存256箇中斷向量。

在中斷響應過程中,cpu通過從介面電路獲取的中斷型別號(中斷向量號)計算對應中斷向量在表中的位置,並從中斷向量表中獲取中斷向量,將程式流程轉向中斷服務程式的入口地址。

計算機記憶體的前1024個位元組(偏移量00000h到003ffh)儲存著256箇中斷向量,每個中斷向量佔4個位元組,前兩個位元組儲存著中斷服務程式的入口地址偏移量,後兩個位元組儲存著中斷程式的入口段地址,使用時,只要將它們分別調入暫存器ip及cs中,就可以轉入中斷服務程式實現中斷呼叫。每當中斷髮生時,cpu將中斷號乘以4,在中斷向量表中得到該中斷向量地址,進而獲得ip及cs值,從而轉到中斷服務程式的入口地址,呼叫中斷。這就是中斷服務程式通過中斷號呼叫的基本過程。

在計算機啟動的時候,bios將基本的中斷填入中斷向量表,當dos得到系統控制權後,它又要將一些中斷向量填入表中,還要修改一部分bios的中斷向量。有一部分中斷向量是系統為使用者保留的,如60h到67h號中斷,使用者可以將自己的中斷服務程式寫入這些中斷向量中。不僅如此,使用者還可以自己更改和完善系統已有的中斷向量。

在c語言中,提供了一種新的函式型別interrupt,專門用來定義中斷服務程式,比如我們可以寫如下的中斷服務程式:

/*例1:中斷服務程式*/

void interrupt int60()

一個簡單的中斷服務程式寫好了,如何把它的函式入口地址填寫到中斷向量表中,以便在產生中斷的時候能轉入中斷服務程式去執行呢?這裡要用到setvect()和getvect()函式。setvect()有兩個引數:

中斷號和函式的入口地址,其功能是將指定的函式安裝到指定的中斷向量中,getvect()函式有一個引數:中斷號,返回值是該中斷的入口地址。在安裝中斷以前,最好用disable()函式關閉中斷,以防止在安裝過程中又產生新的中斷而導致程式執行混亂,待安裝完成後,再用enable()函式開放中斷,使程式正常執行。

中斷向量表的中斷向量

15樓:匿名使用者

是指中斷服務程式入口地址的偏移量與段基值,一箇中斷向量佔據4位元組空間。中斷向量表是8088系統記憶體中最低端1k位元組空間,它的作用就是按照中斷型別號從小到大的順序儲存對應的中斷向量,總共儲存256箇中斷向量。在中斷響應過程中,cpu通過從介面電路獲取的中斷型別號(中斷向量號)計算對應中斷向量在表中的位置,並從中斷向量表中獲取中斷向量,將程式流程轉向中斷服務程式的入口地址。

異常向量表和中斷向量表什麼關係

16樓:匿名使用者

中斷向量和異常向量通常放在同一個表中,在8086cpu中並沒有區分中斷和異常,也就是在8086cpu中兩者的概念是一樣的,在80386以後的cpu中兩者在概念上有所區別,但處理的方式差不多,異常是由內部事件引起的,比如,在進行除法運算時,除數為零,就會引發一個除法錯誤異常.異常有幾種型別:故障,陷阱,中止

而中斷是外部事件引發的,常常由硬體用於通知cpu一個操作的完成.中斷又分為可遮蔽中斷和不可遮蔽中斷.不可遮蔽中斷的向量號固定為2.

17樓:匿名使用者

這可看你對那種機型而言了,在這我以51微控制器為例(因只有它的中斷向量多可稱為表)。中斷向量就是晶片在廠家設計生產時,按設計要求給要發生的中斷都規定了一個入口都定了一個固定的地址,這就是說在程式執行中,一但有中斷髮生,那程式就會自動跳到對應的地址上去,這個與中斷有關的地址,我們就叫它為「中斷向量表」,可有些如低電壓了,程式不能正常工作了,那51微控制器就會自動跳回起點或有的微控制器也給有固定的地址。這種我們就叫異常向量地址,哈!

這多了就叫表了嘛。

微控制器中斷暫存器的作用是什麼

中斷暫存器就是用於存貯中斷狀態的 包含是否啟用中斷 或者是 是否發生中斷 include void inituart void void sendonebyte unsigned char c void main void void uartinterrupt void interrupt 4 el...

的作用是什麼,模板的作用是什麼

你說的哪方面的模版,開發的模版是用來展示資料給客戶端的使用者看的 模板的作用就是告訴編輯者,這個型別的詞條基本的結構應該包含哪幾部分 當然並不是必須的 如果您發現某個詞條的結構不完整,就可以從完善這些部分入手。從而使得有章可循。形成原因 如今我們已經總結出來的模板包括 學校 計算機病毒 城鎮 菜譜 ...

葉子的作用是什麼樹葉的作用是什麼?

葉子的作用有以下四點 1.呼吸作用 植物和動物都一樣,都需要呼吸。葉子上的氣孔像動物的鼻孔和嘴巴一樣,空氣可以從氣孔進進出出。吸進來的氣體可以擴散到樹木的各個部位,以滿足生長的需求 2.光合作用 植物的葉子裡有一種綠色的小顆粒,叫做葉綠體。它具有一種特殊的力量能夠進行光合作用,為自己製造食物,這也是...