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

質問カテゴリが適切でなかったらすいません。
インテル8051プロセッサ互換のマイコンで、
データポインタの使い方、間接アドレッシングの使い方が
分かりません。レジスタでいうとDPL,DPH、命令でいうところの
R0,R1についてです。PICマイコンではレジスタFSRで示された
アドレスに、INDFを通してアクセスできますが、これとは全く
違う方法なんでしょうか?
実際に使用するマイコンはアナログデバイセスのADuC812です。
もしお分かりの方がおられたら教えていただけませんか。

A 回答 (1件)

PICのINDFに相当するものは、ないですよね。


下は、20H,21H番地の内容を0クリアする場合の比較です。(固定幅フォントでご覧ください)

  PIC       | 8051
            |clr  A
movlw 0x20  |
movwf FSR   |mov  R0,#0x20
clrf  INDF  |mov @R0,A
incf  FSR,f |inc  R0
clrf  INDF  |mov @R0,A

レジスタの前に@をつけることで、間接アドレス指定とする。
DPH,DPLは、2つ合せて16ビットの間接アドレシッング用レジスタDPTRとして使い、R0,R1とは別物です。

8051(インテルMCS-51)互換マイコンの紹介ページ
http://b2c-1.rocketbeach.com/~jcl/c8051.html
サンプル・アセンブラプログラム
http://www.pjrc.com/tech/8051/lexer-example.asm
↓の2番目は、日本語のPDFマニュアルもあります。

参考URL:http://www.st.rim.or.jp/~nkomatsu/intel8bit/i805 …
    • good
    • 0
この回答へのお礼

質問してからやや時間が経っていたのであきらめていました。
PICとの比較が非常に分かりやすかったです。
バッチリ理解できました。ありがとうございます。

お礼日時:2003/04/02 19:25

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