標題: [求助]高手請進 [打印本頁]
作者: 冰點柔情 時間: 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.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |