Hex解析
Hex行格式
:[LL][ZZZZ][TT][SS….SS][RR]其中:
name | explain |
---|---|
[LL] | 表示该记录的实际数据的长度 |
[zzzz] | 表示该记录所包含的数据在实际的存储区中的起始地址 |
[TT] | 为该记录的类型 |
[SS……SS] | 该记录中的实际数据,该长度应该与[LL]域所指出长度一致 |
[RR] | 该记录的数据校验和 |
[TT]的常用类型
NUMBER | explain | English explain |
---|---|---|
00 | 数据记录,表示该记录所包含的数据为实际要烧写到存储器中的数据 | Data Record |
01 | 文件结束记录,表示该记录为本文件的最后一个记录 | End of File Record |
02 | 扩展段地址记录,表示该记录所包含的数据为段地址 | Start Segment Address Record |
04 | 扩展线性地址记录,表示该记录所包含的数据为线性地址 | Extended Linear Address Record |
05 | 开始线性地址记录 | Start Linear Address Record |
[RR]—-除:以外,当前行所有数据的和为00H,注意对和只取低8位
Example:
:020000048000F2
[02][0000][04][0000][F2]
表示线性扩展地址为0000即32位地址高位为8000;
:1030300000000140000000004830000000000000D7
表示该数据段的低32位地址为3030,即绝对地址为(0x80003030),数据长度为16个字节(00000140000000004830000000000000)
:04000005A000002037
记录的长度为04,LOAD OFFSET为0000,RECTYPE为05 ,此时,EIP寄存器里存放的地址:0xA000 0020; 即IP指向下一个要执行的指令所在地址