📄 time.asm
字号:
DATA SEGMENT
CHOS DB 0AH,0DH,'Please choose:(0--quit,1--date ,2--time): $'
DATE DB 0AH,0DH,' CURRETN DATE IS : $'
TIME DB 0AH,0DH,' CURRETN TIME IS: $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
AGAIN: LEA DX,CHOS
MOV AH,9
INT 21H
MOV AH,1
INT 21H
CMP AL,'1'
JNZ OK1
CALL DATES
OK1: CMP AL,'2'
JNZ OK2
CALL TIMES
OK2: CMP AL,'0'
JNZ AGAIN
EXIT:
MOV AH,4CH
INT 21H
DATES PROC
LEA DX,DATE
MOV AH,9
INT 21H
MOV AH,04H
INT 1AH
JC EXIT
PUSH DX
MOV BX,CX
MOV CX,4
P1: PUSH CX
MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,0FH
OR DL,30H
MOV AH,2
INT 21H
POP CX
LOOP P1
MOV DL,'-'
MOV AH,2
INT 21H
POP BX
MOV CX,4
P2:
PUSH CX
MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,0FH
OR DL,30H
MOV AH,2
INT 21H
POP CX
CMP CX,3
JNZ P3
MOV DL,'-'
MOV AH,2
INT 21H
P3:
LOOP P2
RET
DATES ENDP
TIMES PROC
LEA DX,TIME
MOV AH,9
INT 21H
MOV AH,2CH
INT 21H
DISPTIME PROC
MOV AL,CH
CBW
CALL S
MOV DL,':'
MOV AH,02H
INT 21H
MOV AL,CL
CBW
CALL S
MOV DL,':'
MOV AH,02H
INT 21H
MOV AL,DH
CBW
CALL S
RET
DISPTIME ENDP
S PROC
PUSH AX
PUSH CX
PUSH DX
MOV DX,0
MOV CX,10D
DIV CX
MOV BX,DX
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,BX
ADD DL,30H
MOV AH,02H
INT 21H
POP DX
POP CX
POP AX
RET
S ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -