找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于51单片机的汇编语言的程序调试(为何累加器A中得内容变为了06H)望大神指导一二

查看数: 4543 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-11-14 21:17

正文摘要:

在proteus中仿真调试, 执行到这一步时为何累加器A中得内容变为了06H,为何不是04H; 还有pc的值为何从0040跳到了0042,以及后面的0044,0047是怎么跳转的,汇编刚接触,不太明白,希望得到指点

回复

ID:229016 发表于 2018-11-16 12:26
Y_G_G 发表于 2018-11-15 19:13
你把别的回答先忘了
汇编,你不要去管PC值,这玩意不好搞的,左边的那数字不要去管了.还有,汇编代码最好是 ...

懂了,谢谢您,收获很多
ID:401564 发表于 2018-11-15 19:13
探路 发表于 2018-11-15 14:22
TAB:DB 00H,46H,4FH,5BH,06H;空,“4”,“3”,“2”,“1”的字段码

你把别的回答先忘了
汇编,你不要去管PC值,这玩意不好搞的,左边的那数字不要去管了.还有,汇编代码最好是搞好一点代码风格,不然自己都看不明白
ID:111634 发表于 2018-11-15 17:22
探路 发表于 2018-11-15 14:35
指令是多少字节这是什么意思?指令字节宽度?这些宽度是如何推算的呢?
我的tab表是这样的:
TAB:DB 00 ...

1. 指令字节宽度是固有的,共有1、2、3字节3种,你可查书中指令字节表。
2. tab表首址是0075, 0075+4=0079, 0079存储单元内的数据正好是06H.
你欲深刻理解和深入学习,介绍你2本书,张志良编著的:《单片机原理与控制技术——双解汇编和C51》第3版ISBN 978-7-111-42393-5机械工业出版社;《单片机学习指导及习题解答——双解汇编和C51》第2版ISBN 978-7-111-42431-4机械工业出版社。后书是前书的配套教材,但也可单独使用。这2本书是双解汇编和c,对汇编有较为详细的解说,有许多思考题,并有习题解答。便于阅读理解,便于自学。书中电路和程序设计有详细说明,程序语句条条有注解。你可先去图书馆或新华书店翻阅。
ID:229016 发表于 2018-11-15 14:38
sxhwdz 发表于 2018-11-15 09:17
R7初始值是4, 每次运行到005A,会减一,若不等于0,则跳转到0047(LOOP)循环入口,否则跳出循环,执行下一 ...

TAB:DB 00H,66H,4FH,5BH,06H ;“空”,“4”,“3”,“2”,“1”的字段码
这是具体的tab表,忘记贴了,但04+00不等于06啊,这里的02哪里来的呢?
ID:229016 发表于 2018-11-15 14:35
zl2168 发表于 2018-11-15 08:21
pc的值为何从0040跳到了0042,是因为前一条指令是2字节。同理,0044,0047跳转也是前面的指令依次是是2字节 ...

指令是多少字节这是什么意思?指令字节宽度?这些宽度是如何推算的呢?
我的tab表是这样的:
TAB:DB 00H,66H,4FH,5BH,06H ;“空”,“4”,“3”,“2”,“1”的字段码
DPTR中放的数据不因该是地址码吗?是地址0075,也就是tab表的地址,tab表的
第一个的数据应该是00,00+04=04,这个02是从哪里来的呢?
我小白,麻烦了,望耐心指点
ID:229016 发表于 2018-11-15 14:22
Y_G_G 发表于 2018-11-15 08:24
问题不在这里,问题在于TAB这个表,你没有让我看到你TAB的表

TAB:DB 00H,46H,4FH,5BH,06H;空,“4”,“3”,“2”,“1”的字段码
ID:387733 发表于 2018-11-15 09:17
R7初始值是4, 每次运行到005A,会减一,若不等于0,则跳转到0047(LOOP)循环入口,否则跳出循环,执行下一条指令。0044给数据指针DPTR赋值为#TAB,应该是一个表格。0047把当前R7(4~1)赋给A,0048 是查表,把表格中  DPTR+A 项(也就是 TAB+R7),的值赋给A
ID:401564 发表于 2018-11-15 08:24
问题不在这里,问题在于TAB这个表,你没有让我看到你TAB的表
ID:111634 发表于 2018-11-15 08:21
pc的值为何从0040跳到了0042,是因为前一条指令是2字节。同理,0044,0047跳转也是前面的指令依次是是2字节、3字节。累加器A中得内容变为了06H,为何不是04H,DPTR中的数据是02,加上04,变成了06.

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表