Jasmin 中的汇编语言 - 出现语法错误
Assembly language in Jasmin - getting syntax error
在腻子中,我试图创建一个 Jasmin 程序,当 assembled 和 运行 作为 Java 程序时,将输出整数“431”。当我尝试 assemble 程序时,控制台显示第 11 行存在语法错误。我无法弄清楚它是什么。这是我的代码:
.class public Lab3_JasminExample
.super java/lang/Object
.method public <init>()V
aload_0
invokespecial java/lang/Object/<init>()V
return
.end method
.method public static main ([Ljava.lang.String;)V
.limit stack 10
.limit locals 10
getstatic java/lang/System/out Ljava/io/PrintStream;
sipush 431
invokevirtual java/io/PrintStream/println(I)V
return
.end method
第 11 行将是“.limit stack 10”,我看不出我的写法有什么问题。我做错了什么?
错误可能会在一行中报告,但会被前几行(或后几行!)触发,因此请始终查看有问题的行。
我的Jasmin(2.4版)正确报错第10行
a.j:10: Warning - Syntax error.
.method public static main ([Ljava.lang.String;)V
^
这真的是一个愚蠢的错误:在方法名称 (main
) 和它的描述符 (([Ljava.lang.String;)V
)
之间有 space
第 10 行应该是 .method public static main([Ljava.lang.String;)V
在腻子中,我试图创建一个 Jasmin 程序,当 assembled 和 运行 作为 Java 程序时,将输出整数“431”。当我尝试 assemble 程序时,控制台显示第 11 行存在语法错误。我无法弄清楚它是什么。这是我的代码:
.class public Lab3_JasminExample
.super java/lang/Object
.method public <init>()V
aload_0
invokespecial java/lang/Object/<init>()V
return
.end method
.method public static main ([Ljava.lang.String;)V
.limit stack 10
.limit locals 10
getstatic java/lang/System/out Ljava/io/PrintStream;
sipush 431
invokevirtual java/io/PrintStream/println(I)V
return
.end method
第 11 行将是“.limit stack 10”,我看不出我的写法有什么问题。我做错了什么?
错误可能会在一行中报告,但会被前几行(或后几行!)触发,因此请始终查看有问题的行。
我的Jasmin(2.4版)正确报错第10行
a.j:10: Warning - Syntax error.
.method public static main ([Ljava.lang.String;)V
^
这真的是一个愚蠢的错误:在方法名称 (main
) 和它的描述符 (([Ljava.lang.String;)V
)
第 10 行应该是 .method public static main([Ljava.lang.String;)V