Pregunta

He escrito un pequeño programa de ensamblaje de 16 bits que escribe algunos valores en algunas ubicaciones de memoria. ¿Hay alguna manera de probarlo en modo protegido de 32 bits en Linux?

¿Fue útil?

Solución

Otros consejos

Sí, el código de 16 bits es compatible con los procesos de usuario en Linux. La llamada del sistema para hacerlo se llama vm86() (Hay una página del hombre, pero no hay mucho en ella). Es, naturalmente, solo funciona en plataformas X86 (y solo de 32 bits).

Si desea un ejemplo, el proyecto Elks tiene una herramienta completa para ejecutar binarios de Elks 8086 en Linux, que lo usa:

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

Busca el run_elks() función. Es bastante sencillo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top