中斷是指cpu停止當前指令,轉而去執行其他指令或**的一種機制,其中中斷的資訊被儲存在中斷向量表中。
80x86中斷向量
i/o addr
int type(16進製制)
function
00 ~ 03
0
除法溢位中斷
04 ~ 07
1
單步(用於debug)
08 ~ 0b
2
非遮蔽中斷(nmi)
0c ~ 0f
3
斷點中斷(用於debug)
10 ~ 13
4
溢位中斷
14 ~ 17
5
列印螢幕
18 ~ 1f
6/7
保留
datas segment
datas ends
stacks segment
dw 8 dup(0)
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:mov ax,0
mov es,ax ;標記目標記憶體段位址
mov di,0200h ;標記目標位址偏移量
mov ax,cs ;標記源段位址
mov ds,ax
mov si,offset do0 ;標記源位址偏移位址
mov cx,offset do0end-offset do0 ;標記字元處理函式**長度
mov word ptr es:[0],di
mov word ptr es:[2],es
cld
rep movsb
int 00h ;模擬0號中斷
do0:jmp do1
db 'overflow'
do1:mov bx,cs
mov ds,bx
mov si,0202h ;因為jmp指令佔2位元組,所以di偏移量為202h
mov di,12*160+5*2
mov ax,0b800h ;標記視訊記憶體位址
mov es,ax
mov cx,8
s:mov byte ptr al,ds:[si] ;高位位址記錄字元屬性,低位位址記錄字元ascii碼
mov byte ptr es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end:nop ;標記結束以方便記錄指令長度
codes ends
end start
8086彙編0號中斷處理程式
1.中斷的基本概念 中斷是指在計算機執行期間,cpu收到某個訊號 來自軟體或硬體 暫時儲存正在執行的程式的上下文,轉而去執行相應的中斷處理程式.2.8086cpu內部有內部有下面的情況發生時,將產生相應的中斷資訊.3.中斷向量表 cpu用8位的中斷碼通過中斷向量表找到相應的中斷處理程式的入口位址,簡...
王爽彙編 實驗12編寫0號中斷處理程式
assume cs codesg codesg segment start mov ax,cs mov ds,ax 程式段位址 mov si,offset div s mov ax,0 mov es,ax mov di,0200h 保持中斷處理程式的記憶體位址 mov cx,offset div o...
實戰程式設計 編寫0號中斷處理程式
題目 編寫0號中斷處理程式,在除法溢位時,在螢幕中間顯示字串 hacker by admin 之前先補充乙個rep movsb的指令知識 movsb和movsw是相反的,都是根據標誌暫存器df的值選擇正向傳遞還是反向傳遞。這兩個指令都是把ds si中的值傳遞到es di的位置中去 如果df 0時,取...