Wie fahre ich 16 -Bit -Code auf 32 Bit Linux aus?
Frage
Ich habe ein kleines 16-Bit-Assembly-Programm geschrieben, das einige Werte an einigen Speicherorten schreibt. Gibt es eine Art und Weise, wie ich es im 32-Bit-geschützten Modus unter Linux testen kann?
Andere Tipps
Ja, 16-Bit-Code wird in Benutzerprozessen unter Linux unterstützt. Der Systemaufruf, es zu tun, heißt es vm86()
(Es gibt eine Mannseite, aber es ist nicht viel drin). Es funktioniert natürlich nur auf X86-Plattformen (und nur 32-Bit).
Wenn Sie ein Beispiel wünschen, verfügt das Elks -Projekt über ein komplettes Tool zum Ausführen von Elks 8086 -Binärdateien unter Linux, das es verwendet:
https://github.com/lkundrak/dev86/tree/master/elksemu
Suche nach run_elks()
Funktion. Es ist ziemlich einfach.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow