Comment faire pour exécuter du code 16 bits sur 32 bits Linux?
Question
Je l'ai écrit un petit programme d'assemblage 16 bits qui écrit des valeurs dans certains locations.Is mémoire il y a une manière que je peux le tester en mode protégé 32 bits sur Linux?
Autres conseils
Oui, le code 16 bits est pris en charge dans les processus utilisateur dans Linux. L'appel système pour le faire est appelé vm86()
(il y a une page de manuel, mais il n'y a pas grand chose). Il est, naturellement, ne fonctionne que sur les plates-formes x86 (et 32 ??bits).
Si vous voulez un exemple, le projet ELKS a un outil complet pour exécuter ELKS 8086 binaires sur Linux, qui l'utilise:
https://github.com/lkundrak/dev86/tree/master/elksemu
Recherchez la fonction run_elks()
. Il est assez simple.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow