📄 12.4s.asm
字号:
code segment
assume cs:code,ds:code
show macro
local sh1,sh2
push ax
push cx
push dx
mov ah,2
mov cx,4
shr dl,cl
cmp dl,0ah
jb sh1
add dl,07h
sh1: add dl,30h
int 21h
pop dx
push dx
and dl,0fh
cmp dl,0ah
jb sh2
add dl,07h
sh2: add dl,30h
mov ah,2
int 21h
mov ah,2
mov dl,20H
int 21h
pop dx
pop cx
pop ax
endm
tip macro a
local tip0,tip1
jmp tip1
tip0: db a,'$'
tip1: push ds
push cs
pop ds
push dx
push ax
mov ah,9
lea dx,tip0
int 21h
pop ax
pop dx
pop ds
endm
start: mov ax,cs
mov ds,ax
reprec: mov ah,0
int 16h
push ax
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov ah,2
int 16h
test al,80h
jz nextbi1
tip 'INS '
nextbi1: test al,40h
jz nextbi2
tip 'Caps Lock '
nextbi2: test al,20h
jz nextbi3
tip 'Num Lock '
nextbi3: test al,10h
jz nextbi4
tip 'Scroll Lock '
nextbi4: test al,8
jz nextbi5
tip 'Alt '
nextbi5: test al,4
jz nextbi6
tip 'Ctrl '
nextbi6: test al,2
jz nextbi7
tip 'L shift '
nextbi7: test al,1
jz nextbi8
tip 'R shift '
nextbi8: cmp al,0
je nextbi9
mov dl,al
show
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
nextbi9: pop ax
mov dl,ah
show
mov dl,al
show
cmp al,1bh
je exits
jmp reprec
exits: mov ah,4ch
int 21h
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -