Jasmin为什么不喜欢此汇编代码?

时间:2019-10-07 14:29:09

标签: jvm jasmin oolong

我正在阅读Joshua Engel编写的Java虚拟机编程,并且尝试键入本书中的一个示例。我知道这本书使用的是Oolong,而我使用的是Jasmin,但是对于这样一个简单的示例,由于Oolong和Jasmin的语法非常相似,所以我不明白为什么这是行不通的。附带说明,我无法找到有关Oolong和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 
        ^

那我做错了什么?

1 个答案:

答案 0 :(得分:1)

Jasmin在.super之后需要.class关键字。

以下代码应能正常编译:

.class Test
.super java/lang/Object
.method static run()I
    bipush 9
    bipush 6
    imul

    ireturn
.end method