📄 chen3.asm
字号:
COUNT_VAL= 18
DPAGE = 0
ROW = 0
COLUMN = 80-BUFF_LEN
COLOR = 07H
CSEG SEGMENT
ASSUME CS:CSEG , DS:CSEG
COUNT DW COUNT_VAL
HHHH DB ?,?,':'
MMMM DB ?,?,':'
SSSS DB ?,?
BUFF_LEN = $-OFFSET HHHH
CURSOR DW ?
OLD1CH DD ?
NEW1CH : CMP CS:COUNT,0
JZ NEXT
DEC CS:COUNT
JMP DWORD PTR CS:OLD1CH
NEXT: MOV CS:COUNT,COUNT_VAL
STI
PUSH DS
PUSH ES
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH BP
PUSH CS
POP DS
PUSH DS
POP ES
CALL GET_T
MOV BH ,DPAGE
MOV AH,3
INT 10H
MOV CURSOR,DX
MOV BP,OFFSET HHHH
MOV BH,DPAGE
MOV DH,ROW
MOV DL,COLUMN
MOV BL,COLOR
MOV CX,BUFF_LEN
MOV AL,0
MOV AH,13H
INT 10H
MOV BH,DPAGE
MOV DX,CURSOR
MOV AH,2
INT 10H
POP BP
POP SI
POP DX
POP CX
POP BX
POP AX
POP ES
POP DS
JMP DWORD PTR CS:OLD1CH
GET_T PROC
MOV AH,2
INT 1AH
MOV AL,CH
CALL TTASC
XCHG AH,AL
MOV WORD PTR HHHH,AX
MOV AL,CL
CALL TTASC
XCHG AH,AL
MOV WORD PTR MMMM,AX
RET
GET_T ENDP
TTASC PROC
MOV AH,AL
AND AL,0FH
SHR AH,1
SHR AH,1
SHR AH,1
SHR AH,1
ADD AX,3030H
RET
TTASC ENDP
START: PUSH CS
POP DS
MOV AX,351CH
INT 21H
MOV WORD PTR OLD1CH,BX
MOV WORD PTR OLD1CH+2,ES
MOV DX,OFFSET NEW1CH
MOV AX,251CH
INT 21H
MOV DX,OFFSET START
ADD DX,15
MOV CL,4
SHR DX,CL
ADD DX,10H
MOV AH,31H
INT 21H
CSEG ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -