Hexadezimale Darstellung einzelner CPU-Befehle

Hallo liebe Habo-Community. Nach langen Jahren habe ich endlich neben Arbeit, Schule und Privatleben geschafft, Assembler und ein paar Hochsprachen zu lernen. Der Tiefgang ist dem Zeitmangel bitte bildlich anzupassen. Nichtsdestotrotz habe ich mit einigen meiner Computer rumexperementiert. Mir hat sich dabei die Frage gestellt (da alle meine Computer Intel-Prozessoren besitzen), ob die hexadezimale Darstellung für einen Befehl auf jedem Prozessor aufgrund der Portabilität gleich ist.

sagen wir mal mov eax,ebx, oder fpu-befehle wie fsqrt oder ob ich jetzt erstmal mit einem völlig anderen Befehlssatz rechnen muss, wenn ich auf AMD-Rechnern einen Code mit der selben Funktionalität schreiben will. Natürlich bin ich mit Hochsprachen bei sowas immer besser bedient, die Frage bleibt für mich aber im Raum stehen.
 
Soweit ich das aus der Lehre noch refreshen kann ist die Basis der Befehle gleich. Nur bei Befehlssatzerweiterungen eben nicht.
 
Hey,

prinzipiell ja. Jedoch gibt es kleine, aber feine Unterschieden. Die meisten Unterschiede kannst du in dem Wiki-Artikel zu Intel 64 nachlesen. Unter Linux gibt es ja für 64Bit auch "nur" den amd64-Kernel (nur ab und zu wird auch IA-64 unterstützt). Also wie bereits lama0815 beschrieben hat: Im Prinzip gleich, aber eben doch nicht ganz. Es gab und gibt wegen diesen Unterschieden auch einige Exploits...

Grüße,
Scutus
 
Zurück
Oben