劫持键盘中断
本程序劫持9号中断,实现判断键盘输入修改屏幕颜色, R G B 键 分别修改 屏幕背景为红色 绿色 蓝色。
assume cs:code,ds:data,ss:stack
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16 ;set about segment
push ds
push cs
pop ds ;chenge ds is cs
mov si,offset install_start
mov ax,0
mov es,ax
mov di,200h
cld ;set transmission direction is plus
mov cx,offset install_end - offset install_start ;set copy byte size
rep movsb ;start copy
pop ds ;recover ds
mov ax,0
mov es,ax
push es:[36]
pop es:[202h]
push es:[38]
pop es:[204h] ;save interrupted address
mov word ptr es:[36],200h
mov word ptr es:[38],0 ;change interrupted address
mov ax,4c00h
int 21h
install_start:
jmp ok
db 'this is a test$' ; this save former 9interrupted address
ok:
push ds
push ax
push bx
push dx
push es
push cx ;sav