Re: Typen - Berechnung

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Martin Richter [MVP] schrieb:
Hallo Martin!

Doku wüßte ich jetzt nicht. Aber es macht keinen Sinn, einen x86 Prozessor im 32Bit Protected Mode alte 16 Bit Befehle ausführen zu lassen. Diese erhalten dann nämlich einen Prefix und sind meines Wissens auch langsamer als ihr 32 Bit Equivalent.

ACK! Eine Shift Operation, die nur die unteren 16bit benutzt (shl ax) ist um einiges langsamer als der shift auf eax!

Zudem wird ja auch nur ein Wort geladen.
Interessant ist, dass in diesem Fall sogar die oberen 16bits returniert werden, die beim Shift entstehen. Theoretisch ja ein Wert, der ignoriert wird.
Die aufrufende Funktion sorgt dafür, dass wirklich nur die unteren 16bit verwendet werden.

Aber es ist ein unterschied, wenn ich

unsigned short x = 0x8000;
unsigned long y;

y = x << 1;
Was sollte hier herauskommen.
Es kommt natürlich 0x00010000 heraus, aber warum ?
Als erstes müsste er doch
x << 1 machen. Da x nur 16 Bit ist sollte das ergebnis auch 16 Bit sein.
= 0x0000;
Dann 16Bit nach 32 Bit. 0x0000 -> 0x00000000

Wieso wird x zuerst nach 32 Bit gewandelt. Da weicht meiner Meinung
vom Programmcode ab.

Danke
Jimmy
.



Relevant Pages

  • Re: Typen - Berechnung
    ... Diese erhalten dann nämlich einen Prefix und sind meines Wissens auch langsamer als ihr 32 Bit Equivalent. ... Eine Shift Operation, die nur die unteren 16bit benutzt ist um einiges langsamer als der shift auf eax! ...
    (microsoft.public.de.vc)
  • Re: RAM Erweiterung von 4 GB auf 8 GB aber welche?
    ... Oder auch im BIOS nach dieser Funktion suchen, die alle IO spaces u.a. auch der Grafikkarte im unteren 4GB Bereich bündelt um eben für ein eventuelles 32 Bit OS bereit zu sein. ...
    (de.comp.hardware.misc)
  • Re: Assemblercode 64Bittauglich machen
    ... rax sind die vollen 64 Bit ... eax nur die unteren 32 Bit ... Prev by Date: ... Next by Date: ...
    (de.comp.lang.assembler.misc)
  • Re: IC das mittels 4Bit Eingang 1 von 16 Pin auf high setzt?
    ... Kennt jmand so einen B2D-Wandler ich finde immer nur welche die das ganze nur bis 3 Bit können bzw. welche die zwar 4 ... Das vierte höchstwertige Bit geht an einem der Dekoder an einen low aktiven Enable Eingang, dafür am anderen IC an einen high aktiven Enable Eingang. ... Die unteren 3 Bit gehen parallel an beide ICs. ...
    (de.sci.electronics)