記号 | 名称 | 説 明 |
BB | レコードサイズ |
1行に書かれているデータの数をバイト数で表しています。
1行に書かれるデータは最大16バイトです。
16バイト以上のデータがある場合は次の行に改行されます。
ですから、BBで表される最大値は '10h' です。 |
AAAA | アドレス |
データを格納するアドレスをバイトで表しています。
プログラムは1ワードが2バイト(実際には14ビットなので上位2ビットは0)なのでプログラムのアドレスとしては1ビットシフトした値になります。例えば、プログラムアドレス'0001h'の場合、AAAAでは'0002h'と表されます。
2行目以降は16バイトの整数倍の先頭から始まります。
例えば先頭の行のアドレスが '000Ch' の場合、'000Fh'までは同じ行に書かれ、 '0010h' からは次の行に移ります。
:04000C008D018E01D3
:100010008F01900191019201930194019601970142
:08002000980199019A019B016E
:00000001FF |
TT | タイプ |
行の形式を表しています。
最終行は'01h'、そうでない場合には'00h'になります。
通常は最終の行に ':00000001FF' が書かれます。 |
HHHH | データ |
PICに書き込むデータです。2バイト単位で作られます。
下位バイト、上位バイトの順に書かれています。
アッセンブルで出力された機械語が '018C' の場合、 '8C01' となります。 |
CC | チェックコード |
データの内容の正常性を確認するためのチェックビットです。
その行に書かれている先頭のバイトから全てを加算した値の2の補数が使われています。
例えば、':040002008C018C0A' の場合、全バイトを合計すると '129h' になります。
下位バイトのみが対象となります。 '29h' の2の補数を計算すると 'D7h' になります。
これがチェックコードとして末尾に付けられます。
データの正常性を確認する場合には末尾のバイトを除いたバイトを合計し、その結果とチェックコードを加算してゼロになれば、データは正常と判断します。 29h + D7h = 00h (桁上げは無視) |