Hallo reekoh!
Du hast es hier mit einer Art indirekter Adressierung zu tun! Wichtig zu wissen ist, was
im DL 25 und im DW 98 steht. Damit wird die Speicherzelle errechnet, die mit dem
LIR-Befehl ausgelesen wird.
Grüße
Gebs
Genau! es ist nur im Zusammenhang zu verstehen.
Eine direkte Übersetzung in Step7 ist gar nicht möglich, denn in der S5 konntest Du mit LIR und TIR direkt im Hauptspeicher rumbauen, was IMHO in der S7 nicht geht. ( Falls doch irgendwie, dann werde ich dies trotzdem nie benutzen).
Benutzt wurde dies z.B für Blocktransfers, zusammen mit dem TNW / TNB -Befehl, das war noch OK, wenn auch mit manchmal wilden Auswirkungen
oder .. schlimmer: für selbst-modifizierenden Code. Das ist dann richtig übel.
( Das hat mir mal, Start Freitag abend, ein lustiges 50-Stunden-Wochenende beschert. !! Die Software war nicht von mir !! )
Schauen wir mal:
L DL 25 // l dbb 50
SLW 1 // * 2
L DW 98 // l dbw 196
+F // +I
LIR 2 // Lade das Speicherwort [dbw196 + dbb50 *2] in Akku 2 HI-Word
TAK // Tausche die Akkus (Akku0 <-> Akku2)
T DW 99 // t dbw 198, aber aus AKKU 2 Lo-Wort
Also : L Speicherwort [dbw196 + dbb50 *2]
T AKKU2-Hi
TAK // Tausche die Akkus (Akku0 <-> Akku2)
T dbb198 -- dies ist aber der ehemalige AKKU2 -LOW
das Gelesene wird also noch garnicht benutzt, den es steht im AKKU1-Hi
Die errechnete Adresse [dbw196 + dbb50 *2] steht jetzt noch im Akku 2.
Wie man sieht, ohne Zusammenhang geht nichts, da Du nicht weißt, woher Du liest, und was mit dem Ergebnis passiert.
Gruss Werner