Вопрос

Я написал небольшую 16-битную программу сборки, которая записывает некоторые значения в некоторых местах памяти. Есть ли способ, которым я могу проверить ее в 32-разрядном защищенном режиме на Linux?

Это было полезно?

Решение

Другие советы

Да, 16-битный код поддерживается в пользовательских процессах в Linux. Системный вызов, чтобы сделать это, называется vm86() (Есть страница человека, но в ней мало). Естественно, он работает только на платформах x86 (и 32-битный).

Если вам нужен пример, проект Elks имеет полный инструмент для запуска ELKS 8086 Binary на Linux, который использует его:

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

Ищите run_elks() функция Это довольно просто.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top