1 assume cs:code23
stack segment
4 db 128 dup(0)5
stack ends67
code segment
8start:
movax,stack
9mov
ss,ax
10mov sp,128
1112
push
cs13
popds
1415
mov ax,0
16mov
es,ax17;
設定段暫存器
1819
mov si,offset int9 ;
新中斷程式的標記
20mov di,204h ;
新中斷程式的位置
21mov cx,offset int9end-offset int9 ;
新中斷程式的長度
22cld
23rep
movsb24;
先將**複製到 0:204 處
2526
push
es:[9*4]27
popes:
[200h]
28push
es:[9*4+2]29
popes:
[202h] 30;
將原本int9的中斷程式入口儲存起來 0:200 處
3132
cli33
mov word ptr es:[9*4
],204h
34mov word ptr es:[9*4+2],0
35sti36;
將int9的中斷入口修改成新中斷程式的入口
3738
movax,4c00h
39int
21h40
41int9:
;中斷程式
4243
int9ret:
iret
4445
int9end:
nop46
47code ends
48 end start
組合語言 BIOS和DOS中斷例程
強烈推薦人工智慧學習 bios和dos提供的中斷例程是如何安裝到記憶體中的呢?1 開機後,cpu一加電,初始化 cs 0ffffh,ip 0,自動從ffff 0單元開始執行程式。ffff 0處有一條轉跳指令,cpu執行該指令後,轉去執行bios中的硬體系統檢測和初始化程式。2 初始化程式將建立bio...
組合語言 如何改寫中斷例程(例項 射擊遊戲)
編寫程式乙個 射擊遊戲 用上 下 左 右鍵控制跳上 跳下 裝子彈 射擊的動作,按esc鍵退出遊戲。執行效果如圖所示 編寫的程式如下 assume cs code,ss stack,ds data stack segment db 256 dup 0 stack ends data segment d...
組合語言 內中斷
內中斷 在執行完當前正在執行的指令之後,檢測到從cpu內部發過來的或內部產生的一種特殊資訊,並且可以立即對所接收到的資訊進行處理 中斷資訊可以 於cpu外部和內部 內中斷的產生 1除法錯誤 0 2單步執行 1 3執行into指令 4 into 溢位中斷 4執行int指令,該指令格式 int n 指令...