PIC-Microcontroller

Elektronik u. Mikrocontroller => Mikrocontroller => Thema gestartet von: ^Cobra in 30.01.2024, 21:58:08 CET

Titel: Variable auswählen mit indirekter Adressierung
Beitrag von: ^Cobra in 30.01.2024, 21:58:08 CET
Hallo zusammen,
schuldigung für meine vielen Fragen...

Ich kam auf die idee mir ein Sprungverteiler zu machen um zwischen Varablen zu wechseln.
Aber leider gibt es in Assembler ja nur retlw der eine Konstante liefert.

Gibt es da elegantere Lösung außer mit Goto dann zum Bereich zu springen um den Wert zu laden und dann mit return zurück zu kehren?

Übrigens:   Habe grade nur durch Zufall ein komisches verhalten gefunden:
Ich lese die Variable in W mit MOVFW, diesen Wert Schreibe ich nun in PLC mit MOVFWF PLC. Beim simuieren springt der von MOVFWF komplett woanders hin.  Nehme ich MOVF PLC,F geht es... macht das Sinn?

Gute Nacht euch.
Titel: Aw: Variable auswählen mit indirekter Adressierung
Beitrag von: pic18 in 30.01.2024, 23:52:07 CET
meinst Du so etwas?

addwf PCL, f
retlw 'a'
retlw 'b'
retlw 'c'
....

Du mußt im W-Register den Sprungwert (*2) angeben, um den Wert ins W-Register zu übernehmen.
Titel: Aw: Variable auswählen mit indirekter Adressierung
Beitrag von: ^Cobra in 31.01.2024, 00:40:36 CET
ach du ahnst es nicht...
danke. Habe mich schon gefragt wieso der nicht das bit zurück setzt.
:-[ peinlich peinlich