1
タイトルは基本的にそれです。レジスタの内容をメモリ内の変数で指定されたアドレスに格納するにはどうすればよいですか?
私は、私がオンとオフを切り替える必要があるライトがあります。どの光を当てるべきかを指示するボタンがあります。ボタンが押されたか押されていない場合、私はそのライトのPORTアドレスを含む変数を変更します。ライトをオンにするには、そのアドレスに$ 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に格納するだけです。私がしたいことは、変数PoSelectに格納されているアドレスに 'accumulator a'の内容を格納することです。ポインタのような変数PoSelectを本質的に使います。
どうすればいいですか?