Frage

Ich fange an, ein Programm zu portieren, die in C geschrieben und haben mehrere Stücke von Code in Assembler geschrieben mit Anweisungen für eine 32-Bit-Maschine - wie LJMP -. Auf eine 64-Bit-Maschine

Gibt es einen Ort / Dokument, das die Anweisungen hat, in der Montage, für eine 32-Bit-Maschine und sein Gegenstück für ein 64 ein? Wenn nicht, wo finde ich ein Dokument, das die Anweisungen alle für ein 32-Bit-Listen und eine 64-Bit-Maschine?


Wie es ist ziemlich offensichtlich ist, bin ich ein Neuling für die Situation. Lassen Sie uns einige Punkte klären.

Ich bin Portierung ein OS in seinen sehr frühen Tagen. Es wurde mit einer x86-Maschine im Hinterkopf geschrieben. Nun, ich will es auf einem x86_64 auszuführen.

Es ist in einer Linux-Box mit UNIX im Hinterkopf geschrieben. Ich bin fast sicher, dass der ursprüngliche Autor es bei einer Intelen Maschine schreibt. Ich bin auch auf Intel, aber ich möchte das Betriebssystem in AMD laufen.

Der Compiler verwendet wird, gcc.

Andere Tipps

Sie haben keinen Hintergrund angeboten oder auch die Art der CPU, aber ich werde vorschlagen Thay vielleicht sollten Sie diese nehmen 64-Bit-Port als eine Gelegenheit, die Montag zu überdenken verwendete Sprache. Während es sicherlich seinen Platz hat, würde ich Umkodierung die Routine in C ++ empfehlen und Benchmarking des optimierte Ausgabe des Compilers, um zu sehen, ob es wirklich jeden langsamer ist. In vielen Fällen wird es nicht sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top