-> Hier kostenlos registrieren
Hallo,
also grundsätzlich habe ich mir indirekter Adressierung keine Probleme, aber im Zuge einer Mitarbeiterschulung bin ich nun doch auf einen Punkt gestossen:
Ich lade in einem FB das Adressregister mit einem Anypointer aus dem TEMP-Bereich.
Warum kann ich in Zeile 3 beim Transferier-Befehl angeben, dass ich den Akku in das Lokalbyte LB schreiben will.
Im AR1 steht ja der Speicherbereich B#16#86 ja eigentlich schon drinnen und weiss daher, dass es sich um Lokaldaten handelt- was macht der Compiler oder die CPU mit diesen redundanten Information?
Oder was passiert eigentlich wenn ich statt LB DBB schreibe?
funktioniert natürlich auch tadellos.
funktioniert nicht,
aber was genau passiert da eigentlich im Hintergrund?
"DBB" gewinnt gegen AR1-Speicherbereich
"B" nimmt den AR1-Speicherbereich
"LB" funktioniert zufällig?
Gruß
Karl
also grundsätzlich habe ich mir indirekter Adressierung keine Probleme, aber im Zuge einer Mitarbeiterschulung bin ich nun doch auf einen Punkt gestossen:
Ich lade in einem FB das Adressregister mit einem Anypointer aus dem TEMP-Bereich.
Code:
LAR1 P##ZIEL
L B#16#10
T LB [AR1, P#0,0]
Warum kann ich in Zeile 3 beim Transferier-Befehl angeben, dass ich den Akku in das Lokalbyte LB schreiben will.
Im AR1 steht ja der Speicherbereich B#16#86 ja eigentlich schon drinnen und weiss daher, dass es sich um Lokaldaten handelt- was macht der Compiler oder die CPU mit diesen redundanten Information?
Oder was passiert eigentlich wenn ich statt LB DBB schreibe?
Code:
LAR1 P##ZIEL
L B#16#10
T B [AR1, P#0,0]
Code:
LAR1 P##ZIEL
L B#16#10
T DBB [AR1, P#0,0]
aber was genau passiert da eigentlich im Hintergrund?
"DBB" gewinnt gegen AR1-Speicherbereich
"B" nimmt den AR1-Speicherbereich
"LB" funktioniert zufällig?
Gruß
Karl