3

我编写了一个小型 16 位汇编程序,它在某些内存位置写入一些值。有没有办法在 Linux 上以 32 位保护模式测试它?

4

2 回答 2

7

qemu , dosbox , bochs

于 2011-10-19T22:39:38.050 回答
4

是的,Linux 中的用户进程支持 16 位代码。调用执行它的系统调用vm86()(有一个手册页,但其中没有多少)。自然,它仅适用于 x86 平台(并且仅适用于 32 位)。

如果你想要一个例子,ELKS 项目有一个在 Linux 上运行 ELKS 8086 二进制文件的完整工具,它使用它:

https://github.com/lkundrak/dev86/tree/master/elksemu

寻找run_elks()功能。这很简单。

于 2015-02-24T23:06:26.097 回答