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 |
 |