Comment stocker le contenu d'un registre, à une adresse spécifiée par une variable en mémoire?
-
29-10-2019 - |
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