アセンブル指示命令詳細1

良く使う基本的な指示命令の詳細を説明しています。

【__CONFIG】Set Processor Configuration Bits
1.形式
    __config  <expr>
2.説明
 各プロセッサーチップに従ったコンフィギュレーションビットを指定する。
 コンフィギュレーションビットの詳細は各プロセッサの説明書による。
 この命令を使う前に、「LIST」命令か「PROCESSOR」命令でプロセッサ種別
 が指定されていなければならない。
 また。PIC17CXXシリーズでこの命令を使う時には、コード出力の形式は
 INHX32が指定されていなければならない。
3.使用例
   list    p=17c42, f=INHX32
   __config  H'FFFF'         ;Default configuration
【DB】Declare Data of One Byte
1.形式
   [<label>]  db  <expr>[,<exor>,...,<expr>]
2.説明
 プログラムメモリ内に1バイトの定数を確保する。複数定数指定がある時は
 連続したメモリ内に順次確保する。
3.使用例
   db   't',0x0f,'e',0f0f,'s',0x0f,'t','\n'
【DE】Declare EEPROM Data Byte
1.形式
  [<label>]  de  <expr>[,<exor>,...,<expr>]
2.説明
 EEPROM内に1バイトデータとして定数を確保する。PIC16C/F84用の命令。
 他のプロセッサでも使える。
3.使用例
   org   H'2100'
   de    "My Program, v1.0",0
【#DEFINE】Define a Text Substitution Label
1.形式
  #define  <name>  [<string>]
2.説明
 <string>の代用として<name>を使えるように指定する。
 <string>が省略された時は、<name>を内部定義し、IFDEF命令等で使える
 様になる。
3.使用例
  #define    length       20
  #define    control       OPTION,7
  #define    position(X,Y,Z)  (Y-(2*Z+X))
     |
     |
  test_label  dw  position(1,length,512)
         bsf control   ;set bit 7 in f19
【EQU】Define an Assenbler Constant
1.形式
  <label>  equ  <expr>
2.説明
 <expr>の値が、<label>で表されるようにする。
3.使用例
 four   equ  4  ;assigned the numeric value 4 to label four
【END】End Program Block
1.形式
    end
2.説明
 プログラムの終了であることを表し、プログラムリストの最後に必ず必要。
【INCLUDE】Include Additional Source File
1.形式
    include  <<include_file>>
    include  "<include_file>"

2.説明
 指定されたファイルをソースコードの一部として読み込む。
 ファイルのパスは指定されていなければ、カレントディレクトリ、ソース
 ファイルのディレクトリ、MPASMのディレクトリの順に探す。
3.使用例
   include   "c:\sys\sysdefs.inc"   ;system defines
   include   <regs.h>          ;register defines
【LIST】List Options
1.形式
    list  [list_options>,...,<list_options>]
2.説明
 まずLIST命令そのものを使うとリスト出力を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進数で指定
【ORG】Set Program Origin
1.形式
  [<label>]  org  <expr>
2.説明
 プログラムの開始番地を指定する。もし番地指定が無ければ「0」番地から
 ということになる。labelには<expr>の値がセットされる。
 リロケータブルにする時には使わない。
3.使用例
  int_1  org  0x20     ;Vector 20 code goes here
  int_2  org  int_1+0x10  ;Vector 30 code goes here
【PAGE】Insert Listing Page Eject
1.形式
   page
2.説明
 リスト出力で改ページを挿入する時に使う
【PROCESSOR】Set Processor Type
1.形式
   processor  <processor_type>
2.説明
 プロセッサの種別を指定する。
3.使用例
  processor  16c54
【RADIX】Specify Default Radix
1.形式
   radix  <default_radix>
2.説明
 デフォルトの数値の扱いを指定する。 <default_radix>の値は下記
   hex 16進数     dec 10進数    oct 8進数
3.使用例
    radix   dec
【SET】Set an Assenbler Variable
1.形式
   <label>  set  <expr>
2.説明
 labelにexprの値を代入する。EQU命令と同じだが、違いはSETは一時的指定
 で後から、SET命令で変更することができる。
3.使用例
  area   set  0
  width   set  0x12
  length  set  0x14
  area   set  length * width


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