Frage zu SFC20 BLKMOV

chivas

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

ich in einem fremden Programm folgenden Code:

CALL SFC 20
SRCBLK :=P#DB1.DBX 80.0 REAL 36
RET_VAL:=DB5.DBW54
DSTBLK :=P#DB3.DBX 80.0 REAL 36

Mir ist bewusst, was diese Funktion macht, jedoch werd ich aus der Adressierung nicht schlau. Ich nehme mal an, es dürfte sich um eine indirekte Adressierung an, nur sagt mir REAL 36 nichts.

Könnte mir das jemand erläutern?

mfg chivas
 
Eigentlich Zeigerarbeit.
Zeigt auf einen DB mit Anfangsadresse und
REAL 36 heißt, es wird auf 36 Daten vom Typ REAL zugegriffen.

Gruß
raika
 
chivas schrieb:
Hallo,

ich in einem fremden Programm folgenden Code:

CALL SFC 20
SRCBLK :=P#DB1.DBX 80.0 REAL 36
RET_VAL:=DB5.DBW54
DSTBLK :=P#DB3.DBX 80.0 REAL 36

Mir ist bewusst, was diese Funktion macht, jedoch werd ich aus der Adressierung nicht schlau. Ich nehme mal an, es dürfte sich um eine indirekte Adressierung an, nur sagt mir REAL 36 nichts.

Könnte mir das jemand erläutern?

mfg chivas

Es werden 36 Doppelwörter vom Typ Real vom DB1 beginnend ab Doppelwort 80 auf den DB3 beginnend ab Doppelwort 80 geschoben. Bei der Pointeradressierung wird der Beginn im Byte.Bit-Format angegeben.
 
rwal...

ich denke es macht keine unterschied ob du hier real oder dword nimmst...

es kommt ja nur auf die größe des blockmoves an. genausogugt kannst du 72 word angeben oder 144 byte...

mfg
 
Zurück
Oben