Kurze Erklärung

WinniePooh

Level-1
Beiträge
102
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Kurze Erklärung... bitte

Hallo,
habe den folgenden Code
Code:
L #NR    // Lade die Variable NR (INT)
SLW 4    // Verschiebe die Bits um 4 nach links
T #PNR  // Transferiere es zur #PNR (INT)
LAR1     // Lade #PNR in das Adressregister 1

AUF DB1  // Öffne das DB1
L DBW[AR1,P#0.0]  // Lade IN das DB 1 das Adressregister 1 mit einem Versatz von 0.0
L P##XXX       // Lade den Pointer XXX (STRUCT)
T LW[AR2,P#0.0] // Transferiere den Pointer XXX zum Adressregister 2 mit einem Versatz von 0.0


Ist der Code richtig beschrieben??
Was ist das LW?? -> Ist das vieleicht ein lokales Word??
 
Zuletzt bearbeitet:
Der Code sieht aus als wäre er richtig. Frag mich nicht was er macht, aber er ist lauffähig.

LW ist Lokalwort. Also ein Wort auf dem Lokaldatenstack.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Frage ist was wird mit dem Wert von
L DBW[AR1,P#0.0] gemacht??

Das hatte ich mich auch gefragt, könnte aber durchaus später im Code Verwendung finden.

Mit SLW 4 hast du Recht, aber es muss SLD4 heißen, sonst geht das bei Pointern, deren Ziel größer 1 Word ist in die Hose!
Genauer gesagt, ab Nr = 4096 klappt das nicht mehr!

Noch was:

L P##XXX
T LW[AR2,P#0.0]

schreibt auch nur einen Teil des Pointers auf die Struct in das LW!!!

@WinniePooh

Sei mit nicht böse, aber der Code ist nicht besonders robust. Er funktioniert für "kleine" Pointer, also kleine Sprünge evtl. sogar, birgt aber die Gefahr, dass man baden geht, sollte der FB (struct) und der DB1 (NR) mal größer werden.
 
Zuletzt bearbeitet:
Zurück
Oben