问题标签 [ijvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

c - 将字节数组转换为整数

我正在使用 C 语言开发 IJVM 项目。首先,我将一个二进制文件导入到我的程序中,它应该被解析为单词。现在我创建了一个包含二进制文件的变量(文本),我需要将其转换为单词数组。我得到了提示

这仅适用于前 4 个字节,我需要的是一个result.

我尝试过这样的事情,但它从来没有奏效.. :(

0 投票
0 回答
19 浏览

java - implementing stack for ijvm instructions JAVA

I am implementing a simple ijvm using a stack in java, however, I encounter a very weird behavior and I have no idea why. So for my stack class I have a constructor

(maxSize, stack and size declared are private variables of the class. and Word is my own class) my push;

These seem fine to me, correct me if I'm wrong! So when the input is BIPUSH 20 BIPUSH 40

I recognize the bipush instruction and push them on the stack per instruction, which works fine, I printed what I'm pushing and it first pushes 20 then 40. However after I push the 40, the 20 in the stack[0] turns into 40 for some reason? I printed the whole stack whenever I push something and so when pushing the 40, the stack turns into [40, 40] instead of [20, 40] and I have no idea why. I also print "size" every time and the size parameter seems correct whenever it's pushing. I know I don't have a check yet for if size is below 0, I'll add that later Any ideas?

0 投票
0 回答
762 浏览

ijvm - 需要帮助使用 iJVM 中的方法创建乘数

我正在尝试使用带有 MIC-1 ASSEMBLER 的 .jas 文件在 iJVM 中创建一个程序,通过键盘输入两个数字并将它们相乘以获得输出 EX: 2*2=4

在下面的代码中,我只是对随机数进行了双向推送,因为当我使用“in”获取输入时,它没有给我输入

当我在没有方法的情况下仅在 main 中 bipush 7 和 bipush 2 时,输出为:EX:输入 x:20 输入 y:2

我得到了 ascii 数字,所以我假设它采用十六进制 0x20 和 0x02 并将其相乘得到 0x40 并输出 ascii 字符

0 投票
1 回答
147 浏览

c - c问题中IJVM块文件的大小错误

我正在尝试实现 IJVM 并读取二进制文件。

我知道 .ijvm 文件包含一个 32 位幻数和任意数量的数据块,并且一个数据块包含三个部分。我的意图是首先读取并存储始终大小不变的幻数,然后将数据块存储到不同的数组中。.ijvm 文件如下所示:

1d ea df 广告 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00 07 10 30 10 31 60 fd ff

前 4 个字节 ( 1d ea df ad) 是魔法 n。其余的数据块。
读取文件后,我确定总大小为 27 个字节,因此其余部分应为 23 个字节。
然而,无论我尝试什么,尽管正确存储和读取魔法和数据部分,我总是得到错误的数据部分大小,而不是我认为应该的 23 字节。

你能解释一下我错过了什么吗?为什么两个 dataBlocklen 都不给 23 个字节?

0 投票
1 回答
95 浏览

java - 是否可以直接在 jvm 中实现 java 应用程序的一部分?

我在大学里学习了ijvm(jvm 的一个子集),它提出了一个问题:是否可以直接在 jvm 中实现 java 应用程序的一部分以提高性能?... 就像您可以在汇编中实现 C 程序的一部分一样。

如果可能的话,我将非常感谢展示它的代码片段。

0 投票
0 回答
54 浏览

assembly - 汇编语言中的加法和分号

有人可以解释一下分号在 ADD R1, R1 中的作用吗?R2?我知道 ADD,将 R1 和 R2 相加,然后将值放入 R1。它在这里做同样的事情吗?第一张图是我们正在使用的指令集。第二张图显示了 IJVM 架构。

在此处输入图像描述

在此处输入图像描述