PICの命令のオペランドの書き方


【オペランドの表現方法】

MPASMで使える表現方法ということで、下記の書き方を説明
します。
 ・テキストデータの書き方
 ・数値データの書き方
 ・演算記号の種類と書き方
 ・特殊オペランド High/Low

【テキストデータの書き方】

テキストデータは下記条件で記述します。

(1)「ASCIIコード」を使う
  これは 00から7F(16進数)の範囲にある文字コードです。
(2)テキストストリング(連続データ)は「 " 」で囲む。もし行末
  までに「”」が見つからなければ行末に「”」があるものとして
  扱う。

(3)1行に書ける長さは255文字まで、もしこれ以上の時は無視
  されます。
(4)DW擬似命令でstringを記述したとき、奇数個のデータの時は
  最後に「0」が追加される。

  例 記述例とオブジェクトコード
   DW   "testing output string one\n"
   7465 7374 696E 6720 6F75 7470 7574
   2073 7472 696E 6720 6F6E 650A

   MOVLW  "a"
   B061

   DATA  "testing first output string"
   7465 7374 696E 6720 6669 7273 7420
   6F75 7470 7574 2073 7472 696E 6700

(5)ANSI'C'で使われているエスケープシーケンスで特殊文字を
  扱うことが出来ます。

記号

意  味

記号

意  味

\a

ベル鳴動

\\

バックスラッシュ

\b

バックスペース

\?

 ?

\f

フォームフィード

\'

 '

\n

改行

\"

 "

\r

復帰

\0OO

8進数(ゼロ,数値,数値)

\t

水平タブ(TAB)

\xHH

16進数

\v

垂直タブ(TAB)

 

 

【数値データの書き方】

MPASMは下記の5種類の数値の書き方が出来ます。
デフォルトは16進数になっています。
数値には+か−の記号を付けることが出来ます。記号が無い時は+。

種  類

書   式

使用例

10進数

 D'<digits>'  D"100'

16進数

 H'<hex_digits>'  H'9F'  H'9f'

8進数

 O'<octal_digits>'  O'777'

2進数

 B'<binary_digits>'  B'00111001'

ASCII

 '<chracter>'
 A'<characters>'
 'C'
 A'C'

【演算記号の書き方】

MPASMで扱える演算記号は非常に沢山あります。しかし大部分は
指示命令の中で使うのみですので、ここでは直接命令で使う便利
なもののみ説明します。
詳細はMPLABのマニュアルにあります。

記号

意   味

使用例

$

現在のプログラムカウンタの値  GOTO  $+3

high

アドレスの上位バイトを返す  MOVLW high TABLE

low

アドレスの下位バイトを返す  MOVLW low TABLE

 

   

【特殊オペランド】

(1)High/Low
 特殊な機能を持つオペランドで、High/Lowがあります。
これらは、ラベルのアドレス16ビットの上位/下位バイトを
取り出すためのオペランド用特殊演算記号です。

 書式   high <operand> または  low <operand>
 使用例
      MOVLW  LOW SIZE  ;下位バイト取り出し 
      MOVWF  SIZE_LOW  ;保存
      MOVLW  HIGH SIZE ;上位バイト取り出し
      MOVWF  SIZE_HIGH  ;保存


        目次ページへ