注册 登录
编程论坛 汇编论坛

秒表程序的问题

ningcc 发布于 2007-06-03 23:31, 649 次点击

这是我自己写的一个秒表的程序,要求显示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

0 回复
1