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

问题描述 投票:1回答:1

我正在阅读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 
        ^

所以我做错了什么?

jvm jasmin oolong
1个回答
0
投票

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

以下代码应该可以正常编译:

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

    ireturn
.end method
© www.soinside.com 2019 - 2024. All rights reserved.