汇编语言笔记实验15安装新的int9中断例程
汇编语言笔记实验15安装新的int9中断例程
0x00 任务一
思路,即修改int9中断处理程序,如果是松开a键,就让全屏a
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do9
mov ax,0
mov es,ax
mov di,204h
mov cx,offset do9e-offset do9
cld
rep movsb
mov ax,es:[9*4]
mov es:[200h],ax
mov ax,es:[9*4+2]
mov es:[202h],ax
cli
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0
sti
mov ax,4c00h
int 21h
do9: push ax
push cx
push es
push si
mov ax,0
mov es,ax
in al,60h
pushf
call dword ptr es:[200h]
cmp al,9eh
jne fin
mov si,0
mov ax,0b800h
mov es,ax
mov cx,2000
s: mov byte ptr es:[si],'a'
add si,2
loop s
fin: pop si
pop es
pop cx
pop ax
iret
do9e: nop
code ends
end start
上述代码运行正确