-
 Zitat von BenderD
bei der Speicher Überlagerung von einem String und einer als Integer definierten Zahl geht die interne Zahlendarstellung (Prozessor abhängig) in die Umrechnung ein, was zu deinem Problem führt.
[...]
mfg
Dieter Bender
Wusste nicht, dass es da von Prozessor zu Prozessor unterschiede gibt. Aber man lernt nie aus.
Genaue Spezifikationen gibt es von dem Tester nur über die Kommunikation. Zum umrechnen von Milliampere nach Bar weiss ich aber, dass 1,6 Milliampere 1 Bar sind. Das reicht ja zum Umrechnen.
Mfg KAMPI
-
Da ja bei "00F6" "F6" das höherwertige Byte ist ergibt das F600, und da das oberste Bit gesetzt ist, ist der Wert negativ.
Bei der Definition U für Unsigned, sollte das eigentlich ignoriert werden.
Um aber Prozessorneutral zu sein, muss man eben per Spezifikation (siehe Dieter) genau wissen, wie Daten zu interpretieren sind und natürlich auch über Speicherungen auf Prozessoren informiert sein.
Auch Terminologien sind da manchmal unterschiedlich.
Bei Intel (und fast allen PC'lern) werden Bits in Bytes z.B. von rechts nach links gezählt, bei IBM und somit AS/400 aber von links nach rechts.
Wo ist also Bit 0 ?
Naja, und das mit den LOWORD/HIWORD bzw LOWBYTE/HIGHBYTE stammt auch aus der C++/C-Programmierung, wo eben Makros je nach Zielsystem (also Hardware) die Interpretation zur Compilezeit auflösen.
-
Wusste nicht, dass es da von Prozessor zu Prozessor unterschiede gibt. Aber man lernt nie aus.
Eine ganz brauchbare Erklärung gibt es schon in der Wikipedia: Byte-Reihenfolge – Wikipedia
Intel hat schon bei seinem ersten 8-Bit-Prozessor, dem 8008 (1972), mit diesem Unfug angefangen; da hatten die Adress-Register schon stolze 14 Bit, die seit dem 4-Bit-Vorgänger hinzugekommenen 6 Bit wurden einfach an den alten 16-Bit Befehl des 4004 (8 Bit Befehl, 8 Bit Adresse) angehängt (das war aus Sicht der Entwickler - hard und soft -vermutlich sogar sinnvoll).
Bei dem 8080 (1974) wurden dann die 14 Bit auf 16 Bit erweitert, und man hatte ein 16-Bit Adressformat, mit dem man volle 64K(!) adressieren konnte.
Dieses verquere Format hat man dann aus Kompatibilitätsgründen bis heute beibehalten müssen.
Prozessorhersteller, die früher (IBM) oder später (Motorola) auf den Markt kamen, haben es anders gemacht.
mfg
Werner
(der noch einen Intel-Katalog von 1977 im Regal stehen hat)
Similar Threads
-
By cseitz in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 20-06-06, 15:40
-
By woki in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 06-06-06, 16:57
-
By micha1904 in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 31-05-06, 08:45
-
By Robi in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 18-05-06, 20:46
-
By TomWaf in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 12-05-06, 10:07
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks