2011-04-13 19 views
5

Existen varias bibliotecas JIT, pero ¿hay alguna que emita instrucciones de estilo Motorola 68000, como por ejemplo 68000, 68040, 68060 o cualquiera de las CPU Coldfire?68000, biblioteca JIT portátil

Puntos de bonificación si también podría emitir para otras plataformas, pero 68k es lo más importante.

Se prefiere algo que se integre fácilmente con C, pero otros idiomas también son interesantes.

Idealmente algo así como libjit, pero con un backend 68k.

+1

compilación JIT para qué? –

+0

@Jonas Elfström, por un algoritmo genético. –

+0

¿En qué lenguaje de programación? –

Respuesta

2

Aunque esto realmente no responde a su pregunta, podría considerar generar el código de máquina 68k usted mismo. No debería ser demasiado difícil si ya está familiarizado con el ensamblaje de 68k.

El Motorola M68000 Family Programmer's Reference Manual documenta la sintaxis, la disponibilidad y la configuración de bits de cada instrucción de 680x0. Sin embargo, una forma menos tediosa de descubrir el código de máquina para las instrucciones es usar un ensamblador de 68k que pueda generar una lista de los códigos hexadecimales para cada instrucción producida. Si está en Windows, Easy68K debería ser capaz de generar dicha lista, pero yo no lo he probado.

Si no está en Windows, puede probar this assembler (solo admite 68000, creo). Tendrás que volar el polvo, pero funciona (al menos en Linux). El ensamblador de línea de comandos (assembler/asm) tiene un indicador -l que le dice al ensamblador que genere una lista. Ejemplo:

 
$ asmlab/assembler/asm -ln test.asm 
68000 Assembler by PGM 

No errors detected 
No warnings generated 

test.asm

espacio inicial se requiere antes de cada instrucción, y el ensamblador no maneja los espacios en blanco entre las fichas también.

 
move.l #$12345678,-(a6) 
jmp ($12345678) 
rts 

test.LIS

 
00000000 2D3C 12345678      1 move.l #$12345678,-(a6) 
00000006 4EF9 12345678      2 jmp ($12345678) 
0000000C 4E75        3 rts 

No errors detected 
No warnings generated 
+0

También encontré VASM y VBCC muy prometedores. –

+1

Actualmente estoy jugando con la generación de código 68000 y he encontrado que easy68k es excelente para probar el código generado y muestra el código de máquina al costado de cada línea. – Caltor

Cuestiones relacionadas