当前位置:首页 > 单片机 > 单片机
[导读]研究了一下BIN与HEX的关系,发现由BIN转到HEX比较简单,但是由BIN转到HEX就觉得多了一行东西。 上图看一下: 用别人写的代码也是一样多出来。 上网找了一下发现也有人跟我遇到相同的问题:http://bbs.21ic.com/icv

研究了一下BIN与HEX的关系,发现由BIN转到HEX比较简单,但是由BIN转到HEX就觉得多了一行东西。

上图看一下:


用别人写的代码也是一样多出来。

上网找了一下发现也有人跟我遇到相同的问题:http://bbs.21ic.com/icview-187817-1-1.html

并且给出了答案

以":0400000508004ABDE8"为例子。
其中的地址是0x08004ABD,当下载代码到芯片里后(不勾选 run to main),程序恰好停在 0x08004ABD,对应于标号: __iar_program_start

维基百科是这么说:
http://en.wikipedia.org/wiki/Intel_HEX
05,Start Linear Address Record. The address field is 0000, the byte count is 04. The 4 data bytes represent the 32-bit value loaded into the EIP register of the 80386 and higher CPU.

根据http://en.wikipedia.org/wiki/X86_assembly_language
Theinstruction pointeris called ip in 16-bit mode, eip in 32-bit mode, and rip in 64-bit mode. The instruction pointer register points to the memory address which the processor will next attempt to execute
实际上 EIP 寄存器就是 STM8或者ARM芯片的PC指针。

可见,上面维基百科的描述是对的:类型05后面跟的是4字节地址,将赋给(STM8或者ARM芯片的)PC指针。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭