アセンブル指示命令詳細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
次のページへ 目次ページへ
-