アプリ版:「スタンプのみでお礼する」機能のリリースについて

独学中の初心者です。初歩的な質問で恐縮ですが色々調べてもわからず、何日間も頭を悩ませています。どのアセンブラ解説書にも書いてあることですが、例えば、

 RLF f,d について、結果を
  d=0であれば、wレジスタに
  d=1であれば、レジスタfに格納する
  デフォルトはd=1

と解説してありますが、実際のプログラムでは
 R1 EQU 0x34
 RLF R1,F
等とあり、上記'R1,F'の'F'の値がプログラム中で定義されていません。
この'F'の値をどう考えればいのでしょうか。

A 回答 (4件)

アセンブラの冒頭でマイコンの種類とインクルード・ファイルを指定しますよね。


PIC16F84aを使用するなら下記のように.....

listp=16f84a
includep16f84a.inc

W,Fやレジスタ名などはこのインクルード・ファイル(p16f84a.inc)内で定義されています。
p16f84a.incファイルをメモ帳などで開いて見てください、他にどのような物が定義されているか解るでしょう。
    • good
    • 1
この回答へのお礼

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

お礼日時:2013/12/19 09:07

インクルードファイル中にF equ 1などと定義されているはずです。



RLF R1,1と書いても同じことですね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/12/19 09:09

Fは値でもなくニーモニックの一部としてアセンブラが処理するなら、定義されていないのは当たり前だと思いますよ。

定義されているのは見ることが出来ないアセンブラ本体のプログラムコードの中です。
と言うかdってニーモニック上はFかWで記載されているはずなんですが他の命令も見なおしてみてください。
アセンブラが勝手に処理するという理解で良いんです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/12/19 09:12

PICをだいぶ忘れてるけど。


ニーモニック上はFレジスタって意味じゃなかったかと。
つまりd=1として機械語が生成されるってことでは?
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/12/18 23:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!