汇编语言入门问题,求指点
小弟正在学习单片机,看书时遇到这么一个例题,有些迷茫,求高手指点。题目:将累加器A中的压缩BCD码拆成非压缩BCD码,低位放入30H,高位放入31H单元中。
解答:
PUSH ACC ;保存A中的内容 (1
ANL A,#0FH ;清除高四位,保留低四位 (2
MOV 30H,A ;低四位放入30H中 (3
POP ACC ;恢复A中原数据 (4
SWAP A ;高低四位呼唤 (5
ANL A,#0FH ;清除高四位,保留低四位 (6
MOV 31H,A ;低四位放入30H中 (7
我的问题是这为什么要高低位互换,如果高低位不互换,直接写成“ANL A,#F0H”行么?
求指教!








第一个,是这样的,假如A中存储的是34H,那么我们需要先提取出A的低四位,存入30H中,然后取高四位放在31H中,结果是0100存于30H,0011存于31H。如果按你的想法直接存放,那么30H依旧是存的0100,但是,31H中存放的结果就是01110000了,明白我的意思么?