200|0

926

帖子

0

资源

纯净的硅(初级)

HEX文件格式 [复制链接]

HEX文件格式

开打Hex文件,如下所示:

:020000040800F2
:100000001013002089010008950C00088D0C0008D1
:10001000910C00084302000835140008000000009D

.............

:08CAD000050002040608000045

:04000005080000ED02
:00000001FF

文件格式

1、以行为单位。

2、每行开头是“:“(0x3A),结尾”回车换行“(0x0D,0x0A.)。

3、中间所有内容都是一字符形式表现的。若数据是”0x1A“,在HEX中就是”0x31 0x41“。

4、HEX文件格式:”LLAAAATT【DD.----】CC“。

 

代号 字段 长度
: : 1字节
LL 数据长度 1字节
AAAA 数据地址 2字节
TT 数据类型 1字节
DD-- 数据 N字节
CC 校验 1字节
回车换行 0x0D 0x0A 2字节回车换行

TT数据类型:

00->数据记录

01->用来标识文件记录的结束

02->用来标识扩展段地址

03->开始段地址

04->用来标识扩展线性地址(虚地址)

05->开始线性地址(虚地址)

 CC校验和:

校 验和的计算是通过将记录当中所有十六进制编码数字对的值相加, 以256 为 模 进 行以下 补 足.

例如:

 :10246200464C5549442050524F46494C4500464C33

33 是这个记录的校 验和即0x33;计算方法如下:100H-(10H+24H+62H+00H+46H+4CH+55H+49H+44H+20H+50H+52H+4FH+46H+49H+4CH+45H+00H+46H+4CH) % 100H=33H;

扩展线性地址记录(HEX386)

 

扩展线性地址记录又称为32位地址记录或者HEX386记录。 这些记录包含了数据地址的高16位。T扩展线性地址记录总是有两个数据,格式如下

:020000040800F2

这里:

02 是记录的数据位数

0000 对于扩展线性地址记录,这部分都是零。

04 代表记录类型是扩展线性地址记录。

0800 是地址的高16位。

F2 是以下计算结果的和:01h + NOT(02h + 00h + 00h + 04h + 08h + 00h).

当一个扩展线性地址被读取时,在数据域中的扩展线性地址被储存并且运用到后来的记录的读取中。线性地址保持有效直到被另外一个扩展地址所改变。数据的绝对地址由扩展线性地址和偏移地址相加获得。

下面这个例子可以说明这个过程。

数据记录的地址域中的地址                          2462

扩展线性地址记录的数据域                      0800

                                              --------

绝对地址:                                    08002462

 

扩展段地址记录(HEX86)

扩展段地址记录(也称HEX86)包括数据地址段的4-19位。扩展段地址记录总有两个数据位。一般如下:

:020000021200EA

这里:

02 在本记录中的数据的位数。

0000对于扩展段地址记录,这部分都是零。

02是记录类型,也就是扩展段地址记录。

1200 是地址段

EA 是如下计算的结果01h + NOT(02h + 00h + 00h + 02h + 12h + 00h).

当一个扩展段地址被读取时,储存在数据域的扩展段地址被保存,应用到后面的记录,并且保持有效,直到被新的扩展地址所代替。绝对地址的获得是段地址乘以16加上偏移地址。

以下这个例子说明这个过程。

记录地址域获得的地址:                2462

扩展段地址的数据域:                   1200

                                  --------

绝对存储地址:                    00014462

 

结束文件记录:

一个英特尔HEX文件必须由一个EOF文件来结束。一个结束文件记录一般这样出现:

:00000001FF

这里:

00是记录的数据位数.

0000 是数据在存储器中定位的数据的地址.在结束文件中的地址是没有意义和可以忽略的。一个 0000h 的地址是很典型的。

01是记录类型,结束文件记录

FF 由这样计算得出:01h + NOT(00h + 00h + 00h + 01h)

起始线性地址类型记录:

 只使用于803386.x86的寻址方面的知识。

起始段地址类型记录:

只适用于8086/800186.


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表