Comment stocker le contenu d'un registre, à une adresse spécifiée par une variable en mémoire?

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

Question

Le titre est essentiellement.

J'ai des lumières dont j'ai besoin pour allumer et éteindre. Il y a un bouton qui dicte quelle lumière il devrait être. Ainsi, lorsque le bouton est enfoncé ou non enfoncé, je modifie une variable qui contient l'adresse du port de cette lumière. Pour allumer une lumière, je dois stocker 00 $ à cette adresse. Par exemple:

;**********************************************************
;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

Donc, ce que je veux faire, c'est avoir une variable, posélect = 0000 $. Et utilisez-le à la place.

;**********************************************************
;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

Cela stocke cependant simplement le contenu de «l'accumulateur A» dans la variable posélect. Ce que je veux faire, c'est stocker le contenu de «l'accumulateur A» dans l'adresse qui est stockée à la variable posélect. Essentiellement en utilisant la variable posélec comme un pointeur.

Comment je fais ça???

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top