32ビットLinuxで16ビットコードを実行する方法は?
質問
いくつかのメモリの場所にいくつかの値を書き込む小さな16ビットアセンブリプログラムを書きました。32ビット保護モードでLinuxでテストできる方法はありますか?
他のヒント
はい、16ビットコードはLinuxのユーザープロセスでサポートされています。それを行うためのシステム呼び出しは呼び出されます vm86()
(男のページがありますが、それはあまりありません)。当然、X86プラットフォームでのみ動作します(および32ビットのみ)。
例が必要な場合、Elksプロジェクトには、LinuxでElks 8086バイナリを実行するための完全なツールがあります。
https://github.com/lkundrak/dev86/tree/master/elksemu
を探します run_elks()
関数。それはかなり簡単です。
所属していません StackOverflow