动态显示时间
TIME1 DB 'Current time is $'
TIME2 DB '00:00:00',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
;LEA DX,TIME1 ;数据段时间提示数据显示输出
;MOV AH,9 ;Dos功能调用(21H)
INT 21H
MOV AH,2 ;Dos功能调用,2H 获得系统时间
INT 1AH ;Dos功能调用(1AH)
MOV AX,CX ;CX中为分钟和小时
MOV CX,2
LEA SI,TIME2
CALL NUMTOASCII
MOV AH,AL
MOV CX,2
LEA SI,TIME2+3
CALL NUMTOASCII
MOV AH,DH
MOV CX,2
LEA SI,TIME2+6
CALL NUMTOASCII
MOV CH,0
MOV CL,8
LEA BP,TIME2
CALL DISP
JMP START
MOV AX,4C00H
INT 21H
NUMTOASCII PROC ;这个函数完成了,重AX提取出它的16位的内容,保存在SI为首地址的地方里面,CX的表示
;CX是个数。AX是从AH开始有效的.
PUSH AX
PUSH BX
PUSH SI
LP: PUSH CX
MOV CH,0
MOV CL,4
ROL AX,CL
MOV BL,AL
AND BL,0FH
OR BL,30H
MOV [SI],BL
POP CX
INC SI
LOOP LP
POP SI
POP BX
POP AX
RET
NUMTOASCII ENDP
DISP PROC
PUSH AX
PUSH BX
PUSH DX
MOV AH,13H
MOV AL,0
MOV BH,0
MOV BL,2
MOV DH,10
MOV DL,40
INT 10H
POP DX
POP BX
POP AX
RET
DISP ENDP
CODE ENDS
END START
浙公网安备 33010602011771号