这是我自己写的一个秒表的程序,要求显示00:00 00:01 00:02......,可我就只显示00:00,不知道哪里错了,希望大家帮忙看看,谢谢~
DATA SEGMENT
BUF DB ?,?,3AH,?,?,0
DATA ENDS ;段定义结束
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
MAIN PROC FAR
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV BH,30H
MOV BL,30H
MOV CH,30H
MOV CL,30H
MOV BUF,BH ;分-十位
MOV BUF+1,BL ;分-个位
MOV BUF+3,CH ;秒-十位
MOV BUF+4,CL ;秒-个位
LOP1:
CALL DISPLAY1
CALL DELAY
ADD CL,01H
CMP CL,39H
JB LOP1
MOV CL,30H
ADD CH,01H
CMP CH,39H
JB LOP1
MOV CH,30H
ADD BL,01H
CMP BL,39H
JB LOP1
MOV BL,30H
ADD BH,01H
CMP BH,36H
JB LOP1
EXIT: MOV AH,4CH
INT 21H
DISPLAY1 PROC NEAR
PUSH BX
PUSH CX
MOV CX,6 ;逐个显示数据段中的数据
LEA SI,BUF
XS: MOV DL,BUF[SI] ;XS为显示循环标号
MOV AH,02H
INT 21H
INC SI
LOOP XS
POP BX
POP CX
RET
DISPLAY1 ENDP
DELAY PROC NEAR ;8086延时子程序
;PUSH BX
;PUSH CX
MOV BX,1000H
LP2: MOV CX,1000H
LP1: PUSHF
POPF
LOOP LP1
DEC BX
JNZ LP2
;POP CX
;POP BX
RET
DELAY ENDP
MAIN ENDP
CODE ENDS
END START