打印

熟悉51单片机的兄弟请进来帮小弟一下

[复制链接]
1867|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
高个|  楼主 | 2008-11-17 19:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在正在学习51单片机,用的是飞利浦P89C51R2这个型号的单片机。
师傅给我的写进单片机里的HEX文件中倒数第二句是:
:0400000300000000F9,其中04是该句中的数据字节数,0000是本条记录中的数据在存储区中的起始地址。03是记录类型:(00 表示数据记录 (data record) ,01 End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾,02 表示段记录 (paragraph record),03 表示转移地址记录 (transfer address record),04 Extended Linear Address Record: 用来标识扩展线性地址的记录)我这里出现的是03,表示转移地址记录。但我不知道如何看它的转移地址,后面那八个0是表示转移地址吗?
望高手指点一下。

相关帖子

沙发
ayb_ice| | 2008-11-17 20:20 | 只看该作者

这个查一下HEX格式便知

没有必要关心这些,除非你要解码这些数据。

使用特权

评论回复
板凳
高个|  楼主 | 2008-11-17 20:38 | 只看该作者

确实要解码HEX文件

我已经查过,并且已经把HEX文件翻译成汇编语言了,关键是有个ACALL指令代码是F1H,后面的地址代码是EAH,如果照这个ACALL语句来看它要跳到地址07EA的地方,但是我这个程序最远的地址才到0346H。我想知道这个跳转是不是和后面这个地址跳转0400000300000000F9有关。
望高手指点

使用特权

评论回复
地板
g19860529| | 2008-11-17 20:48 | 只看该作者

我也刚学,一起努力吧

使用特权

评论回复
5
耕在此行| | 2008-11-17 21:07 | 只看该作者

怎么不用反汇编呢

使用特权

评论回复
6
ayb_ice| | 2008-11-17 21:25 | 只看该作者

LZ要去看ACALL指令格式

使用特权

评论回复
7
高个|  楼主 | 2008-11-17 21:53 | 只看该作者

反汇编反编译不了

用反汇编软件会报这个不是32位的PE文件,反编译出来的到编译器上运行不了。现在我根据这个HEX文件反编译出汇编程序,再由这个程序生成的HEX文件和原版的基本相同,就差ACALL这个语句的所调用的地址和原版的不同。如果要让两个相同的话,除非在后面加一句:ORG 07EA
                                  07EAH:MOV R1 ,#97H,这个MOV R1 ,#97H是随便写的,为的是要这个07EAH这个地址。

使用特权

评论回复
8
5880527| | 2008-11-17 21:55 | 只看该作者

想偷学师傅的本领啊

使用特权

评论回复
9
高个|  楼主 | 2008-11-17 22:04 | 只看该作者

ACALL指令格式

这个我看书上只写它的地址代码有效位是11位,通过我在编译器上测试,发现指令格式是这样(XX代表ACALL后面的地址操作数):ACALL XXH,ACALL对应的十六进制代码分别为:11,31,51,71,91,B1,D1,F1,后面的地址代码为8位,但书上写它的有效位是11位,关键是剩下这三位,后来我发现剩下这三位是1,3,5,7,9,B,D,F这几个数的前三位二进制代码,分别是:000,001,010,011,100,101,110,111。由这三位数和后面的地址组成了ACALL指令的跳转地址。
我的那条指令对应的代码是F1,所以跳转地址是7+EAH=7EAH。

使用特权

评论回复
10
高个|  楼主 | 2008-11-17 22:08 | 只看该作者

学本领不叫偷,读书人的事怎么能叫偷呢?

我觉得这个“偷”表示你未经别人允许得到了别人的东西,并且别人也在你得到后缺少了这个东西,才叫“偷”。但是我学会了,我师傅并没有缺少什么,怎么能叫偷呢?

使用特权

评论回复
11
5880527| | 2008-11-17 22:15 | 只看该作者

哈哈,开玩笑了

有这求知欲还是值得表扬的。见过太多的师傅(或许不能叫师傅吧,只是一起共事,资格老点而已),一个简单得要命的问题都不回答你

使用特权

评论回复
12
jato| | 2008-11-19 23:59 | 只看该作者

对汇编很深入才可以

反汇编应该是不行的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

36

帖子

1

粉丝