wenn es wenigstens wahr wäre, aber die Probleme bringen schlicht und einfach die Architektur mit sich;
das eine oder andere Bugilein mag vielleicht ausgebessert sein, aber im wesentlichen sind die noch vorhanden;
bei AMD nicht anders ...
es ist und bleibt eine 32-bit Architektur welche zufällig auch 64-bit kann ...
wohlgemerkt, AMD hat das mit der AMD64-Sache erfunden;
EM64T von Intel ist nur der 'kompatible' Nachbau;
aber bei folgendem zermatscht man sein Hirn ...
RAX, RBX, RCX, ... sind die 64-bit Register
EAX, EBX, ECX, ... sind die 32-bit Register bzw. im 64-bit Modus die niederwertigen 32-bit der 64-bit Register
auf die ganzen 64-bit Register kann man nur zugreifen, sobald man die CPU in einen 64-bit Modus schaltet;
das mag ja noch irgendeinen Sinn ergeben¹, ABER:
SUB ECX,ECX ; das 32-bit ECX Register (Counter) mit 0 initialisieren,
; durch Subtraktion sich selbst von sich selbst
MOV RAX,1234567812345678H ; das 64-bit RAX Register (Akkumulator) auf den Wert 1234567812345678H setzen
MOV EAX,ECX ; kopiere das 32-bit ECX Register (Counter) auf das 32-bit EAX Register (Akkumulator)
jetzt darf gewettet werden: welchen Wert hat hier das komplette 64-bit RAX Register (Akkumulator)?
¹ von den Adressen her betrachtet ja, von den Daten her betrachtet definitiv nein