Step 5 Was macht die Operation B bei S5

Steve81

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

kann mir jemand folgende Zeilen erklären?

A DB 50

L MW 80
B MW 80
L DW 0
T MW 84

...

Es geht mir hauptsächlich um die B Operation.

Wenn MW80 den Wert Hex 00FF überschreitet steht in MW84 nur noch Hex 0000.
Bis zu MW80 Hex 00FF steht in MW84 das gleiche wie in MW80.

Vorab schon einmal danke für die Unterstützung.
 
B ist der Bearbeitebefehl.
in deinem Beispiel wird beim Befehl L DW0 nicht das DW0 sondern der Inhalt die Adresse, die in MW80 steht geladen.
Wenn der Inhalt von MW80 eine 10 ist wird das Datenwort 10 aus dem DB50 geladen und in das MW84 transferiert.
Der Ladebefehl mit MW80 ist nicht nötig und macht hier keinen Sinn.

Fällt unter das Stichwort "indirekte Adressierung" :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, das habe ich soweit verstanden.
Was mich jetzt aber wundert ist, dass ab der Adresse DB50.DW256, also wenn MW80 den Wert 0100 enthält, in das MW84 nur noch 0000 geschrieben wird. In DB50.DBW256 steht allerding ein anderer Wert als 0000 (z.B. 0052).
 
Aus dem Handbuch:
Code:
B    DW 0 bis 255          Bearbeite Datenwort


Funktioniert nur bis DW 255.
Außer, wenn ich mich nicht irre, bei 945 CPUs


bike
 
Ist FF[SUB]Hex[/SUB] in einem Word nicht 255[SUB]Dez[/SUB] ? Und 0100[SUB]Hex[/SUB] ist dann doch 256[SUB]Dez[/SUB]?
 
bei
B MW 80
L DW 0
muss man aufpassen. S5 115, 135,155
Die DBs können Wort oder Byteweise (je nach CPU) sein.
Bei einer 115 CPU 941 sind die DBs Byteorientiert.
L DW 254 überträgt Byte 254 und Byte 255, dann sind 16 Bit im Akku.
Wenn der DB von 0 bis 255 reicht würde dann

L KB 255
T MW 80
B MW 80
L DW 0
zu einem Fehler, CPU-Stop, führen, wei das Byte 256 nicht existiert.

Bei Wortorientierten DBs hätte jede DB-Adresse 16 Bit.
Bsp. AG 155: DW0 hat 16 Bit DL0 die ersten 8, DR0 die anderen 8 Bit. (DL = "Datum Links")
 
bei
B MW 80
L DW 0
muss man aufpassen. S5 115, 135,155
Die DBs können Wort oder Byteweise (je nach CPU) sein.
Bei einer 115 CPU 941 sind die DBs Byteorientiert.
L DW 254 überträgt Byte 254 und Byte 255, dann sind 16 Bit im Akku.
Wenn der DB von 0 bis 255 reicht würde dann

L KB 255
T MW 80
B MW 80
L DW 0
zu einem Fehler, CPU-Stop, führen, wei das Byte 256 nicht existiert.

Bei Wortorientierten DBs hätte jede DB-Adresse 16 Bit.
Bsp. AG 155: DW0 hat 16 Bit DL0 die ersten 8, DR0 die anderen 8 Bit. (DL = "Datum Links")

Hallo,

woher nimmst du die Info mit dem byteorientiert bei CPU 941? Wäre mir neu.

André
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

woher nimmst du die Info mit dem byteorientiert bei CPU 941? Wäre mir neu.

André
Möglich, daß ich das mit der S7 verwechsle.

allerdings gibt es in der 115 keinen L DD nn, sonder nur L DL, L DR und L DW.

Und lt. Systemhandbuch:

EinZugriff auf die Datenworte 256...2042 ist nur möglich mit den Operationen ”LIR”, ”TIR” und
”TNB”.



TNB - nicht TNW - deutet auf Byteorientiert hin.

ist halt schon über 20 jahre her.

> woher nimmst du die Info mit dem byteorientiert bei CPU 941?
damals hatte ich alle Handbücher und Systembücher. Ich kenn aber noch einen Schrank wo die Bücher stehen, und hätte auch noch zugriff darauf. Also wenns wichtig ist, kann ich nachsehen.
 
Aber mit der Frage nach B DW0 haben diese Informationen jetzt nicht wirklich etwas zu tun.

Und bei den S5 CPU gabe es in den 25 Jahren deren Lebenszeit gab es soviele verschiedene OS, daher gibt es eine allegemein gültige Aussage über die gesamten Funktionen, Befehle und Zugriffe auf Datenbereiche nicht.
Denn zwischen 150U und 945 liegen jahre und Welten.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay, ich habe noch Handbücher von den ersten 150U, mal prüfen wenn mir langweilig ist.
Habe noch so ein paar Einschränkungen im Kopf was und wie es mit Daten damals ging und was nicht.

Doch verstehe ich jetzt nicht was dein Kommentar bedeutet.
B DW 0 bedeutet doch indirekte Adressierung des DatenWorts.

Aber die Frage wurde beantwortet, daher.....


bike
 
Zurück
Oben