|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■LIST (list options) アセンブル結果のリスト出力を指定 |
書 式 |
LIST [<list_options>,...,<list_options>] |
説 明 |
下表のオペランドで指定する内容により,ソースリストに対して各種の設定をする.
<list_options>を指定しない場合はリスト出力を ON する機能だけとなる.
Option |
Default |
Description |
b=nnn |
8 |
タブスペースの数の指定 |
c=nnn |
132 |
1 行のカラム数の指定 |
f=<format> |
INHX8M |
hex file の出力フォーマット指定 |
free |
FIXED |
自由形式にする |
fixed |
FIXED |
固定形式にする |
mm=ON|OFF |
On |
リストにメモリマップを印刷する|しない |
n=nnn |
60 |
1 ページあたりの行数指定 |
p=<type> |
None |
プロセッサ種別指定 例:p=PIC16F84 |
r=<radix> |
hex |
数値の扱い指定 hex, dec, oct |
st=ON|OFF |
On |
リストにシンボルテーブルを印刷する|しない |
t=ON|OFF |
Off |
1 行はみ出し分を折り返す|返さない |
w=0|1|2 |
0 |
アセンブラのメッセージレベル指定 |
x=ON|OFF |
On |
マクロを展開する|しない |
注)nnn は 10 進数で指定 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■SET (set an assenbler variable) 変数のラベルを設定 |
書 式 |
<label> SET <expr> |
説 明 |
label に expr の値を代入する.
EQU 命令と同じだが,違いは SET は一時的指定であり,後から SET 命令で変更することができる. |
使用例 |
area SET 0
width SET 0x12
length SET 0x14
area SET length * width |
|
|
|
|
|
|
|
|
|
|
|
|
■IFNDEF (decrement f) ラベルが未定義かを判定 |
書 式 |
IFNDEF <label> |
説 明 |
label がまだ未定義なら,IFNDEF 以下の行を ELSE か ENDIF までアセンブルする. |
使用例 |
#DEFINE testing ;set testing
on
-----
#UNDEFINE testing ;set testing off
IFNDEF testing
<execute test
code>
ENDIF |
|
|
|
|
|
|
|
|
|
|
■CODE (begins executable code section) プログラム領域の開始を宣言 |
書 式 |
[<name>] CODE [<address>] |
説 明 |
CODE セクションの開始宣言.これ以下にプログラムを記述する.
各 CODE セクションは,「name」という名前を必ず付ける必要がある.
「address」で絶対アドレスを指定することで,特定の番地からスタートするプログラムとすることができ,割り込み処理など特定番地指定が必要なときに利用する. |
使用例 |
RESET CODE 01FFH
GOTO START
-----
MAIN CODE
CLRW
----- |
|
|
|
|
|
|
■CBLOCK (define a block of constants) 定数領域を指定
ENDC (end an automatic constant block) |
書 式 |
CBLOCK [<expr>]
-----
ENDC |
説 明 |
定数領域を名前でまとめて確保する場合に使用する.
<expr>を指定することで,絶対アドレスを指定して確保できる. |
使用例 |
CBLOCK 020H
;絶対アドレス20H番地から確保
INGAIN,OUTGAIN
;連続して名前付きでエリア確保
VECTOR
TEMP1,TEMP2,TEMP3
ENDC |
|
|
|
|
■GLOBAL (export a defined label) 指定ラベルの外部公開を宣言 |
書 式 |
GLOBAL <label>[,<label>] |
説 明 |
各モジュール間でラベルを指定してアクセスするための外部ラベル宣言.
GLOBAL 宣言されたラベルは,他のモジュールからもにより指定できる.その場合,他のモジュールでは,EXTERN 疑似命令で外部ラベルであることを宣言しておくことが必要である. |
使用例 |
FILTER GLOBAL FILTER ;サブルーチンのラベルをGLOBAL宣言
-----
RETURN |
|
|
|
|
|
|
■BANKSEL (generate RAM bank selecting code) RAMのBank選択命令を挿入
PAGESEL (generate ROM page selecting code) |
書 式 |
BANKSEL <label>
PAGESEL <label> |
説 明 |
リロケータブルでバンクが特定できない変数や,実際に配置されるページが特定できないプログラムモジュールに対して,アセンブル時に適当なバンク指定やページ指定をするための命令を挿入する. |
使用例 |
VAL1 EQU 010H ;BANK0に実在する
VAL2 EQU 030H ;BANK2に実在する
-----
BANKSEL VAR1
MOVWF VAR1
PAGESEL SUBPRO ;SUBPROはどこのページか不明
CALL SUBPRO
----- |
|
|
|
|