2012-04-04 9 views
1

Angenommen, Sie haben einen 64-Bit-fähigen Prozessor mit einem 32-Bit-Betriebssystem. Wäre es möglich, einige 64-Bit-Assembler-Anweisungen in einem 32-Bit-Programm auszuführen? Ich kann nicht sehen, warum nicht, wenn Sie einen 64-Bit-fähigen Prozessor haben, aber es gibt so viele geizige technische Probleme in der Computertechnik, besonders das Betriebssystem.Ausführen von 64-Bit-Assemblercode auf einem 32-Bit-Betriebssystem

HINWEIS Ich spreche nicht über das Ausführen eines 64-Bit-Programms auf einem 32-Bit-Betriebssystem, nur mit 64-Bit-Assembler-Anweisungen in einem 32-Bit-Programm eingebettet.

+0

Ich denke VMWare tut dies mit Virtualisierung. Theoretisch sollte es möglich sein, aber Sie müssen einen Low-Level-Zugriff auf die Verarbeitung erhalten, wie sie es mit HyperV-Dateien tun. – CrazyDart

Antwort

1

Die Sache, die Sie hier am besten wissen sollten, ist sicherzustellen, dass Sie Ihren Prozessor-Modus richtig einstellen. Sie müssen einige grundlegende Arbeiten durchführen, um vom 32-Bit-Modus in den 64-Bit-Modus (auch Long-Modus genannt) zu wechseln. Das größte Problem wäre, dass Sie die Deskriptor-Tabelle korrekt einrichten. Einige weitere Informationen finden Sie hier: http://www.codeproject.com/Articles/45788/The-Real-Protected-Long-mode-assembly-tutorial-for

Hoffe, das hilft.

+0

Das hilft, aber gibt es irgendwelche betriebssystemspezifischen Einschränkungen? –

+0

Für saubere Adressierungszwecke sollten Sie auch sicherstellen, dass in Ihrem Betriebssystem PAE aktiviert ist. – strangefreeworld

Verwandte Themen