⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chen3.asm

📁 利用BIOS的时间参数调用方法实现系统时间的驻留显示
💻 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 + -