【MPASMに関連するファイル】
MPASMが自動的に出力したり、作成が必要なファイルは下表となり
ます。各々はMPASMの環境設定で出力を指定できたり、フォーマット
も指定することが出来ます。
拡張子 ファイルの用途
備 考
.ASM デフォルトのソースコードファイル
開発者が作成しなければならない作成は汎用のエディタか統合開発
環境のMPLABを使う.LST デフォルトのアセンブルリストで
MPASMが自動で出力する出力は環境設定で指定可能 .ERR アセンブル結果のエラーリストで
内容にはエラーとワーニングの2種
類がある環境設定で2種の出力をする/しない
が設定出来る.HEX MPASMが出力するマシン語のファイル
で、Intel HEX Formatである16ビットアドレス(INHX8M)と32ビット
アドレス(INHX32)の2種類がある.HXL
.HXHMPASMが出力するマシン語のファイル
で16ビットが上下に2分割出力さ
れるSplit Formatである16ビットマシン用の出力である
上位バイトと下位バイトを別々の
ROMに書き込む時に採用される.COD デバッグ用のsymbolのファイル
MPASMとMPLINKから出力されるデバッグで特にリロケータブルにした
時に有効.O オブジェクトファイルでリロケータ
ブルな形式でMPLINKで使用するリロケータブルにして分割開発をする
時に使う
【エラーリストの内容】
エラーリストはMPASMでアセンブルすると自動的に出力されるファイ
ルで、このファイルが「No Error」となるまでソースコードファイルを修正
する必要があります。つまり、Error File が出力される間は何か間違
っている所があるということです。
ここで統合開発環境である「MPLAB」を使用すると、エラーファイルが
表示されている時、そのエラー表示行をダブルクリックすると、エラーを
発見したソースコードの行にマウスカーソルが自動的に移動するので、
エラーのある個所を発見しやすくなります。
エラーメッセージの種類は非常に沢山ありますが、ここで代表的なもの
を説明しておきます。
1.Symbol not previously defined
これはそのSymbolがその行より前で定義されていないということで
大体は未定義の変数を使っている時です。前の方で EQU や SET
命令で定義すれば無くなります。
2.Missing arguments
このエラーはオペランドがまだ足りない時にでるのですが、良く忘れ
るものは、「DECFSZ f,d」や「RRF f,d」などの「d」の指定です。
3.Processor type is undefined
マイクロプロセッサチップの種類の指定を忘れている時に出ます。
最初の方で「LIST」命令で追記すれば無くなります。
4.UNKNOWN ERROR
これは何かわからないエラーと言っているのですが、大体はソース
の入力ミスで、スペルが間違っている時です。正しい命令に修正す
ればなくなります。
【HEXファイルのフォーマット】
マシン語のファイルとして出力される「Intel HEX Format」との内容は
下記の様なフォーマットになっています。
Intel HEX Format(INHX8M)
1バイトを上下の4ビットに分けて16進数2桁で表現します。
そして出力されるフォーマットは下記です。
:BBAAAATTHHHH........HHCC
BB :1行に含まれる実データ数を16進数2桁であらわす
AAAA:最初のデータの格納アドレスを16進数4桁であらわす
TT :レコードの種類 00=データレコード
01=最終データレコード
HH :1バイトのデータを16進数2桁であらわす
CC :チェックサムコード、すべてのバイトのSUMの2の補数
例
:0400100000000000EC
:100032000000280040006800A800E800C80028016D
:06007200FF08FF08190A57