- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解读hex文件,hex文件,hex文件格式,keil怎么生成hex文件,.hex是什么文件,hex文件反编译,keil生成hex文件,iar生成hex文件,hex文件用什么打开,hex文件转换成bin文件
PIC HEX文件格式分析 - 适用MPLAB
8位機 2011-03-25 11:26:40 阅读39 评论0 ??字号:大中小?订阅
本文引自:/212583/95624
概要
.HEX文件是MPLAB生成的一种可执行文件的格式,它本身是由ASCII字符组成的,但其包含16进制的可执行代码的信息,也就是说,这类文件描述在程序存储器的哪个单元放入什么指令。
.HEX文件的种类
MPLAB可以生成3种不同格式的可执行文件。其中两种是.HEX文件,它们分别称为INHX8M格式(Intel Hex Format)和INHX32格式(Intel Hex 32 Format);另外一种称为INHX8S格式(Intel Split Hex Format),这种格式会同时生成.HXL和.HXH文件,两个文件分别存放指令数据的低字节和高字节。这里只讨论两种.HEX文件。MPLAB内嵌的连接器MPLINK在默认情况下生成INHX32格式的.HEX文件,也可以使用/aINHX8M选项指定生成INHX8M格式的.HEX文件。我们的烧写器应该能支持这两种格式的.HEX文件。
INHX32格式的.HEX文件
一个INHX32格式的.HEX文件是由若干个形式相同的行构成的。
行的种类
对于最多只有8K字程序空间的PIC16F87X单片机而言,相应的.HEX文件只有3种不同的行:线性地址定位行,代码数据行,结尾标志行。一个.HEX文件的第1行是一个线性地址定位行,后面接着是若干个代码数据行,最后一行是结尾标志行。线性地址定位行仅仅对超过32K字代码的程序有用。实际上,INHX32格式与INHX8M格式的不同之处就在于它能表示超过32K字代码的程序。线性地址定位行中指定指令存放地址的高16位,而低16位由代码数据行中的“AAAA”部分指定。“AAAA”表示指令存放地址的2倍,所以最多能表示32K字的指令,而PIC16F87X单片机最多只有8K字程序空间,故不需要用到指令地址的高16位,因此.HEX文件的线性地址定位行指定的指令地址的高16位总为“0000”。代码数据行指定一段连续存放的代码的起始存放地址和代码值。通常一行中最多有16条语句的代码。结尾标志行标志整个文件的结束。
行的格式
一个INHX32格式的.HEX文件的每一行都是下面这种格式::BBAAAATTHHHH....HHHHCC即开始是9个字符组成的前缀“:BBAAAATT”,加上若干个4字符的“HHHH”数据,结尾是2个字符的校验字“CC”。这里所说的“字符”是指组成文件的ASCII字符,而一个16进制“字节”必须用两个“字符”表示。各个部分的意义是:: 一行的开始符。BB 数据部分的字节数,即“HHHH”部分的字节数。AAAA 代码开始存放的地址的2倍。仅在代码数据行中有意义,在其余两种类型的行中这一部分为“0000”。TT 行的类型。????????? 00??? 代码数据行????????? 01??? 结尾标志行????????? 02??? 段地址定位行(PIC16F87X单片机的.HEX文件中没有用到)??? ????????? 04??? 线性地址定位行HHHH 在代码数据行中,表示一条14-bit的指令代码,其中低字节在前,高字节在后,比如“movlw 0xaa”这条指令对应的代码是30AA,相应的HHHH表示为AA30;在结尾标志行中,没有这一部分;在线性地址定位行中,这一部分为指令存放地址的高16位。CC 校验字。校验规则是,本行中前面所有的字节(两个字符)表示的16进制数相加,再加上CC表示的16进制数,所得的和必须是256的整数倍,即用16进制表示时末尾两位都为0。
示例
下面是一个简单的程序的汇编语句及对应的可执行代码。地址???? 代码?? 汇编解析??????? 源程序 -------? -----? -----------???? ---------------------??????????????????????????????? org?? 0x0000000000?? 2810?? GOTO? 0x10????? goto? main??????????????????????????????? org?? 0x0004000004?? 2818?? GOTO? 0x18????? goto? int_serv??????????????????????????????? org?? 0x0010??????????????????????????????? main000010?? 1683?? BSF?? 0x3,0x5?? bsf?
您可能关注的文档
- 螺丝检验标准.xls
- 螺旋钢筋自动计算公式(excel).xls
- 螺旋箍筋长度计算公式excel.xls
- 螺旋机构.ppt
- 行业会计商业银行3.ppt
- 血液透析患者主观舒适度评价表.xls
- 行为艺术 conflict and art.ppt
- 行政助理的绩效考核表.xls
- 行程安排1.xls
- 衡重式挡墙计算公式.xls
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解(能力提升).docx
- 电视胸腔镜下肺大疱.pptx
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解(达标题).docx
- 2023年度汽车技师职业鉴定题库检测试题打印附完整答案详解(网校专用).docx
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解(基础题).docx
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解(考试直接用).docx
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解(典型题).docx
- 2023年度汽车技师职业鉴定题库检测试题打印带答案详解(B卷).docx
- 2023年度汽车技师职业鉴定题库检测试题打印附参考答案详解【综合题】.docx
- 2023年度汽车技师职业鉴定题库检测试题打印含答案详解【综合卷】.docx
文档评论(0)