assume cs:daima
zhang segment
db 128 dup (0)
zhang ends
daima segment
ks:mov ax,daima
mov ds,ax
mov si,offset int9;原地址
mov ax,0
mov es,ax
mov di,204h;目的地址
mov cx,int9end-int9
cld
rep movsb
push es:[9*4]
pop es:200h
push es:[9*4+2]
pop es:202h ;保存原9号中断
cli
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0 ;设置新的中断地址
sti
mov ax,4c00h
int 21h
int9:push ax
push es
push di
in al,60h
cmp al,9eh
jne ok
mov ax,0b800h
mov es,ax
mov di,0
ok1:mov byte ptr es:[di],41h
cmp di,4000d
ja ok
add di,2
jmp ok1
ok:int 128d
pop di
pop es
pop ax
iret
int9end:nop
daima ends
end ks |