|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code,ss:stack
stack segment para stack 'stack'
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
mov ax,0
mov es,ax
push cs
pop ds
mov si,offset int9
mov di,204h
mov cx,offset int9_end - offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop es:[202h]
cli
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0
sti
; mov cx,120
;lp: mov ah,0
; int 16h
; loop lp
mov ax,4c00h
int 21h
int9:
push ds
push si
push ax
push cx
in al,60h
pushf
call dword ptr cs:[200h]
cmp al,9eh
jne int9_ok
mov ax,08b00h
mov ds,ax
mov si,0
mov cx,2000
mov al,'A'
int9_s:
mov ds:[si],al
add si,2
loop int9_s
int9_ok:
pop cx
pop ax
pop si
pop ds
iret
int9_end: nop
code ends
end start
|
|