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;
:020000040800F2
这里:
当一个扩展线性地址被读取时,在数据域中的扩展线性地址被储存并且运用到后来的记录的读取中。线性地址保持有效直到被另外一个扩展地址所改变。数据的绝对地址由扩展线性地址和偏移地址相加获得。
下面这个例子可以说明这个过程。
扩展线性地址记录的数据域 0800
绝对地址: 08002462
:020000021200EA
这里:
以下这个例子说明这个过程。
:00000001FF
01是记录类型,结束文件记录
FF 由这样计算得出:01h + NOT(00h + 00h + 00h + 01h)
起始线性地址类型记录:
只使用于803386.x86的寻址方面的知识。
起始段地址类型记录:
只适用于8086/800186.
LZ电子
QQ:3537572751