标题: [求助]高手请进 [打印本页]

作者: 冰点柔情    时间: 2008-9-22 09:11
标题: [求助]高手请进
郁闷啊!本人看此程序看了一早上,不过还是不明白,希望高手能给指点一下,最好是每步都要解释,特别是制表符和十进制调整,谢谢啊!望着色的地方详细解释。
ORG 0000H
LJMP MAIN
ORG 030H
MAIN:MOV 20H,#00H
MOV A,20H
GOON:CLT C
ANL A,#OFH
MOV DPTR,#TAB
MOVC A,@A+DPTR
PP:CLR P2.2
MOV A,20H
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
ACALL DEL
SETB P2.1
MOV A,20H
INC A
DA A
MOV 20H,A
AJMP GOON
DEL:MOV R7,#OFFH
DEL1:MOV R6,#O1FH
DEL2:MOV R5,#O1FH
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
RET
ORG 0100H
TAB:DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H
END

作者: CHAOWU6636    时间: 2008-9-23 21:52
高手,這句還是不能吃透。可否講詳細點。謝謝!
DA A ;对A进行十进制调整变为BCD码(A0-3>9,则A0-3+6→A0-3, 同时A4-7>9,则A4-7+6→A4-7)
作者: 冰点柔情    时间: 2008-9-26 10:51

因为十六进制和十进制之间的差是6,所以DA A结果后,若累加器A的低4位数值大于9或者第3位向第4位产生进位,则需将A的低4位内容加6调整。以产生低4位正确的BCD码。高位也是如此。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1