-> Hier kostenlos registrieren
Hallo,
ich habe ein Problem bei der indirekten Adressierung mit 2 Pointern.
Ich möchte aus 2 DB’s jeweils ein Bit aus einer Array- Funktion vergleichen und bei Ungleichheit ein Bit (Fehlermeldung) setzen. Das Array hat einen Bereich von [1..130]
Kann ich zwei untererschiedliche Pointer generieren und wenn ja wie kann ich sie unterscheiden? Wie gebe ich die Adressierung des DB am Pointer an und wie springe ich zum nächsten Bit welches einige Worte weiter weg ist?
1.Bit DB2.DBX5.0, 2.Bit DB2.DBX18.0, ..., bzw. 1.Bit DB4.DBX8.1, 2.Bit DB4.DBX28.1,... .
Mein Ansatz sieht momentan folgendermaßen aus:
(Hier sind aber noch am Anfang die absoluten Adressen und nicht die Pointer drin.)
ich habe ein Problem bei der indirekten Adressierung mit 2 Pointern.
Ich möchte aus 2 DB’s jeweils ein Bit aus einer Array- Funktion vergleichen und bei Ungleichheit ein Bit (Fehlermeldung) setzen. Das Array hat einen Bereich von [1..130]
Kann ich zwei untererschiedliche Pointer generieren und wenn ja wie kann ich sie unterscheiden? Wie gebe ich die Adressierung des DB am Pointer an und wie springe ich zum nächsten Bit welches einige Worte weiter weg ist?
1.Bit DB2.DBX5.0, 2.Bit DB2.DBX18.0, ..., bzw. 1.Bit DB4.DBX8.1, 2.Bit DB4.DBX28.1,... .
Mein Ansatz sieht momentan folgendermaßen aus:
(Hier sind aber noch am Anfang die absoluten Adressen und nicht die Pointer drin.)
Code:
U DB2.DBX 5.0
UN DB4.DBX 8.1
S M 1.0
U M 1.0
SPB FAIL // springe zur Fehlermeldung
L #count // counter vergleich
L 129
==I
= #RST_COUNT
U #RST_COUNT
SPBNB RST
L 0
T #count
RST: NOP 0 // reset counter auf 0
L #count // bei Gleichheit vorwärts zählen
+D
INC 1
L #pnt1 // 1.Pointer zum springen im Array
L P#???
??
??