68000,便携式JIT库

时间:2011-04-13 06:16:36

标签: c code-generation jit 68000

有几个JIT库,但有没有发出Motorola 68000样式指令,例如68000,68040,68060或任何Coldfire CPU?

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

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

理想情况下类似libjit,但后端为68k。

1 个答案:

答案 0 :(得分: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