问题描述
|
有几个JIT库,但是有没有一个可以发出Motorola 68000风格的指令,例如68000、68040、68060或任何Coldfire CPU?
如果它也可以在其他平台上发射,则要加分,但是68k最重要。
首选易于与C集成的东西,但其他语言也很有趣。
理想情况下类似libjit,但后端为68k。
解决方法
尽管这并不能真正回答您的问题,但是您可以考虑自己生成68k机器代码。如果您已经熟悉68k组装,这应该不会太困难。
摩托罗拉M68000系列程序员参考手册记录了每条680x0指令的语法,可用性和位配置。但是,找出指令的机器代码的一种较麻烦的方法是使用68k汇编程序,该汇编程序可以为产生的每个指令生成十六进制代码列表。如果您使用的是Windows,Easy68K应该能够生成这样的列表,但是我自己还没有尝试过。
如果您不在Windows上,则可以尝试使用此汇编器(我认为仅支持68000)。您必须将其清除掉,但是它可以工作(至少在Linux中)。命令行汇编器(
assembler/asm
)有一个-l
标志,该标志告诉汇编器生成列表。例:
$ asmlab /汇编器/ asm -ln test.asm
PGM 68000汇编器
未检测到错误
没有警告产生
测试程序
每条指令前都需要前导空格,并且汇编器不能很好地处理令牌之间的空格。
move.l#$ 12345678,-(a6)
jmp(12345678美元)
rts
测验
00000000 2D3C 12345678 1 move.l#$ 12345678,-(a6)
00000006 4EF9 12345678 2 jmp($ 12345678)
0000000C 4E75 3分
未检测到错误
没有警告产生