Arbeiten mit Pointer/Variabler Versatz

Fuji

Level-1
Beiträge
9
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

ich habe folgendes Problem mit Pointern (bis jetzt habe ich so gut wie noch nie Pointer eingesetzt):

Ich möchte mir einen Pointer erzeugen, der abhängig von einem Eingangswert (INT) immer um 16 Bytes versetzt wird. Z.B:

bei einem INT von 1 soll der Pointer auf DB1.DBX600.0 zeigen, bei INT 2 auf DBX616.0 und so weiter.

Soll heißen, immer um 16 Bytes weiter versetzt. Diesen Pointer brauch ich dann für einen BlkMov, der mir von diesem variablen Startplatz aus einen Datenblock an einen festen anderen Platz kopiert.

Wie könnte ich diesen Pointer realisieren?


Anmerkung: Die Rechenoperation wäre demnach die, dass der Versatz sich so errechnet: INT*16byte

Edit: Geht das irgendwie, dass ich bei

L P#1.0

statt der 1.0 eine INT-Variable einsetze? Mit INT rechnen ist kein Problem, nur diese dann als Pointer anzugeben, ist mir unklar.
 
Zuletzt bearbeitet:
Code:
L     #zahl
      L     0
      ==I   
      SPB   end1

      L     #zahl
      L     1
      ==I   
      TAK   
      L     0
      *I    
      SLD   3
      SPB   poin
 
      L     #zahl
      L     16
      *I    
      SLD   3
poin: LAR1  
      AUF   "Zeiterfassung"
      L     20
      T     DBW [AR1,P#600.0]
end1: NOP   0
so könnte das aussehen.
 
Zuletzt bearbeitet:
ups.das mit dem any habe ich überlesen.
dann mußt du dir das anders zusammen stellen.
schau dir den link von ralle an,da findet man eigentlich alles was man für so ne aufgabe braucht
 
Zurück
Oben