HariboteOS/day14/inthandler.asm
2021-04-05 23:15:25 +08:00

70 lines
1.0 KiB
NASM

[BITS 32]
GLOBAL asm_int_handler20, asm_int_handler21, asm_int_handler27, asm_int_handler2c
EXTERN int_handler20, int_handler21, int_handler27, int_handler2c
asm_int_handler20:
PUSH ES
PUSH DS
PUSHAD
MOV EAX, ESP
PUSH EAX
MOV AX, SS
MOV DS, AX
MOV ES, AX
CALL int_handler20
POP EAX
POPAD
POP DS
POP ES
IRETD
asm_int_handler21:
PUSH ES
PUSH DS
PUSHAD
MOV EAX, ESP
PUSH EAX
MOV AX, SS
MOV DS, AX
MOV ES, AX
CALL int_handler21
POP EAX
POPAD
POP DS
POP ES
IRETD
asm_int_handler27:
PUSH ES
PUSH DS
PUSHAD
MOV EAX, ESP
PUSH EAX
MOV AX, SS
MOV DS, AX
MOV ES, AX
CALL int_handler27
POP EAX
POPAD
POP DS
POP ES
IRETD
asm_int_handler2c:
PUSH ES
PUSH DS
PUSHAD
MOV EAX, ESP
PUSH EAX
MOV AX, SS
MOV DS, AX
MOV ES, AX
CALL int_handler2c
POP EAX
POPAD
POP DS
POP ES
IRETD