返回信息流微机原理课本上的代码,一个计时器的程序,为什么根本不能用?
大牛们帮看看哪里出问题了?~
跪谢!
STACK SEGMENT STACK 'STACK'
DW 32 DUP (0)
STACK ENDS
DATA SEGMENT
COUNT DB 18
ECT DB 'ENTER CURRENT TIME:$'
BUFFER DB 9,0
TENHO DB '0'
HOUR DB '0:'
TENMIN DB '0'
MINUTE DB '0:'
TENSEC DB '0'
SECOND DB '0',0DH,'$'
STORE DW 0,0
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACK
PUSH DS
MOV AX,0
PUSH AX
MOV ES,AX
MOV AX,DATA
MOV DS,AX
MOV DI,OFFSET STORE
MOV AX,ES:20H
MOV [DI],AX
INC DI
INC DI
MOV AX,ES:22H
MOV [DI],AX
MOV DX,OFFSET ECT
MOV AH,9
INT 21H
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H
MOV BH,70H
MOV CH,0
MOV CL,0
MOV DH,24
MOV DL,79
MOV AL,0
MOV AH,7
INT 10H
MOV DI,20H
MOV AX,OFFSET TIMERX
MOV ES:[DI],AX
INC DI
INC DI
MOV AX,CS
MOV ES:[DI],AX
FOREVE:MOV AH,2
MOV BH,0
MOV DH,12
MOV DL,24
INT 10H
MOV AH,9
MOV DX,OFFSET TENHO
INT 21H
MOV AL,SECOND
HERE:CMP AL,SECOND
JE HERE
MOV AH,0BH
INT 21H
INC AL
JNZ FOREVE
MOV DI,20H
MOV AX,STORE
MOV ES:[DI],AX
INC DI
INC DI
MOV AX,STORE+2
MOV ES:[DI],AX
RET
MAIN ENDP
TIMERX PROC FAR
DEC COUNT
JNZ TIMER
MOV COUNT,18
INC SECOND
CMP SECOND,'9'
JLE TIMER
MOV SECOND,'0'
INC TENSEC
CMP TENSEC,'6'
JL TIMER
MOV TENSEC,'0'
INC MINUTE
CMP MINUTE,'9'
JLE TIMER
MOV MINUTE,'0'
INC TENMIN
CMP TENMIN,'6'
JL TIMER
MOV TENMIN,'0'
INC HOUR
CMP HOUR,'9'
JA ADJHO
CMP HOUR,'3'
JBE TIMER
CMP TENHO,'1'
JBE TIMER
MOV HOUR,'0'
MOV TENHO,'0'
JMP TIMER
ADJHO:INC TENHO
MOV HOUR,'0'
TIMER:MOV AL,20H
OUT 20H,AL
IRET
TIMERX ENDP
CODE ENDS
END MAIN
这是一条镜像帖。来源:北邮人论坛 / scs / #145694同步于 2013/5/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SCS机器人发帖
[问题]微机原理课本上的代码,一个计时器的程序,为什么根本不
wangyingmo
2013/5/21镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。