ASSUME CS:CODESG,SS:STACKSG
STACKSG SEGMENT
DB 128 DUP (0)
STACKSG ENDS
CODESG SEGMENT
START: MOV AX,STACKSG
MOV SS,AX
MOV SP,128
PUSH CS
POP DS
MOV AX,0
MOV ES,AX
MOV SI,OFFSET INT9
MOV DI,204H
MOV CX,OFFSET INT9END-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 AX,4C00H
INT 21H
INT9: PUSH AX
PUSH BX
PUSH CX
PUSH ES
IN AL,60H
PUSHF
CALL DWORD PTR CS:[200H]
CMP AL,3BH
JNE INT9RET
MOV AX,0B800H
MOV ES,AX
MOV BX,1
MOV CX,2000
S: INC BYTE PTR ES:[BX]
ADD BX,2
LOOP S
INT9RET: POP ES
POP CX
POP BX
POP AX
IRET
INT9END: NOP
CODESG ENDS
END START
我是在windows xp下的dos下调试的,没有效果啊 |