Step 7 Indirekte Adressierung

St.efan

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

Ja ich weiß, bereits tausend mal gefragt, aber ich steh auf dem Schlauch.

Ich möchte Daten je nach Typ-Anwahl in einem DB von einem Bereich nach oben schieben.

Das sind jeweils nur ein paar Bits.

Ich habe es dann so versucht, aber er macht’s einfach nicht.
Bsp: typ224 -> DB1836.DBD224 ins DB1836.DBD0

L L#224
T MD 10

AUF DB1836
L DBD [MD10]

T DB1836.DBD 0


Warum mag er das nicht?

Vielen Dank schon mal im Voraus,

Stefan
 
Was ist "typ224"?
Was heißt "er macht’s einfach nicht" - irgendwas macht er bestimmt ---> Programm beobachten
AWL-Hilfe zu "speicherindirekte Adressierung" lesen

Um DBD 224 zu lesen, musst du P#224.0 in MD10 laden ( P#224.0 = 224 * 8 )
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ist "typ224"?
Was heißt "er macht’s einfach nicht" - irgendwas macht er bestimmt ---> Programm beobachten
AWL-Hilfe zu "speicherindirekte Adressierung" lesen

Um DBD 224 zu lesen, musst du P#224.0 in MD10 laden ( P#224.0 = 224 * 8 )
Mein Fehler waren die *8, die hatte ich nicht.
Warum muss man das mal 8 nehmen?

Viele Grüße
Stefan
 
weil Pointer den Speicher Bit-orientiert adressieren. "Bit-Adresse" = "Byte-Adresse" * 8
(EDIT: genauer: "Bit-Adresse" = "Byte-Adresse" * 8 + Bitnummer , Bitnummer = 0 .. 7) )

Code:
L 224
SLD 3  // entspricht * 8
T MD 10

AUF DB1836
L DBD [MD10]
T DB1836.DBD 0

oder gleich direkt L P#224.0 anstatt L 224 + SLD 3
 
Zuletzt bearbeitet:
Zurück
Oben