Domanda

Sto lavorando al porting uc / OS-II da DOS a x86 (modalità reale).Ho bisogno:

  1. Un compilatore per generare un assembly x86 a 16 bit in modalità reale

  2. Un assembler per assemblare l'assembly generato in un file oggetto

  3. Un linker per collegare i file oggetto insieme e produrre un eseguibile (raw binario, COFF, PE, o I formati ELF vanno bene)

  4. Una libreria standard senza richiamare alcun servizio DOS (int 21h), dipende solo dal servizio BIOS.

Mi chiedo se c'è qualche catena di strumenti che potrebbe farlo.

È stato utile?

Soluzione

Guarda il FreeDOS progetto.Hanno strumenti per sviluppatori che includono compilatori, assemblatori e linker.Probabilmente dovrai modificare la libreria standard, tuttavia, in modo che utilizzi le chiamate BIOS piuttosto che int 21h.

Altri suggerimenti

compilatori a 16 bit?Molti di loro sono menzionati qui:

C'è un compilatore C che si rivolge a 8086?

Generalmente vengono utilizzati per esercizi accademici, quindi se ti rivolgi all'istituto scolastico puoi trovare anche molti esempi:

http://www.google.com.sg/search?q=site%3Aedu+C+compiler+8086

In un precedente lavoro avevamo un progetto basato su uc / OS in esecuzione su una piattaforma x86 in modalità reale.Abbiamo usato TopSpeed C piuttosto che i più noti compilatori Borland o Microsoft, perché TopSpeed C era l'unico del set disponibile e praticabile al momento in cui è arrivato volatile diritto.Di cui hai molto bisogno quando costruisci uc / OS.Sia Turbo C che Microsoft C (e penso anche che sia QuickC) hanno compilato male gli accessi a volatile variabili - tipicamente valori di memorizzazione nella cache nei registri e rotture simili.

Avresti difficoltà a entrare in possesso di TopSpeed C, però.E la sua sintassi assembler è...unico.(Penso che sia basato su Modula-2 o qualcosa del genere;finisce per essere molto diverso da MASM / TASM / nasm con cui potresti essere 100 volte più familiare.)

Dai un'occhiata a qualsiasi progetto di bootloader, come GRUB.Dovrebbe essere immediatamente evidente che hanno anche bisogno di tutto ciò che hai menzionato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top