2011-04-13 98 views
5

有几个JIT库,但有没有发出摩托罗拉68000风格的指令,例如68000,68040,68060或任何Coldfire CPU?68000,便携式JIT库

奖励积分,如果它也可以发射给其他平台,但68k是最重要的。

与C很容易集成的东西是首选,但其他语言也很有趣。

理想情况下类似于libjit,但具有68k后端。

+1

JIT编译为了什么? – 2011-04-13 06:55:22

+0

@JonasElfström,遗传算法。 – 2011-04-18 10:52:40

+0

用什么编程语言? – 2011-04-18 11:30:18

回答

2

虽然这并不能真正回答您的问题,但您可以考虑自己生成68k机器码。如果您已经熟悉68k的组装,那不应该太难。

Motorola M68000 Family Programmer's Reference Manual记录了每个680x0指令的语​​法,可用性和位配置。然而,找出指令的机器码的一种较简单的方法是使用一个68k汇编器,它可以为每条指令生成一个十六进制代码列表。如果你在Windows上,Easy68K应该能够生成这样的列表,但我没有自己尝试过。

如果你不在Windows上,你可以尝试this assembler(我认为只支持68000)。你不得不吹掉它的灰尘,但它可以工作(至少在Linux中)。命令行汇编程序(assembler/asm)有一个-l标志,告诉汇编程序生成列表。例如:

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

No errors detected 
No warnings generated 

TEST.ASM

主导空间被每个指令之前必需的,并且汇编不处理标记之间的空白孔。

 
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

我还发现VASM和VBCC非常有希望。 – 2011-05-18 06:33:37

+1

我目前正在生成68000代码,并发现easy68k非常适合测试生成的代码,并且它显示了每行旁边的机器代码。 – Caltor 2012-01-17 21:01:17