中斷資訊。中斷的意思是指,cpu不再接著向下執行,而是轉去處理這個特殊資訊
當cpu內部由下面情況發生的時候,將產生相應的中斷資訊。(中斷型別碼表示中斷的**)
1.除法錯誤,中斷型別碼0
2.單步執行,中斷型別碼1
3.into,中斷型別碼4
4.int 後面跟的是中斷型別碼
用來處理中斷資訊的程式被稱為被稱為中斷處理程式
中斷型別碼的作用就是用來定位中斷處理程式
我們如何根據8位中斷型別碼知道中斷處理程式的段位址和偏移位址呢
中斷向量表,就是中斷處理程式入口位址的列表。
中斷向量表在記憶體中儲存,其中存放著256個中斷源所對應的中斷處理程式的入口
cpu只要知道了中斷型別碼,就可以將中斷型別碼作為中斷向量表的表項號,定位相應的表項,從而得到中斷處理程式的入口位址
記憶體中0000:0000-0000:03ff這1024個位元組中存放著中斷向量表
入口位址包括段位址和偏移位址,所以乙個表項佔兩個位元組,高位址存放段位址,低位址存放偏移位址。
1.0070:018b
2.4n 4n+2
1.用中斷型別碼找到中斷向量,並用它設定cs和ip,這個工作是由cpu的硬體自動完成的。這個過程稱為中斷過程
中斷過程如下:
(1)取得中斷型別碼n;
(2)tf=0,if=0
(3)push cs
(4)push ip
(5)ip = n4 cs=n4+2
在最後一步完成之後,cpu開始執行由程式設計師編寫的中斷處理程式。
由於cpu隨時都可能檢測到中斷資訊,也就是說,cpu隨時都可能執行中斷處理程式,所以中斷處理程式必須一直儲存在記憶體某段空間中。
中斷處理程式的編寫方法:
1.儲存用到的暫存器
2.處理中斷
3.恢復用到的暫存器
4.用iret返回
iret的作用
pop ip
pop cs
popf
只有當某段程式的入口位址放入中斷向量表的n號表項中,才能成為中斷處理程式。
0:200-0:2ff存放中斷處理程式
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do
mov ax,0
mov es,ax
mov di,200h
;設定源位址和目的位址
mov cx,offset d0end-offset d0
cldrep movsb
設定中斷向量表
mov ax,4c00h
int 21h
do0:顯示字串
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
因為do0程式隨時可能被執行,而它要用到字串overflow!,所以該字串也應該放在一段不會被覆蓋的空間中。
正確的程式如下:
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cldrep movsb
;安裝do0
設定中斷向量表
mov ax,4c00h
int 21h
do0:jmp short do0start
db "overflow!"
do0start:mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12160+362
mov cx,9
s:mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
mov ax,0
mov es,ax
mov word ptr es:[0],200h
mov word ptr es:[2],0
debug中t命令的作用
實現單步跟蹤程式的執行過程
將設定ss:sp的指令連續存放
《組合語言》(第三版)王爽著 預備
預備 1.2.十進位制 位的概念 數軸表示數字的方式 3.二進位制 4.十進位制轉換成二進位制 5.十進位制快速轉換成二進位制 6.十六進製制 7.十進位制轉換成十六進製制 8.十進位制快速轉換成十六進製制 9.十六進製制和二進位制之間快速互相轉換 10.反過來思考的方式 組合語言是一門低階語言,與...
組合語言 (王爽著第三版)實驗二
實驗前要求我們將書本p74的程式段按理論分析,將結果進行填空。之後用debug,將該程式段寫入記憶體,逐條執行之後,根據指令執行後的實際執行的結果填空如下。mov ax,0021 mov ax ffff mov ds ax mov ax 2200 mov ss ax mov sp 0100 mov ...
組合語言第三版(王爽著) 第11章 標誌暫存器
標誌暫存器的作用 用來儲存相關指令的某些執行結果 用來為cpu執行相關指令提供行為依據 用來控制cpu的相關工作方式 其中儲存的資訊通暢被稱為程式狀態字 psw 簡稱flag flag 和其他暫存器不一樣,其他暫存器是用來存放資料的,都是整個暫存器具有乙個含義。而flag暫存器是按位起作用的。也就是...