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