java - 如何在 Jasmine 中打印长条?

标签 java jvm jasmin

我可以在 jasmin 中打印一个整数,如下所示:

getstatic java/lang/System/out Ljava/io/PrintStream;
bipush 7
invokevirtual java/io/PrintStream/println(I)V

要打印长整型(64 位整数),println 的参数是什么?

我已经尝试过了 invokevirtual java/io/PrintStream/println(L)V 但汇编器告诉我 (L)V 是一个非法签名。 (注意:当我尝试调用此方法时,System.out 和 long 都在堆栈上。)

最佳答案

我之前也遇到过这个问题。 L 保留用于文字对象名称,不能用于打印长整型。但是,J 可用于打印长(64 位)值。

所以,你的代码就是:

getstatic java/lang/System/out Ljava/io/PrintStream; ldc2_w 7 调用虚拟java/io/PrintStream/println(J)V

关于java - 如何在 Jasmine 中打印长条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309203/

相关文章:

java - 如何从核心项目登录

java - ORA-01847 日期必须介于 1 和月份的最后一天之间 - 将日期插入 Oracle 数据库

java - 直接编辑 .class 文件,使用操作码

text - 如何使Emacs文本像Netbeans一样清晰呈现

java - 执行由 Jasmin 生成的文件 .classes 时出错

java : Different ways for constructing an ArrayList

java - 如何使用dom4j在java中的另一个xml文档中插入一个xml节点作为第一个子节点?

java - 将 Java 源文件放入 JAR 中是否会增加消耗的 JVM RAM?

java - Jasmin HelloWorld 示例失败

java - 将 Jasmin 集成到 Ant 和 Eclipse 中