+ -
当前位置:首页 → 问答吧 → 将接受过来的字符串放在A中,然后译码,将2进制变为16进制,不知道哪错了?

将接受过来的字符串放在A中,然后译码,将2进制变为16进制,不知道哪错了?

时间:2011-05-26

来源:互联网

ORG 000H
ORG 000H
MOV TMOD,#00100000B
MOV TH1,#00H
MOV TL1,#00H
SETB TR1
MOV SCON,#80H
MOV PCON,#0H
LOOP: CLR RI
JNB RI,$
MOV A,SBUF
HEX: MOV B,@A ;取操作数
CLR C
SUBB B,#30H ;0-9的转换
MOV @A,B ;暂存结果
SUBB B,#0AH ;结果是否大于9
JC SB2 ;小于则返回
XCH B,@A
SUBB B,#37H ;大于则减37H
MOV @A,B ;存结果
SB2: RET
END

作者: wzk240068993   发布时间: 2011-05-26

SUBB B,#37H ;大于则减37H

改成
SUBB B,#7H ;大于则减7H

作者: Areslee   发布时间: 2011-05-26