主题:大虾指教下,下面这个8086汇编程序有什么问题?我找了一晚上。
;程序的功能是以"年/月/日 时:分:秒 "的格式显示当前时间
;8086cpu工作模式
ASSUME CS:codesg
codesg SEGMENT
DB "// :: "
s:DB 18 DUP(0)
start: MOV AX,CS
MOV DS,AX
MOV ds,AX
MOV SI,OFFSET s
MOV DI,0
MOV AL,0
CALL NEAR PTR GEtt
MOV AL,2
CALL NEAR PTR GEtt
MOV AL,4
CALL NEAR PTR GEtt
MOV AL,7
CALL NEAR PTR GEtt
MOV AL,8
CALL NEAR PTR GEtt
MOV AL,9
CALL NEAR PTR GEtt
MOV CX,18
MOV SI,OFFSET s
MOV BX,0b800h
MOV ES,BX
MOV DI,0
CLD
REP MOVSb
MOV AX,4c00h
INT 21h
GEtt: OUT 70h,AL
IN AL,71h
MOV AH,AL
MOV CL,4
SHR AH,CL
ADD AH,30h
AND AL,00001111b
ADD AL,30h
MOV [SI],AX
ADD SI,2
MOV BYTE PTR AL,[DI]
MOV BYTE PTR [SI],AL
INC SI
INC DI
RET
codesg ENDS
END start
;8086cpu工作模式
ASSUME CS:codesg
codesg SEGMENT
DB "// :: "
s:DB 18 DUP(0)
start: MOV AX,CS
MOV DS,AX
MOV ds,AX
MOV SI,OFFSET s
MOV DI,0
MOV AL,0
CALL NEAR PTR GEtt
MOV AL,2
CALL NEAR PTR GEtt
MOV AL,4
CALL NEAR PTR GEtt
MOV AL,7
CALL NEAR PTR GEtt
MOV AL,8
CALL NEAR PTR GEtt
MOV AL,9
CALL NEAR PTR GEtt
MOV CX,18
MOV SI,OFFSET s
MOV BX,0b800h
MOV ES,BX
MOV DI,0
CLD
REP MOVSb
MOV AX,4c00h
INT 21h
GEtt: OUT 70h,AL
IN AL,71h
MOV AH,AL
MOV CL,4
SHR AH,CL
ADD AH,30h
AND AL,00001111b
ADD AL,30h
MOV [SI],AX
ADD SI,2
MOV BYTE PTR AL,[DI]
MOV BYTE PTR [SI],AL
INC SI
INC DI
RET
codesg ENDS
END start