📄 exp92.asm
字号:
CODE SEGMENT PARA
ASSUME CS:CODE,DS:CODE
NEW_INT0 PROC FAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH BP
PUSH DS
PUSH ES
STI
JMP START
OLD_INT0 DD ?
STRING DB 'Divide by zero!$'
START: PUSH CS
POP DS
MOV DX,OFFSET STRING
MOV AH,9
INT 21H
MOV AH,2
MOV DL,07H
INT 21H
MOV AH,0
INT 16H
RETURN: CLI
POP ES
POP DS
POP BP
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
IRET
NEW_INT0 ENDP
H_LEN EQU $-NEW_INT0
MAIN PROC FAR
MOV AX,CS
MOV DS,AX
MOV AH,35H
MOV AL,0 ;GET INT 0 ADDR
INT 21H
MOV WORD PTR OLD_INT0,BX
MOV WORD PTR OLD_INT0+2,ES
MOV AH,25H
MOV AL,0
MOV DX,OFFSET NEW_INT0 ;DS=CS
INT 21H
MOV DX,(H_LEN+15)/16+10H
MOV AX,3100H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -