Awl

Waldi_März

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

kann mir jemand sagen, wieso man bei einem Programm etwas nach rechts
schiebt und wieder nach links.
Kann mir jemand etwas zu diesen Programm sagen:

A86e: L #Temp_Statusbits
T #WINCC.Statusbits
L #WINCC.Steuerwort
SRD 24
T #WINCC.Steuerwort
L #WINCC.Steuerwort
SLD 24
T #WINCC.Steuerwort
CLR
U L 38.1
SAVE
BE

Danke
Waldi
 
Das Programm dürfte wohl die Bits 0-7 von Temp_Statusbits nach WINCC.Steuerwort schreiben. Geht auch mit 'ner UND-Verknüpfung.
Interessant ist auch, dass der Zwischenwert (nach dem 1. Mal schieben, um 3 Bytes nach links) auch in den Zielspeicher geht. Der Wert wird im nächsten Befehl gleich wieder daraus geladen - keine Ahnung wozu sowas gut ist. :confused: :confused: :confused:
 
Code:
L #WINCC.Steuerwort
SRD 24
T #WINCC.Steuerwort
L #WINCC.Steuerwort
SLD 24
T #WINCC.Steuerwort
ist ersetzbar durch
Code:
L #WINCC.Steuerwort
UD DW#16#FF000000
T #WINCC.Steuerwort
wenn man von den andersartigen Auswirkungen auf A1, A0 und OV absieht.
 
Code:
L #WINCC.Steuerwort
SRD 24
T #WINCC.Steuerwort
L #WINCC.Steuerwort
SLD 24
T #WINCC.Steuerwort
ist ersetzbar durch
Code:
L #WINCC.Steuerwort
UD DW#16#FF000000
T #WINCC.Steuerwort
wenn man von den andersartigen Auswirkungen auf A1, A0 und OV absieht.

Na ja aber das Lade und Transferieren in der Mitte ist doch nicht nötig:

Code:
L #WINCC.Steuerwort
SRD 24
SLD 24
T #WINCC.Steuerwort

Die rausgeschobenen Bits gehen verloren, also beim zurückschieben stehen Nullen drin.
 
Zurück
Oben