📄 screen.mac
字号:
; --------------------------------------------------------------------
; 屏幕操作宏指令库 - SCREEN.MAC
; --------------------------------------------------------------------
; 设置光标位置
; 调用:TOPOST 光标位置
TOPOST MACRO POST
PUSH DX
PUSH BX
PUSH AX
MOV AH, 2
XOR BH, BH
MOV DX, POST
INT 10H
POP AX
POP BX
POP DX
ENDM
; 通过DX设置光标位置
DXPOST MACRO
PUSH BX
PUSH AX
MOV AH, 2
XOR BH, BH
INT 10H
POP AX
POP BX
ENDM
; 清屏,设置属性
; 调用:CLRSCR 属性
CLRSCR MACRO COLOR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AX, 0600H
MOV BH, COLOR
XOR CX, CX
MOV DX, 184FH
INT 10H
TOPOST 0000H
POP DX
POP CX
POP BX
POP AX
ENDM
; 新建窗口
; 调用:WINDOW 左上角行列号, 右下角行列号, 属性
WINDOW MACRO LU_POST, RD_POST, COLOR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AX, 0600H
MOV BH, COLOR
MOV CX, LU_POST
MOV DX, RD_POST
INT 10H
POP DX
POP CX
POP BX
POP AX
ENDM
; 在指定位置显示字符串
; 调用:PUTS 光标行列号, 字符串变量(以$结束)
; 特殊:POST = 0FFFFH时表示不移动光标,就地输出
PUTS MACRO POST, S
LOCAL HERE
PUSH DX
PUSH AX
MOV AX, POST
CMP AX, 0FFFFH
JZ HERE
TOPOST POST
HERE: MOV AH, 9
LEA DX, S
INT 21H
POP AX
POP DX
ENDM
; 在指定位置输入字符串
; 调用:GETS 光标行列号, 字符串存放地址
; 特殊:POST = 0FFFFH时表示不移动光标,就地输入
GETS MACRO POST, S
LOCAL HERE
PUSH DX
PUSH AX
MOV AX, POST
CMP AX, 0FFFFH
JZ HERE
TOPOST POST
HERE: MOV AH, 0AH
LEA DX, S
INT 21H
POP AX
POP DX
ENDM
; 在指定位置显示字符
; 调用:PUTC 光标行列号, 字符ASCII, 属性
PUTC MACRO POST, CHR, COLOR
PUSH DX
PUSH CX
PUSH BX
PUSH AX
TOPOST POST
MOV AH, 9
MOV AL, CHR
MOV BL, COLOR
MOV CX, 1
INT 10H
POP AX
POP BX
POP CX
POP DX
ENDM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -