リスト制御ディレクティブ
構文
COL columns
LSTCND{+|-}
LSTCOD{+|-}
LSTEXP{+|-}
LSTMAC{+|-}
LSTOUT{+|-}
LSTPAG{+|-}
LSTREP{+|-}
LSTXRF{+|-}
PAGE
PAGSIZ lines
パラメータ
| 80から132までの範囲の絶対式。デフォルトは80です。 |
| 10 から150 までの範囲の絶対式。デフォルトは 44です。 |
説明
これらのディレクティブは、アセンブラリストファイルを制御します。
ディレクティブ | 説明 |
|---|---|
ページあたりのカラム数を設定します。 | |
条件付きアセンブラリストを制御します。 | |
複数行からなるコードのリストを制御します。 | |
マクロで生成された行のリストを制御します。 | |
マクロ定義のリストを制御します。 | |
アセンブリリスト出力を制御します。 | |
ページへの出力形式を制御します。 | |
繰返しディレクティブで生成された行のリストを制御します。 | |
クロスリファレンステーブルを生成します。 | |
新しいページを生成します。 | |
1ページあたりの行数を設定します。 |
リストのオン/オフ切り替え
エラーメッセージを除くすべてのリスト出力を無効にするには、LSTOUT-を使用します。このディレクティブは、他のどのリスト制御ディレクティブよりも優先されます。
デフォルトはLSTOUT+です。この場合、出力がリストされます(リストファイルが指定されていない場合)。
プログラム内のデバッグされた部分のリストを無効にするには、以下のように指定します。
lstout-
; This section has already been debugged.
lstout+
; This section is currently being debugged.
end条件付きコードと文字列のリスト
前の条件付き文IFによって無効にされていないアセンブリ部分のみのために、アセンブラにソースコードを強制的にリストさせるには、LSTCND+を使用します。
デフォルト設定はLSTCND-であり、すべてのソース行がリストされます。
LSTCOD-を使用すると、出力コードのリストが、ソースコード1行につき最初の行だけに制限されます。
デフォルトの設定はLSTCOD+で、ソースコード1行につき必要があれば複数行のコードがリスト出力されます。つまり長いASCII文字列からは、複数行が出力されます。コードの生成には影響はありません。
以下の例は、IFディレクティブによって無効にされたサブルーチンの呼び出しを、LSTCND+がどのように非表示にするのかを示します。
name lstcndTest
extern print
section FLASH:CODE(2)
debug set 0
if debug
bl print
endif
lstcnd+
begin2 if debug
bl print
endif
endこれにより、以下のリストが生成されます。
9 name lstcndTest 10 extern print 11 section FLASH:CODE(2) 12 13 debug set 0 14 begin if debug 15 bl print 16 endif 17 18 lstcnd+ 19 begin2 if debug 21 endif 22 23 end
マクロのリストの制御
マクロで生成された行のリストを無効にするには、LSTEXP-を使用します。デフォルトはLSTEXP+であり、マクロで生成されたすべての行がリストされます。
マクロ定義をリストするには、LSTMAC+を使用します。デフォルトはLSTMAC-であり、マクロ定義のリストが無効になります。
以下の例は、LSTMACとLSTEXPの効果を示します。
name lstmacTest
extern memLoc
section FLASH:CODE(2)
dec2 macro arg
subs r1,r1,#arg
subs r1,r1,#arg
endm
lstmac+
inc2 macro arg
adds r1,r1,#arg
adds r1,r1,#arg
endm
begin dec2 memLoc
lstexp-
inc2 memLoc
bx lr
; Restore default values for
; listing control directives.
lstmac-
lstexp+
end以下のテキストが表示されます。
13 name lstmacTest 14 extern memLoc 15 section FLASH:CODE(2) 16 21 22 lstmac+ 23 inc2 macro arg 24 adds r1,r1,#arg 25 adds r1,r1,#arg 26 endm 27 28 begin dec2 memLoc 28.1 00000000 ........ subs r1,r1,#memLoc 28.2 00000004 ........ subs r1,r1,#memLoc 28.3 endm 29 lstexp- 30 inc2 memLoc 31 00000010 1EFF2FE1 bx lr 32 33 ; Restore default values for 34 ; listing control directives. 35 36 lstmac- 37 lstexp+ 38 39 end
生成された行のリストを制御します
ディレクティブREPT、REPTC、REPTIによって生成された行のリストをオフにするにはLSTREP-を使用します。
デフォルトはLSTREP+であり、生成された行がリストされます。