实验结果
代码如下
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int_7CH;ds:[si]指向源地址
mov di,204H;es:[di]指向目的地址
mov cx,offset int_7CHEnd-offset int_7CH;(cx)=传输长度
cld;传输方向为正
rep movsb
push es:[7CH*4]
pop es:[200H]
push es:[7CH*4+2]
pop es:[202H];原中断矢量表中int_7CH地址保存至es:[200H]
mov word ptr es:[7CH*4],204H
mov word ptr es:[7CH*4+2],0;设置中断矢量表
mov ah,2;功能号2,设置背景色
mov al,2;颜色值
int 7CH
push es:[200H]
pop es:[7CH*4]
push es:[202H]
pop es:[7CH*4+2];恢复原本中断矢量表中int 7CH中断例程入口的地址
mov ax,4C00H
int 21H
org 204H