アセンブル指示命令(Directive Language)

【アセンブル指示命令とは?】

アセンブラは多くの機能をもっています。その機能は大部分がアセンブル
結果を見やすく、デバッグしやすくするためのものですが、それらは使う人
が指示してやる必要があります。その指示のための命令(いわば擬似命令)
がアセンブル指示命令(Directive)です。


【アセンブル指示命令の種類】

数多くの種類がありますが、大別すると下記5種類となります。

1.Contorol Directives
  アセンブルに各種の条件を指定するための命令
2.Data Directives
  メモリ配置やシンボル名の定義をして参照がしやすいようにする命令
3.Listing Directives
  アセンブルリストの出力内容を指示する命令でタイトルづけや
  改ページ指示などがある。
4.Macro Directives
  マクロ命令を定義するための命令
5.Object File Directives
  リロケータブルオブジェクトを出力する時に使う命令

【Directives一覧表】

DirectivesとしてMPASMで使えるもののすべては下表となっています。
これらの中から選択して使います。

表中の規則は下記
  角カッコ([]) :省略可能なオプション
  かぎカッコ(<>):付加オプション
  パイプ(|)   :いずれかの選択


Directive Description Syntax
BADRAM Specify invalid RAM locations __badram <expr>
BANKISEL Genrate RAM bank selecting code for indirect addressing bankisel <label>
BANKSEL Generate RAM bank Selecting code banksel <label>
CBLOCK Define a Block of Constants cblock [<expr>]
CODE Begins executable code section [<name>] code [<address>]
__CONFIG Specify configuration bits __config <expr>
CONSTANT Declare Symbol Constant constant <label>[=<expr>,...,<label>[=<expr>]]
DATA Create Numeric and Text Data [<label>] data <expr>,[,<expr>,...,<expr>]
[<label>] data "<text_string>"[,"<text_string>",...]
DB Declare Data of One Byte [<label>] db <expr>[,<expr>,...,<expr>]
[<label>] db "<text_string>"[,"<text_string>",...]
DE Define EEPROM Data [<label>] de <expr>[,<expr>,...,<expr>]
[<label>] de "<text_string>"[,"<text_string>",...]
#DEFlNE Define a Text Substitution Label define <name>[<value>]
define <name>[<arg>,...,<arg>]<value>
DT Define Table [<label>] dt <expr>[,<expr>,...,<expr>]
[<label>] dt "<text_string>"[,"<text_string>",...]
DW Declare Data of One Word [<label>] dw <expr>[,<expr>,...,<expr>]
[<label>] dw "<text_string>"[,"<text_string>",...]
ELSE Begin Alternative Assembly Block to lF else
END End Program Block end
ENDC End an Automatic Constant Block endc
ENDlF End conditional Assembly Block endif
ENDM End a Macro Definition endm
ENDW End a While Loop endw
EQU Define an Assembly Constant <label> equ <expr>
ERROR lssue an Error Message expr "<text_string>"
ERRORLEVEL Set Error Level errorlevel 0|1|2|<+|-><message number>
EXITM Exit from a Macro exitm
EXPAND Expand Macro Listing expand
EXTERN Declares an extenal label extern <label>[,<label>]
FlLL Fill Memory [<label>] fill <expr>,<count>
GLOBAL Export a defined label global <label>[,<label>]
IDATA Begins initialized data section [<name>] idata [<address>]
__IDLOCS Specify ID locations __idlocs <expr>
IF Begin Conditionally Assembled Code Block if <expr>
IFDEF Execute if Symbol has Been Defined ifdef <label>
IFNDEF Execute if Symbol has not Been Defined ifndef <label>
#INCLUDE include Additional Source File include <<include_file>>|"<include_file>"
LIST Listing Options list [<list_option>,...,<list_option>]
LOCAL Declare Local Macro Variable local <label>[,<label>]
MACRO Declare Macro Definition <label> macro [<arg>,...,<arg>]
__MAXRAM Specify maximum RAM address __maxram <expr>
MESSG Create User Defined Message messg <message_text>""
NOEXPAND Turn off Macro Expansion noexpand
NOLIST Turn off Listing Output nolist
ORG Set Program Orgin <label> org <expr>
PAGE lnsert Listing Page Eject page
PAGESEL Generate ROM page selecting code pagesel <label>
PROCESSOR Set Processor Type processor <processor_type>
RADIX Specify Default Radix radix <default_radix>
RES Reserve Memory [<label>] res <mem_units>
SET Define an Assembler Variable <label> set <expr>
SPACE lnsert Blank Listing Lines space <expr>
SUBTlTLE Specify Program Subtitle subtitle "<sub_text>"
TlTLE Specify Program Title title "<title_text>"
UDATA Begins uninitialized data section [<name>] udata [<address>]
UDATA_OVR Begins 0verlayed uninitialized data section [<name>] udata_ovr [<address>]
UDATA_SHR Begins Shared uninitialized data Section [<name>] udata_shr [<address>]
#UNDEFlNE Delete a Substitution Label #undefine <label>
VARlABLE Declare Symbol Variable variable <label>[=<expr>,...,<label>[=<expr>]]
WHlLE Perform Loop While Condition is True while <expr>


  次のページへ     目次ページへ