📄 jac.asm
字号:
stack segment stack
dw 64 dup(?)
stack ends
DATA SEGMENT
TABLE DB "This is IRQ7!"
str1 db "(This is IRQ6!)"
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
; cli
PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ7
ADD AX,2000H
MOV SI,003cH
MOV [SI],AX
MOV AX,0000H
MOV SI,3eH
MOV [SI],AX
mov ax,offset IRQ6
add ax,2000h
mov si,0038h
mov [si],ax
mov ax,0000h
mov si,3ah
mov [si],ax
POP DS
MOV AL,13H
OUT 20H,AL
MOV AL,08H
OUT 21H,AL
MOV AL,09H
OUT 21H,AL
MOV AL,03FH
OUT 21H,Al
cc: sti
jmp cc
IRQ7:sti
push cx
push si
mov cx,13
mov si,offset table
A1: mov al,[si]
mov ah,01h
add si,1
int 10h
call delly
loop A1
pop si
pop cx
mov al,20h
out 20h,al
iret
IRQ6:sti
mov ah,06h
mov bx,offset str1
int 10h
mov al,20h
out 20h,al
iret
DELLY PROC
PUSH AX
PUSH CX
MOV CX,1000
M1: MOV AX,0000H
push cx
mov cx,002fh
M2: mov ax,0000h
loop M2
pop cx
LOOP M1
POP CX
POP AX
RET
DELLY ENDP
;over: nop
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -