我正在阅读Joshua Engel的Java虚拟机编程,我尝试输入书中的一个例子。我知道这本书使用了乌龙,我使用的是Jasmin,但是对于这样一个简单的例子,并且因为乌龙和Jasmin的语法非常相似,我不明白为什么这不起作用。作为旁注,我无法找到有关乌龙和Jasmin之间语法差异的任何信息。谁能指出我这样的资源?
这是代码,与书中完全相同:
.class Test
.method static run()I
bipush 9
bipush 6
imul
ireturn
.end method
当我对此运行 Jasmin 时,我收到以下错误:
Test.j:2: Warning - Syntax error.
.method
^
Test.j:2: Error - Couldn't repair and continue parse.
.method
^
那么我做错了什么?
Jasmin在.class
之后需要.super
关键字。
以下代码应编译正常:
.class Test
.super java/lang/Object
.method static run()I
bipush 9
bipush 6
imul
ireturn
.end method