2011-04-13 123 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