開打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
