メモリ内の変数によって指定されたアドレスにレジスタの内容を保存するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/7410538

質問

タイトルは基本的にそれです。

オンとオフを切り替える必要があるライトがあります。どの光があるべきかを指示するボタンがあります。そのため、ボタンが押されているか、押されていない場合は、そのライトのポートアドレスを含む変数を変更します。ライトをオンにするには、そのアドレスに$ 00を保存する必要があります。例えば:

;**********************************************************
;LED1on subroutine
;
;   This will turn LED 1 on, and then return.

LED1on
        LDAA        #$00        ; Load $00 into accumulator a (the value to turn the light on)
        STAA        $PORTA      ; Store the loaded value into PORTA, PORTA is a MACRO that =$0000

        RTS                     ; Return to sender

したがって、私がやりたいのは、変数、poselect = $ 0000を持っていることです。代わりに使用します。

;**********************************************************
;LED1on subroutine
;
;   This will turn LED 1 on, and then return.

LED1on
        LDAA        #$00        ; Load $00 into accumulator a (the value to turn the light on)
        STAA        PoSelect    ; PoSelect is a variable that contains a port address

        RTS

ただし、これにより、「アキュムレータA」の内容が可変poselectに保存されます。私がやりたいのは、「アキュムレータA」の内容を、可変poselectに保存されているアドレスに保存することです。本質的にポインターのように可変poselectを使用します。

それ、どうやったら出来るの???

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top