2010-12-20 10 views
13

Tengo un emulador de CPU 8086. Emula solo 8086 instrucciones. Estoy buscando ahora un compilador de C para apuntar a este emulador. ¿Hay algún compilador de C que pueda hacer esto?¿Hay un compilador de C que se dirija al 8086?

Además, tener una libc utilizable y tal no es importante para mí. El emulador utiliza a medida (es decir, no-PC) de hardware y por lo tanto cualquier libc o incluso ctr0 probablemente tendría que ser reescrito todos modos

+1

Cualquier DOS compilador de 16 bits. –

+0

Tristemente, sí, muchos de ellos, y demasiados profesores universitarios haciendo que sus estudiantes los usen ... –

+0

@R .. @Hans muchos de los compiladores que he visto apuntan más arriba que el 8086, generalmente suben a 8186 y 8286 códigos de operación. – Earlz

Respuesta

8

BCC - compilador de C de Bruce

De bcc(1) - Linux man page:

Descripción

Bcc es un simple compilador de C que produce el ensamblador 8086, además las opciones de tiempo de compilación del compilador permiten las versiones 80386 o 6809. El compilador entiende K & R C tradicional con la restricción de que los campos de bit se asignan a uno de los otros tipos de entero.

La operación predeterminada es producir un ejecutable 8086 llamado a.out del archivo de origen.

abierto Watcom

partir de la descripción del compilador opción/80x86 convención de tiempo de ejecución en Open Watcom C/C++ User’s Guide (enlace PDF):

(16-bits) El compilador hará uso de solo 8086 instrucciones en el código objeto generado. Este es el valor predeterminado . El código resultante se ejecutará en 8086 y todos los procesadores compatibles hacia arriba. El __SW_0 macro será predefinido si se selecciona "0"

7
+0

¿Estás seguro de que Digital Mars generará binarios usando solo 8086 códigos de operación? – Earlz

+0

+1 para [Abrir Watcom] (http: //www.openwatcom.org) – jschmier

+0

@Earlz: Digital Mars puede apuntar al 8088, que es el mismo conjunto de instrucciones que el 8086: http://www.digitalmars.com/ctg/sc.html#dash023456 –

Cuestiones relacionadas