Intel hex オブジェクト ファイル フォーマット、Intel hex フォーマット、またはIntellec Hexは、バイナリ情報をASCIIテキスト形式で伝えるファイル フォーマットです。 [ 10 ]これにより、紙テープ、パンチ カードなどの非バイナリ メディアに保存したり、テキスト ターミナルに表示したり、ライン指向プリンタで印刷したりすることが可能になります。[ 11 ]このフォーマットは、マイクロコントローラ、EPROM、その他の種類のプログラマブル ロジック デバイスやハードウェア エミュレータのプログラミングによく使用されます。一般的なアプリケーションでは、コンパイラまたはアセンブラがプログラムのソース コード( C言語やアセンブリ言語など)をマシン コードに変換し、それを 16 進数 (またはバイナリ) フォーマットのオブジェクトファイルまたは実行可能ファイルに出力します。一部のアプリケーションでは、Intel hex フォーマットはストリーム データのパケットを保持するコンテナ フォーマットとしても使用されます。[ 12 ]結果として生成されるファイルに使用される一般的なファイル拡張子は .HEX [ 1 ]または .H86です。[ 5 ] [ 6 ] HEX ファイルはプログラマによって読み取られ、マシン コードをPROMに書き込むか、ロードおよび実行のためにターゲット システムに転送されます。[ 11 ] [ 13 ] 16 進数と 2 進数形式 (例: HEX2BIN )間でファイルを変換するさまざまなツールがあり、その逆 (例: OBJHEX、OH、OHX、BIN2HEX) もあります。
Intel hex フォーマットは、もともと1973 年にIntelのIntellec Microcomputer Development Systems [ 14 ] : 10–11 (MDS) 用に設計され、紙テープからプログラムをロードして実行するために使用されました。また、以前は効率の低いBNPF (Begin-Negative-Positive-Finish) フォーマットでエンコードする必要があったROM製造のために Intel にメモリの内容を指定するためにも使用されました[ 15 ]。[ 14 ] : 11 1973 年、インテルの「ソフトウェア グループ」は、ビル バイアリーとケネス バーゲットのみで構成され、ゲイリー キルダルは外部コンサルタントとしてMicrocomputer Applications Associates (MAA) として事業を行い、1974 年にDigital Researchを設立しました。 [ 16 ] [ 17 ] [ 18 ] [ 9 ] 1975 年以降、このフォーマットは、ファイル拡張子 HEX を使用するファイルをサポートするIntellec Series II ISIS-IIシステムでフロッピー ドライブをサポートするために使用されました。[ 19 ]多くのPROMおよびEPROMプログラミング デバイスはこのフォーマットを受け入れます。
Intel HEXは、改行文字またはキャリッジリターン文字、あるいはその両方で区切られたASCIIテキストの行で構成されます。各テキスト行には、複数のバイナリ数をエンコードする大文字の16進数文字が含まれています。バイナリ数は、行内の位置、行の種類、および長さに応じて、データ、メモリアドレス、またはその他の値を表す場合があります。各テキスト行はレコードと呼ばれます。
レコード(テキスト行)は、左から右に順番に表示される 6 つのフィールド(部分)で構成されています。[ 11 ]
視覚的な補助として、この記事全体を通して、Intel HEXレコードの各フィールドは以下のように色分けされています。
開始コードバイト数アドレスレコードタイプデータチェックサム
レコードのチェックサムバイトは、チェックサムの直前のレコード内のすべてのデコード済みバイト値の合計の最下位バイト(LSB)の2の補数です。これは、デコード済みバイト値を合計し、その合計(つまりデータチェックサム)の最下位バイト(LSB)を抽出し、次にその最下位バイト(LSB)の2の補数を計算することによって求められます(例えば、ビットを反転させて1を加えるなど)。
例えば、レコード「03 0030 00 02337A 1E」の場合、デコードされたバイト値の合計は03です。+00+30+00+02+33+7A= E2、そのLSB値は ですE2。 の2の補数E2は です。1E は、レコードの末尾に表示されるチェックサムバイトです。
レコードの有効性は、そのチェックサムを計算し、計算されたチェックサムがレコードに表示されているチェックサムと等しいことを確認することでチェックできます。チェックサムが異なる場合はエラーが示されます。レコードのチェックサムバイトはデータチェックサムの2の補数(つまり加法逆数)であるため、このプロセスは、レコードのチェックサムを含むすべてのデコードされたバイト値を合計し、その合計の最下位ビット(LSB)がゼロであることを確認することに簡略化できます。この方法を上記の例に適用すると、次の結果が得られます。03+00+30+00+02+33+7A+1E = 100、LSB値は です00。
Intel HEX レコードは通常、1 つ以上の ASCII 行末文字で区切られ、各レコードがテキスト行に単独で表示されます。これにより、レコードが視覚的に区切られることで可読性が向上し、また、マシン解析の効率を向上させるために使用できるレコード間のパディングも提供されます。ただし、行末文字はオプションであり、「:」はレコードの開始を検出するために使用されます。[ 15 ] [ 5 ] [ 24 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ]
HEXレコードを作成するプログラムは、通常、オペレーティングシステムの慣例に準拠した行末文字を使用します。たとえば、Linuxプログラムは単一のLF(ラインフィード、16進数値0A)文字を使用して行を終了しますが、WindowsプログラムはCR(キャリッジリターン、16進数値0D)の後にLFを使用します。
Intel HEXには6つの標準レコードタイプがあります: [ 11 ]
バリアントには、他のレコードタイプも使用されています。06(「点滅」メッセージ/伝送プロトコルコンテナ)WayneとLayneによる[ 34 ]0A(ブロック開始)0B(ブロック終了)0℃(パディングされたデータ)0D(カスタムデータ)0E(その他のデータ)BBC / Micro:bit Educational Foundation、[ 35 ]および81(コードセグメント内のデータ)82(データセグメント内のデータ)83(スタックセグメント内のデータ)84(追加セグメント内のデータ)85(絶対コードセグメントの段落アドレス)86(絶対データセグメントの段落アドレス)87(絶対スタックセグメントの段落アドレス)88(絶対追加セグメントの段落アドレス)デジタルリサーチによる。[ 6 ] [ 20 ]
1973/1974年のオリジナルの4ビット/8ビットIntellec HexペーパーテープフォーマットとIntellec Hexコンピュータパンチカードフォーマットは、1種類のレコードタイプのみをサポートしていました。00[ 36 ] [ 37 ] [ 25 ]これは1975年頃に拡張され、レコードタイプもサポートするようになった。01[ 15 ]シンボリック 16 進フォーマットと呼ばれることもあり、[ 38 ]シンボリック デバッグ用のシンボル テーブルを含むオプションのヘッダーを含めることができ、[ 25 ] [ 28 ] [ 26 ] [ 9 ]レコード内のコロンより前のすべての文字は無視されます。[ 15 ] [ 5 ]
1978年頃、インテルは新しいレコードタイプを導入した。02そして03(当時新しかった8086 / 8088プロセッサのセグメント化されたアドレス空間のサポートを拡張Intellec Hexフォーマットに追加するため)。
特定のレコードタイプのサブセットを使用するHEXファイルのフォーマットを示すために、特別な名前が使用されることがあります。例:
この例は、4つのデータレコードの後にファイル終端レコードが続くファイルを示しています。
: 10 0100 00 214601360121470136007EFE09D21901 40 : 10 0110 00 2146017E17C20001FF5F160021480119 28 : 10 0120 00 194E79234623965778239EDA3F01B2CA A7 : 10 0130 00 3F0156702B5E712B722B732146013421 C7 : 00 0000 01FF
開始コードバイト数アドレスレコードタイプデータチェックサム
Intel独自の拡張機能に加えて、Digital Research(いわゆる「Digital Research hex format」[ 6 ] [ 20 ])、Zilog、Mostek、[ 29 ] [30]、 TDL、[ 30 ] [31]、 Texas Instruments、Microchip、[ 39 ] [ 40 ] 、 c't、Wayne and Layne、[ 34 ]、BBC / Micro:bit Educational Foundation (「Universal Hex Format」[35])など、いくつかのサードパーティもIntel hexフォーマットのバリアントと拡張機能を定義しています。これらには、プログラムのエントリポイントとレジスタの内容に関する情報、データフィールドのバイト順序の入れ替え、未使用領域のフィル値、ヒューズビット、その他の違いが含まれる場合があります。
8086 プロセッサ用の Digital Research の 16 進フォーマットは、コード、データ、スタック、および追加セグメントを区別するためのレコード タイプを追加することでセグメント情報をサポートしています。[ 5 ] [ 6 ] [ 20 ]
CP/M-80用のほとんどのアセンブラ(およびMotorola 6809用のXASM09 ) は、ファイルの終わりを示すためにレコード タイプ 01h を使用せず、代わりに長さゼロのデータ タイプ00h エントリを使用します。[ 41 ] [ 1 ]これにより、複数の 16 進ファイルの連結が容易になります。[ 42 ] [ 43 ] [ 1 ]
テキサス・インスツルメンツは、アドレスがバイトではなくプロセッサのレジスタのビット幅に基づいて決定される方式を定義している。
Microchip社は、PICマイクロコントローラ向けに、 INTHX8S [ 44 ] (INHX8L、[ 1 ] INHX8H [ 1 ] )、INHX8M、[ 44 ] [ 1 ] [ 45 ] INHX16 [ 44 ] (INHX16M [ 1 ] ) およびINHX32 [ 46 ]のバリアントを定義しています。
アルフレッド・アーノルドのクロスマクロアセンブラAS [ 1 ] 、ヴェルナー・ヘニッヒ=ロレフの8051エミュレータSIM51 [ 26 ]、マティアス・R・ポールのクロスコンバータBINTEL [ 47 ]も、Intel hexフォーマットの拡張を定義していることが知られています。
[…] PIC マイクロコントローラの場合、スイッチ -m <0..3> を使用すると、Intel Hex フォーマットの 3 つの異なるバリアントを生成できます。フォーマット 0 は INHX8M で、すべてのバイトが Lo-Hi-Order で含まれています。 PICはワード指向のアドレス空間を持ち、アドレスはワードごとに1ずつしか増加しないため、アドレスは2倍の大きさになります。 […] フォーマット1(INHX16M)では、バイトは自然な順序で格納されます。これは、マイクロチップが自社のプログラミングデバイスで使用しているフォーマットです。フォーマット2(INHX8L)または3(INHX8H)では、ワードが下位バイトまたは上位バイトに分割されます。 […] 残念ながら、Intel-Hexファイルの最終行については、文献によって異なる記述が見られます。そのため、P2HEXは選択可能な3つの異なるバリアントを認識します。 […] :00000001FF […] :00000001 […] :0000000000 […] デフォルトでは、最も一般的なバリアント0が使用されます。 […] ターゲットファイル名に拡張子がない場合は、拡張子はHEXであると想定されます。 […]
TI-gang プログラマーは .int、.hex、.a43 ファイル形式を必要としています。
デフォルトでは、このモードは拡張子が .a90、.hex、.a43、または .ihx のファイルに対して有効になっています。
[…] 以下はASM-86からの出力のみです。 81 00と同じ、データは
コードセグメント
に属します[…] 82 00と同じ、データは
データセグメント
に属します[…] 83 00と同じ、データは
スタックセグメント
に属します[…] 84 00と同じ、データは
エクストラセグメント
に属します[…] 85絶対コードセグメントの
パラグラフアドレス
[…] 86 絶対データセグメントのパラグラフアドレス […] 87 絶対スタックセグメントのパラグラフアドレス […] 88 絶対エクストラセグメントのパラグラフアドレス […] 各レコードのコロンより前の文字はすべて無視されます。 […]
(17ページ)
[…]
Intelフォーマットは、 Intel が
8086
用に定義したフォーマットと同一です
。Digital
Researchフォーマットは、Intel フォーマットとほぼ同じですが、16 進レコードにセグメント情報が追加されます。どちらのフォーマットの出力も
GENCMD
に入力できます
が、Digital Research フォーマットはセグメント識別を自動的に提供します。セグメントは、再配置可能なプログラムの最小単位です。 […] Digital Researchの16進数形式がIntelの形式と異なるのは、レコードタイプ00と02の定義においてです。Intelはデータレコードタイプとセグメントアドレスタイプそれぞれに1つの値を定義しています。Digital Researchは各レコードを、それを含むセグメントで識別します。 […] 8086のすべてのセグメントに属するデータの場合は00H […]
CODEセグメントに属するデータの場合は81H […]
DATAセグメント
に属するデータの場合は82H […]
STACKセグメント
に属するデータの場合は83H […]
EXTRAセグメント
に属するデータの場合
は84H […] すべてのセグメントアドレスレコードの場合は02H […] CODEの絶対セグメントアドレスの場合は85H […] DATAセグメントアドレスの場合は86H […] STACKセグメントアドレスの場合は87H […] EXTRAセグメントアドレスの場合は88H […]
(1+viii+122+2ページ)
[…]
Intel
HEX ファイル形式には、「データ バイト」以外にも多くのものを含めることができます。行がコロン (":") で始まらない限り、必要なものは何でも含めることができます。 […] かつて大きな HEX ファイルを見たことがあります […] そのファイルには、最初に
PL/M
プログラムのソース コードがあり、最後に PL/M コンパイラによって生成された結果の HEX ファイルが続いていました。 […] 別の HEX ファイルには、最初でも最後でもなく、複数の行の「絶対レコード」を区切る複数のコメント行が含まれていました。 […] それは「(Intel) 8008 シミュレータ
」
からのものでした。そのため、使用開始当初は、HEX ファイルに説明を含めることができることはよく知られていました。 […]
CP/M
または任意の 8 ビット 64K システムでは、1 つのケースが残っています。「ページ アドレス」です。 CP/M 以降、メモリ アドレスを 16 進数で表示するのが標準となっています […] BIN/COM ファイルで述べたように、メモリ アドレスは 0000/0100 です。 […] これらのメモリ アドレスは 00-00/01-00 […] と記述できます。これは、ページ 0、アドレス 0 / ページ 1、アドレス 0 を意味します。 […] 8 ビット 64K コンピュータのメモリ アドレスの最大値は FFFF です […] ページ FF、アドレス FF […] 最小アドレスはページ 0 (または 00) にあり、最大値はページ FF にあります。 […] CP/M ファイル タイプは 3 文字の長さで、P00–PFF の形式のファイル タイプを使用して、HEX ファイルをロードするメモリ アドレスを指定できます。 […]ほとんどのアドレスが「00」で終わっていることに気づいたので、読み込みアドレスをページアドレスに短縮でき、それをファイルタイプの中に配置できることがわかりました[…]
[…]
Intel Intellec 8 […] は、標準的な歴史書で「最初のマイクロコンピュータ」とされている
Altair 8800
より 2 年以上前の 1972 年か 1973 年に初めて登場し
ました […]
Intel は
、8 Mod 8 は 1973 年に初めて製造され、1975 年に製造中止になったと主張しています。Tony Duell 氏は 1972 年製の 8 Mod 80 CPU ボードを所有しており、8 Mod 8 と 4 Mod 40 はどちらも 1976 年 2 月に発行された Intel データ カタログに記載されているため、実際の製造期間はもう少し長かった可能性があります。(関連する Intel の文書は、MCS4、MCS40、MCS8、MCS80 という名称がチップセット、コンピュータ、またはシステム全体を指すのにほぼ区別なく使用されていたため、注意深く読む必要があります。) […]
(52ページ)(注:この記事ではIntel Hexについては触れていませんが、IntelのIntellecシステムが1973年に正式に発表されたと明記しています。ただし、1972年製のユニットもいくつか存在します。)
[…] In the Intel Intellec Hex Format, a data field can contain either 8 or 4-bit data. Two ASCII hexadecimal characters must be used to represent both 8 and 4-bit data. In the case of 4-bit data, only one of the characters is meaningful and must be specified on the Intel PROM/ROM Order Form. […] Preceding the first data field and following the last data field there must be a leader/trailer length of at least 25 null characters. Comments (except for a colon) may be placed on the tape leader. […] If the data is 4 bit, then either the high or low-order digit represents the data and the other digit of the pair may be any ASCII hexadecimal digit. […](468 pages) (NB. This manual also describes a "BPNF Paper Tape Format", a "Non-Intellec Hex Paper Tape Format" and a "PN Computer Punched Card Format".)
[…] Programs had been written and tested by Intel's software group, consisting of myself and two other people, and we were ready for the real machine. […]
[…] 以下はASM-86のみからの出力です。 81 00と同じ、データは
コードセグメント
に属します[…] 82 00と同じ、データは
データセグメント
に属します[…] 83 00と同じ、データは
スタックセグメント
に属します[…] 84 00と同じ、データは
エクストラセグメント
に属します[…] *85絶対コードセグメントの
段落アドレス
[…] *86 絶対データセグメントの段落アドレス […] *87 絶対スタックセグメントの段落アドレス […] *88 絶対エクストラセグメントの段落アドレス […] * 85、86、87、および88はデジタルリサーチ拡張機能です。 […] 各レコードのコロンより前の文字はすべて無視されます。 […]
(346ページ)(注:このマニュアルでは、タイプ85、86、87、88のみをデジタルリサーチ拡張機能としてマークしており、タイプ81、82、83、84はデジタルリサーチ拡張機能ではないとしています。)
[…] 入力 […] このスペースは、改行、キャリッジ リターン、またはコメントに使用できます。 […] 出力 […] 2) 各行は、印刷されない改行、キャリッジ リターン、およびヌル文字で終わります。 […](1+ii+19ページ)
[…] 非印刷キャリッジリターン、ラインフィード、およびヌルはヌルカウントによって決定されます […](56ページ)
[…] (g) 一般的に、制御コード (CR や LF など) が追加されます。このフィールドのデータは、(a) の開始文字 ":" が現れるまでスキップされます。(a)、(b)、(c)、(d)、および (f) フィールドは常に存在するため、レコードの最小長は 11 バイト、最大長は 521 バイトです。 […](4+x+350ページ)
[…]
PIP は
、宛先がタイプ "HEX" (
Intel の
16 進数形式のマシン コード ファイル) のディスク ファイルであり、ソースが
紙テープ リーダー
などの外部周辺機器である場合に、特別な機能を実行します。この場合、PIP プログラムは、ソース ファイルに、有効な 16 進数値とチェックサム レコードを含む、正しく構成された 16 進数ファイルが含まれていることを確認します。無効な入力レコードが見つかった場合、PIP は
コンソール
にエラー メッセージを報告し、修正アクションを待ちます。通常は、リーダーを開いてテープの一部を再実行 (テープを約 20 インチ引き戻す) すれば十分です。テープの再読み取り準備ができたら、
コンソールで
改行を
1 回入力すると、PIP は別の読み取りを試みます。テープの位置を正しく読み取れない場合、ユーザーは読み取りを続行し (エラー メッセージの後に改行を入力)、ディスク ファイルの作成後に
EDプログラムを使用してレコードを手動で入力します。利便性のために、ソース ファイルが
RDR:
デバイスの場合、PIP はコンソールから
ファイルの終端
を入力できるようにします。この場合、PIP プログラムはデバイスを読み取り、キーボードを監視します。
キーボードで ctl-Z を入力すると、読み取り操作は正常に終了します。 […]
[
…] パンチ デバイスに 40 個のヌル文字を送信します
。X.ASM
ファイル
をパンチにコピーし、続いてファイルの終端 (ctl-Z) とさらに 40 個のヌル文字を送信します。 […] […]
HEX
データ転送: すべてのデータは、適切な Intel HEX ファイル フォーマットであるかどうかがチェックされます。コピー操作中に、HEX レコード間の不要な文字が削除されます。エラーが発生した場合は、コンソールに修正アクションを促します。 […]
[…] Intel hex フォーマットファイルの転送において、「:00」レコードを無視します (I パラメータは H パラメータを自動的に設定します)。 […]
[…] まず X.HEX を PUN: デバイスにコピーし、X.HEX の末尾の「:00」レコードを無視します。次に、HEX レコードを含む Y.ZOT を読み取ってデータの転送を続行します (「:00」レコードも含む)。 […]
(6ページ+250ページ)PIP PUN:=NUL:,X.ASM,EOF:,NUL:HIPIP PUN:=X.HEX[i],Y.ZOT[h]
1 キャリー 05714 2 ZERO 05715 3 サイン 05716 4 パリティ 05717 5 メモリ 06000 23平方根04003 […] 83 モニター 05766 $
[…]
- 1008000044520A2E0B36D0F930FA31CF30D730F9B6
- 100AF0000936F4C730D70401C8C20C0031F930F808
- 040B0000445E0AFF46
$
- 0000000000
—"Appendix A: A Sample Program in PL/M: Hexidecimal Object Tape". MCS-8 A Guide to PL/M programming(PDF). Rev 1 (printed September 1974 ed.). Santa Clara, California, USA: Intel Corporation. 1974-03-15 [September 1973]. p. 102. MCS180-0774-1K, MCS280-0974-1K. Archived(PDF) from the original on 2022-01-29. Retrieved 2022-05-18.
[…] Beim Absolut-Hex Konvertierprogramm von Keil können optional […] Symbol-Informationen in den Hex-File aufgenommen werden. Die Symbol-Informationen stehen dabei am Anfang des Files, vor dem ersten ':'. Die Symbol-Informationen sind allerdings nicht sehr aussagekräftig, da nicht unterschieden wird zwischen Modul-Name, CODE, XDATA, DATA, IDATA, BIT, NUMBER. Für jeden Symboleintrag werden nur ASCII-Zeichen verwendet. Pro Zeile ist 1 Symbol angeschrieben und zwar in der Form: "0 SymbolName Wert" […](NB. This is an older version of SIM51, the software and documentation was maintained up to 1996.)
[…] Debug Infos fingen bei Intel mit einem "$" an. Dann kamen der Name des Symbols und die Adresse. Kommentare hatten als erstes Zeichen ein ";". […] Der ASM48 unter ISIS-2 produzierte solche Hexfiles, […] der ASM86 auch. […]
[…] コードは 16 進バイトのデータでフォーマットされています。ファイルには、16 進バイトのデータの ASCII 表現が含まれています。オブジェクト コード自体の前にはシンボル テーブルがあります。これら 2 つの部分は、一緒に、または別々にロードまたは保存できます。シンボル テーブルは、ドル記号で終わる一連のレコードです。各レコードは、1つ以上のASCIIスペースで区切られた3つのフィールドで構成されています。[…] 数値フィールド […] ソースプログラムシンボルのASCII表現を含むラベルフィールド […] シンボルに割り当てられた16進アドレスを含むアドレスフィールド […] シンボルテーブルは、最初の非空白文字がドル記号であるレコードで終了します。オブジェクトコードは […] シンボルテーブルの後に続きます […] これらのレコード、つまり物理行はそれぞれ、文字またはフレーム単位で長さが異なる6つの論理フィールドで構成されています。 […](90ページ)(注:Intel 2920は1979年に発売されたデジタル信号プロセッサです。)
[…] I […] ダウンロードとアップロード時のチェックサムエラーの許容に関するコメント付きの Intel Hex […](66ページ)
[…] フレーム7、8:レコードタイプ […] 2つのASCII文字。現在(1974年)、すべてのレコードはタイプ0です。このフィールドは将来の拡張のために予約されています […]
[…] Intelのhexファイル形式はバイト指向であり、16ビットPCはそうではないため、プログラムメモリセクションには特別な処理が必要です。各24ビットプログラムワードは、いわゆる「ファントムバイト」を挿入することで32ビットに拡張されます。各プログラムメモリアドレスは2倍され、バイトアドレスになります。たとえば、プログラムメモリの0x100にあるセクションは、hexファイルでは0x200として表されます。次のアセンブリ言語ソースを考えてみましょう。 […] ;ファイル test.s […] .section foo,code,address(0x100) […] .pword 0x112233 […] ファイル […] が生成され、以下の内容になります。 […] :020000040000fa […] :040200003322110096 […] :00000001FF […] データレコード (2 行目) のロード アドレスは 0200 ですが、ソース コードではアドレス 0x100 が指定されています。 […]データは「リトルエンディアン」形式で表現されており、最下位バイトが最初に表示されます。ファントム バイトは最後に表示され、チェックサムの直前に表示されます。 […](277ページ)
[…] バイトの説明、ブロックの種類の説明: 0 = データブロック、1 = エンドブロック。エンドブロックを確認するには、エンドブロックのブロック範囲を確認してください。 (したがって、
CP/M
のアセンブラーは
XASM09 を使用します。Typbyte は Null に属します)。 […](注:XASM09はMotorola 6809アセンブラです。)
[…] PIC16C5X 用アセンブラは、さまざまな形式で PIC16C5X オブジェクト ファイルを生成できます。PIC16C5X プログラマは、少なくとも次の 1 つの形式でデータを受信および送信できる必要があります。8 ビット マージ (INHX8M) 形式が推奨されます。 […] 形式 […] INHX8S […] は 2 つの 8 ビット Hex ファイルを生成します。1 つのファイルには上位 8 ビットのアドレス / データ ペアが含まれ、もう 1 つのファイルには下位 8 ビットが含まれます。オブジェクト コードのファイル拡張子は、下位ファイルの場合は '.obl'、上位ファイルの場合は '.obh' になります。 […] 形式 […] INHX8M […] は、下位バイト / 上位バイトの組み合わせを持つ 1 つの 8 ビット Hex ファイルを生成します。この形式では各アドレスに 8 ビットしか含めることができないため、すべてのアドレスが 2 倍になります。オブジェクト コードのファイル拡張子は '.obj' になります。 […] 形式 […] INHX16 […] は 1 つの 16 ビット Hex ファイルを生成します。オブジェクトコードのファイル拡張子は「.obj」になります。[…]
Hex ワード アドレス オブジェクト フォーマット […] このフォーマットは、オブジェクト コードの各行のアドレスが 2 で割られ、ワード アドレス (16 ビット ワード) に変換される点を除いて、Intel Hex オブジェクト フォーマットと同一です。その他のフィールドはすべて同一です。以下に例を示します。 […] :180800000102030405060708090A0B0C0D0E0F101112131415161718AC […] :02080C00191AA3 […] :00000001FF […](32ページ)