彙編0號中斷程式模擬

2021-07-25 14:54:00 字數 1632 閱讀 4764

中斷是指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時,取...