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.

                                                           LZ電子

                                                     QQ:3537572751


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM