MPASMには58種類の疑似命令(Directives) があります。通常使用する疑似命令はこの内の一部です。
[ ] | : | 省略可能なオプション |  | expr | : | expression (式) |
< > | : | 付加オプション |
|  | : | スペース |
| | : | いずれかの選択 |
|
|
|
|
疑似命令 | 機能内容 | 書式 |
_ _BADRAM |
不正RAM領域の指定
使用禁止として、使うとアラームを出力 | _ _badram <expr>[-<expr>][,<expr>[-<expr>]] |
BANKISEL | 間接アドレッシング用にRAMのBank選択命令を挿入 | bankisel <label> |
BANKSEL | RAMのBank選択命令を挿入 | banksel <label> |
CBLOCK | 定数領域を指定 | cblock [<expr>] |
ENDC | endc |
CODE | プログラム領域の開始を宣言 | [<name>] code [<address>] |
_ _CONFIG | コンフィギュレーションビットの設定 | _ _config <expr> |
CONSTANT | ラベルの定義 | constant <label>[=<expr>,...,<label>[=<expr>]] |
DA | プログラムメモリに文字を格納 | [<label>] da <expr>[,<expr>,...,<expr>] |
DATA | 英数字のデータをプログラムメモリに確保 |
[<label>] data <expr>[,<expr>,...,<expr>]
[<label>] data "<text_string>"[,"<text_string>",...] |
DB | 1バイトのデータをプログラムメモリに確保 |
[<label>] db <expr>[,<expr>,...,<expr>]
[<label>] db "<text_string>"[,"<text_string>",...] |
DE | EEPROM内にデータを定義 |
[<label>] de <expr>[,<expr>,...,<expr>]
[<label>] de "<text_string>"[,"<text_string>",...] |
#DEFINE | テキストを代表するラベルの定義 |
#define <name>[<value>]
#define <name>[<arg>,...,<arg>]<value> |
#UNDEFINE | 定義したラベルの解除 | #undefine <label> |
DT | 連続したRETLW命令のテーブルを作成 |
[<label>] dt <expr>[,<expr>,...,<expr>]
[<label>] dt "<text_string>"[,"<text_string>",...] |
DW | 1ワードのデータをプログラムメモリに確保 |
[<label>] dw <expr>[,<expr>,...,<expr>]
[<label>] dw "<text_string>"[,"<text_string>",...] |
END | ソースファイルの終わりを宣言 | end |
EQU | 定数のラベルを定義 | <label> equ <expr> |
ERROR | エラーメッセージの出力 | error "<text_string>" |
ERRORLEVEL | エラーレベルの設定 | errorlevel "0|1|2 <+|-><message_number>" |
EXITM | マクロから抜け出る | exitm |
EXPAND | マクロ命令のリスト展開を指定 | expand |
NOEXPAND | マクロ命令のリスト展開禁止を指定 | noexpand |
EXTERN | 外部ラベルの定義 | extern <label>[,<label>] |
FILL | メモリへのデータ書き込み | [<label>] fill <expr>,<count> |
GLOBAL | 指定ラベルの外部公開を宣言 | global <label>[,<label>] |
IDATA | 初期化ありのデータ領域を宣言 | [<name>] idata [<address>] |
_ _IDLOCS | IDの場所指定を宣言 | _ _idlocs <expr> |
#IF | 条件判定文 | #if <expr> |
#ELSE | #else |
#ENDIF | #endif |
#IFDEF | ラベルが定義されているかの判定 | #ifdef <label> |
#IFNDEF | ラベルが未定義かの判定 | #ifndef <label> |
INCLUDE | 他のソースファイルを取り込む | include <<include_file>>|"<include_file>" |
LIST | アッセンブル結果のリスト出力を指定 | list [<list_optin>,...,<list_option>] |
NOLIST | アッセンブル結果のリスト出力を禁止 | nolist |
LOCAL | マクロ内部のみで使う変数を指定 | local <label>[,<label>] |
MACRO | マクロ定義部の宣言 | <label> macro [<arg>,...,<arg>] |
ENDM | マクロ定義部の終わりを宣言 | endm |
_ _MAXRAM | RAMの最高位アドレスを指定 | _ _maxram <expr> |
MESSG | ユーザ定義のメッセージを指定 | messg "<message_text>" |
ORG | プログラムの開始番地を指定 | [<label>] org <expr> |
PAGE | リストの改ページを指定 | page |
PAGESEL | ROMのPage指定命令を挿入 | pagesel <label> |
PROCESSOR | PICの種別を指定 | processor <processor_type> |
RADIX | 数値の進数を指定 | radix <default_radix> |
RES | メモリ領域の予約指定 | [<label>] res <mem_units> |
SET | 変数のラベルを設定 | <label> set <expr> |
SPACE | ブランクのリストへの挿入を指定 | space <expr> |
TITLE | プログラムのタイトルを指定 | title "<title_text>" |
SUBTITLE | プログラムのサブタイトルを指定 | subtitle "<sub_text>" |
UDATA | 初期化しないデータ領域を指定 | [<name>] udata [<address>] |
UDATA_ACS | 初期化せずに上書きされるデータ領域にアクセス | [<name>] udata_acs [<address>] |
UDATA_OVR | 初期化せずに上書きされるデータ領域を指定 | [<name>] udata_ovr [<address>] |
UDATA_SHR | 初期化されない共有データ領域を指定 | [<name>] udata_shr [<address>] |
VARIABLE | 変数のシンボルを指定 | variable <label>[=<expr>,...,<label>[=<expr>]] |
WHILE | 条件が成立するまで繰り返しソースコードを生成 | while <expr> |
ENDW | endw |
 |