OHR-Newbie
Level-1
- Beiträge
- 3
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hi die Herrschaften,
bin neu eingestiegen bei der programmierung von Pointern.
ich hab mal eine verständnisfrage zu den Pointern in S7, habe ein programm beispiel gefunden und verstehe es nicht zu 100%.
in #l_anf_adr steht eine 100 als Intzahl 2 Byte
also habe das jetzt so verstanden er nimmt die 100 verschiebt es um 3 stellen (bitadresse) um es in ein pointer format zu bekommen, Dezimal wäre es dann 800 adressenmäßig gesehen 100.0
lädt dies in das adressregister 1
l 32dann -1 sprich 31
und addiert das auf Adressregister 1 steht dann im AR1 103.1 ???? das ist meine frage die ich nicht verstehe wie wandelt er die 31 Int in das pointerformat um ? wäre super wenn ich eine erklärung auch auf binärschreibweise bekommen könnte damit ich es 100% verstehe.
verschiebt es dann um stelle 64.0
sprich 167.1 ??????
bitte um aufklärung !
danke im vorraus!
bin neu eingestiegen bei der programmierung von Pointern.
ich hab mal eine verständnisfrage zu den Pointern in S7, habe ein programm beispiel gefunden und verstehe es nicht zu 100%.
Code:
L 32
schl: T #l_i
L #l_anf_adr
SLW 3
LAR1
L #l_i
+ -1
+AR1
U DBX [AR1,P#64.0] // Anf.Sollpos
SPB m1
L #l_i
LOOP schl
T #l_i
m1: L #l_i
T #l_pos_nr
in #l_anf_adr steht eine 100 als Intzahl 2 Byte
also habe das jetzt so verstanden er nimmt die 100 verschiebt es um 3 stellen (bitadresse) um es in ein pointer format zu bekommen, Dezimal wäre es dann 800 adressenmäßig gesehen 100.0
lädt dies in das adressregister 1
l 32dann -1 sprich 31
und addiert das auf Adressregister 1 steht dann im AR1 103.1 ???? das ist meine frage die ich nicht verstehe wie wandelt er die 31 Int in das pointerformat um ? wäre super wenn ich eine erklärung auch auf binärschreibweise bekommen könnte damit ich es 100% verstehe.
verschiebt es dann um stelle 64.0
sprich 167.1 ??????
bitte um aufklärung !

danke im vorraus!