Come eseguire il codice a 16 bit su Linux a 32 bit?
Domanda
Ho scritto un piccolo programma di montaggio a 16 bit che scrive alcuni valori in alcuni locations.Is memoria c'è un senso che posso provarlo in modalità protetta a 32 bit su Linux?
Altri suggerimenti
Sì, codice a 16 bit è supportato in processi utente in Linux. La chiamata di sistema per farlo è chiamato vm86()
(c'è una pagina man, ma non c'è molto in esso). E ', naturalmente, funziona solo su x86 piattaforme (e solo a 32 bit).
Se volete un esempio, il progetto ELKS dispone di uno strumento completo per l'esecuzione di ELKS 8086 binari su Linux, che lo utilizza:
https://github.com/lkundrak/dev86/tree/master/elksemu
Cercare la funzione run_elks()
. E 'piuttosto semplice.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow