标题:汇编语言入门问题,求指点
只看楼主
云帆沧海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-7-7
结帖率:100%
已结贴  问题点数:10 回复次数:9 
汇编语言入门问题,求指点
小弟正在学习单片机,看书时遇到这么一个例题,有些迷茫,求高手指点。
题目:将累加器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”行么?
求指教!

搜索更多相关主题的帖子: 压缩 单片机 看书 学习 
2011-11-08 20:22
云帆沧海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-7-7
得分:0 
补充一下,我的意思是写成以下程序行么
PUSH ACC     ;保存A中的内容             (1
ANL  A,#0FH  ;清除高四位,保留低四位    (2
MOV  30H,A   ;低四位放入30H中           (3
POP  ACC     ;恢复A中原数据             (4
ANL  A,#F0H  ;清除低四位,保留高四位    (6
MOV  31H,A   ;低四位放入30H中           (7

2011-11-08 21:41
李尸尸
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:77
注 册:2011-11-7
得分:9 
第一个,是这样的,假如A中存储的是34H,那么我们需要先提取出A的低四位,存入30H中,然后取高四位放在31H中,结果是0100存于30H,0011存于31H。如果按你的想法直接存放,那么30H依旧是存的0100,但是,31H中存放的结果就是01110000了,明白我的意思么?
第二个,
按照ANL  A,#F0H  ;清除低四位,保留高四位    (6
这一步来看,你的答案依旧是错的......
2011-11-09 13:21
xinxi
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2011-11-9
得分:1 
我觉得楼主的 想法 也没错,,没有任何规定一定要使用 低半字节,,如果在某些情况要提高运行速度 想省去 一句SWAP A  也是可行的,,只要楼主注意 以后处理31H单元内容的时候 是高半字节有效。
2011-11-09 18:52
云帆沧海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-7-7
得分:0 
呵呵,谢谢两位大侠的回帖,小弟不胜感激。
2011-11-09 19:09
李尸尸
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:77
注 册:2011-11-7
得分:0 
那个AX可以拆分为高低各8位,AL不能拆分高低四位,这就是问题的所在了......
2011-11-09 22:30
云帆沧海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-7-7
得分:0 
小弟刚刚学习,AX和AL分别是什么呀?
2011-11-10 19:42
李尸尸
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:77
注 册:2011-11-7
得分:0 
AX是累加器,AL是AX的低8位,AH是AX的高8位,AX是计算机的寄存器,这方面的知识建议你去补充一下,汇编学好了,单片机自然就简单了,循序渐进还是合理的学习方法,推荐你王爽老师的《汇编语言》,绝对有帮助。呵呵,单片机我们下一年才学呢,如果你有什么好的资料也可以告诉我,提前看看。与君共勉
2011-11-10 22:09
云帆沧海
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-7-7
得分:0 
李尸尸你是现在在校学生么?能告诉我你在哪里读书么?想和你交个朋友。
2011-11-10 22:46
李尸尸
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:77
注 册:2011-11-7
得分:0 
大学生 嵌入式专业 呵呵 我们学校软件工程系最变态的专业,内蒙古的学校 呵呵
2011-11-10 23:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354637-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.522618 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved