Array of Word

natasia

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich programmiere mit AWL. Ich habe einen Array of Word [10..15] (statische Variable im FB)

Auf diesen kann ich einfach zugreifen, indem ich den Namen des Arrays + Index in eckigen Klammern angebe.

z.B.
#array[10]

Wie kann ich dynamisch auf den Array zugreifen? Also z.B. mit einer Indexvariablen oder einem Pointer?

#array

lg
natasia
 
Zuletzt bearbeitet:
Danke für eure Antworten. Leider bin ich mir immer noch nicht sicher wie ich das bei einem array mache.

L #array
LAR 1
L MW [AR1, P#0.0]

würde denke ich das gleiche tun wie

L #array[10] (habe ich ausprobiert funktioniert)

aber wie gehe ich zum nächsten Index? müsste ja
L MW [AR1, P#2.0]
sein. Aber ich weiß nicht wie ich das automatisch in jedem Druchlauf incrementiere.

lg
natasia
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So wie ich das sehe fehlt da noch ein SLW3 um den Zeiger korrekt zu laden.
Außerdem ist der "Haken" dabei, dass die absolute Adresse angesprochen wird. Also nicht der Index symbolisch adressiert. Bei Verschiebungen im IDB passt die Adresse dann nicht mehr.

#array ist doch der Array bzw. der Pointer auf den Anfang. man braucht also kein SLD 3. Das funktioniert auch so.

Also folgendermaßen funktionierts:
LAR1 P##iPos
TAR2
+AR1

L P##iPos
L #index // DWord
+AR1

L W [AR1,P#0.0]

.....

L 2 // Index um 2 erhöhen (nächstes Word)
SLD 3
L #index
+D
T #index


falls jemandem eine elegantere Methode einfällt, würde mich das freuen.

lg natasia
 
Zuletzt bearbeitet:
Nein sorry - das wäre so in AWL die beste Methode - außer vielleicht :
Code:
statt :
L 2 // Index um 2 erhöhen (nächstes Word)
SLD 3
L #index
+D 
T #index

könnte man auch schreiben :
L P#2.0
L #index
+D 
T #index
Wenn du es "schick" machen willst müßtest du zu SCL überwechseln ...

Gruß
Larry
 
Zurück
Oben