• ベストアンサー

PICアセンブラのニーモニックオペランドで理解不能

独学中の初心者です。初歩的な質問で恐縮ですが色々調べてもわからず、何日間も頭を悩ませています。どのアセンブラ解説書にも書いてあることですが、例えば、  RLF f,d について、結果を   d=0であれば、wレジスタに   d=1であれば、レジスタfに格納する   デフォルトはd=1 と解説してありますが、実際のプログラムでは  R1 EQU 0x34  RLF R1,F 等とあり、上記'R1,F'の'F'の値がプログラム中で定義されていません。 この'F'の値をどう考えればいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.3

アセンブラの冒頭でマイコンの種類とインクルード・ファイルを指定しますよね。 PIC16F84aを使用するなら下記のように..... list p=16f84a include p16f84a.inc W,Fやレジスタ名などはこのインクルード・ファイル(p16f84a.inc)内で定義されています。 p16f84a.incファイルをメモ帳などで開いて見てください、他にどのような物が定義されているか解るでしょう。

pic_studying
質問者

お礼

明確な御指導ありがとうございました。お蔭さまで先へ進む力が湧きました。

その他の回答 (3)

noname#215107
noname#215107
回答No.4

インクルードファイル中にF equ 1などと定義されているはずです。 RLF R1,1と書いても同じことですね。

pic_studying
質問者

お礼

簡潔、的確な御指導ありがとうございました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

Fは値でもなくニーモニックの一部としてアセンブラが処理するなら、定義されていないのは当たり前だと思いますよ。定義されているのは見ることが出来ないアセンブラ本体のプログラムコードの中です。 と言うかdってニーモニック上はFかWで記載されているはずなんですが他の命令も見なおしてみてください。 アセンブラが勝手に処理するという理解で良いんです。

pic_studying
質問者

お礼

御指導ありがとうございました。独学とはいえ、努力不足を感じます。努力のアクセルを踏み込みます。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

PICをだいぶ忘れてるけど。 ニーモニック上はFレジスタって意味じゃなかったかと。 つまりd=1として機械語が生成されるってことでは?

pic_studying
質問者

お礼

御回答ありがとうございます。複数のPICアセンブラ解説書やネット上のQ/Aを可能な限り調べましたが、私の疑問に答える解説を見つけることができません。疑問を解決する明確な説明を読み、すっきりしたいのですが、、

関連するQ&A