Hi,
ich hab gleich noch eine Frage (siehe Thread untendrunter)...
ASM-Sprachen hängen ja vom verwendeten Prozessor ab, aber bezieht sich diese Abhängigkeit nur auf die Architektur (x86,...) oder auf den "Prozessor selbst" (AMD oder Intel,...).
Hintergrund ist folgender: Ich würde gerne eine wenig Assembler programmieren (wer hätte es gedacht^^) und zwar parallel auf meinem Desktop (Intel P4) und auf einem Notebook. Bei der Auswahl des Notebooks beschäftigt mich eben die Frage, ob ich ein Notebook mit AMD Sempron Mobil verwenden kann.
Kann zum Kompilieren der gleiche Code verwendet werden, und wird bei Dissamblieren der selbe Code erzeugt?
Vielen Dank schon mal für eure Bemühungen, wenn was unklar ist bitte nachfragen.
Gruß
Timmintor 2°°4
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
aber bezieht sich diese Abhängigkeit nur auf die Architektur (x86,...) oder auf den "Prozessor selbst" (AMD oder Intel,...).
Naja, die x86-Architektur bzw. eher seit Jahren die i386-Architektur ist die Basis aller aktuellen Intel und AMD PC-CPUs. Nur weil die CPUs zumindest vom Grundlegenden Befehlssatz her Binärkompatibel sind ist es auch möglich, daß die selben Binaries auf CPUs beider Hersteller laufen. Die i386-Architektur ist seit Einführung der 32Bit-Architektur erst mal die kleinste gemeinsame Basis. Später kamen dann von immer mal wieder Befehlserweiterungen dazu, wie MMX, 3DNow, (I)SSE, SSE2, SS3 die, langfristig aber auch immer vom anderen Hersteller übernommen wurden (wie es bei 3DNow von AMD ausschaut weiß ich gerade nicht, aber die Intel-Befehlserweiterungen sind auch in den aktuellen AMD-CPUs zu finden)...
Hintergrund ist folgender: Ich würde gerne eine wenig Assembler programmieren (wer hätte es gedacht^^) und zwar parallel auf meinem Desktop (Intel P4) und auf einem Notebook. Bei der Auswahl des Notebooks beschäftigt mich eben die Frage, ob ich ein Notebook mit AMD Sempron Mobil verwenden kann.
Also kein Problem, so lange Du keine Befehlserweiterungen verwendest die eine der Zielplattformen nicht unterstützt, ich vermute aber erstmal sehr, daß Du die nicht brauchen wirst ;-)
Kann zum Kompilieren der gleiche Code verwendet werden, und wird bei Dissamblieren der selbe Code erzeugt?
Bei ASM wird nicht kompiliert, sondern nur Assembliert. Dabei werden dann "nur noch" die OpCodes in Binärcode umgewandelt und Symbolische Bezeichner in Speicheradressen...
Gruß
Borlander
Naja, die x86-Architektur bzw. eher seit Jahren die i386-Architektur ist die Basis aller aktuellen Intel und AMD PC-CPUs. Nur weil die CPUs zumindest vom Grundlegenden Befehlssatz her Binärkompatibel sind ist es auch möglich, daß die selben Binaries auf CPUs beider Hersteller laufen. Die i386-Architektur ist seit Einführung der 32Bit-Architektur erst mal die kleinste gemeinsame Basis. Später kamen dann von immer mal wieder Befehlserweiterungen dazu, wie MMX, 3DNow, (I)SSE, SSE2, SS3 die, langfristig aber auch immer vom anderen Hersteller übernommen wurden (wie es bei 3DNow von AMD ausschaut weiß ich gerade nicht, aber die Intel-Befehlserweiterungen sind auch in den aktuellen AMD-CPUs zu finden)...
Hintergrund ist folgender: Ich würde gerne eine wenig Assembler programmieren (wer hätte es gedacht^^) und zwar parallel auf meinem Desktop (Intel P4) und auf einem Notebook. Bei der Auswahl des Notebooks beschäftigt mich eben die Frage, ob ich ein Notebook mit AMD Sempron Mobil verwenden kann.
Also kein Problem, so lange Du keine Befehlserweiterungen verwendest die eine der Zielplattformen nicht unterstützt, ich vermute aber erstmal sehr, daß Du die nicht brauchen wirst ;-)
Kann zum Kompilieren der gleiche Code verwendet werden, und wird bei Dissamblieren der selbe Code erzeugt?
Bei ASM wird nicht kompiliert, sondern nur Assembliert. Dabei werden dann "nur noch" die OpCodes in Binärcode umgewandelt und Symbolische Bezeichner in Speicheradressen...
Gruß
Borlander
Vielen Dank Borlander.
Ich denke auf, dass ich 3DNow erstmal nicht verwenden werde. Klein anfangen ;-))
Gruß
TimmintoR 2°°4