问题标签 [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 回答
395 浏览

mic-1 - 在 IJVM 中进位加法

IJVM 中的 IADD 指令将两个 1 字数字相加。当我添加EEEEEEEE到自身时,我得到DDDDDDDC. 进位1会发生什么?我怎么才能得到它?它是否保存在寄存器中?

0 投票
1 回答
4318 浏览

java - 将代码转换为 IJVM

我已将代码片段翻译为 IJVM,但不确定它是否有效。告诉我我做得对不对。或者我如何检查代码是否有效。这是代码。

这是我所做的 IJVM 代码://以下 3 行设置 a = 0

0 投票
1 回答
695 浏览

simulation - MIC-1 模拟如何开始

不知道如何开始这个..

对于给定的高级代码:

完成任务:

  1. 创建对应的ijvm hexcode

  2. 存储到适当的单元格中

  3. 模拟指令

  4. 使用“”显示每个数据单元格的变化内容/,使用符号:

    /li>

在此处输入图像描述

0 投票
1 回答
310 浏览

java - IJVM 练习,交换 4 个元素堆栈中的 2 个元素

我正在尝试创建一个微程序函数,给定堆栈中的 4 个值,交换第三个和第四个值。我称它为“mswap”,这是迄今为止的微码:

mswap1 SP = SP - 1 mswap2 SP = SP - 1
mswap3 MAR = SP - 1
mswap4 rd mswap5 MAR = H
mswap6 wr mswap7 MAR = SP
mswap8 rd mswap9 MAR = SP - 1 mswap10 wr
mswap11 MAR = H mswap12 rd mswap13 MAR = SP mswap14 wr mswap15 SP = SP + 1 mswap16 SP = SP + 1; goto Main1

这是一个示例程序:

.main 开始: BIPUSH 0x39 BIPUSH 0x30 BIPUSH 0x36 BIPUSH 0x35 MSWAP OUT OUT OUT OUT HALT .end-main

它应该给出 5690 的输出 可悲的是,输出只有 56 就像我“错过”了两个堆元素。这是由于过度使用 SP = SP -1 造成的吗?在编写类似的函数来交换第二个和第三个元素时它工作得很好

0 投票
1 回答
74 浏览

numeric - 如何在 IJVM 上仅输入数字字符?

我将在 IJVM 上执行一个“简单程序”,但它要求:

您必须只输入数字字符(0x30 到 0x39)。

因此,如果我插入例如(A 或 b 或 g 等),它将以“HALT”停止。如何在没有字母字符的情况下设置从 0x30 到 0x39 的值的条件?

0 投票
1 回答
487 浏览

assembly - 如何在 IJVM 中取反一个数字?

我正在考虑一种NOT为 IJVM 实现操作/指令的方法,以便我可以编写一个乘法 JAS 方法,但是我在尝试实现一个否定方法时遇到了麻烦。

任何人都可以帮忙解决这个问题吗?

0 投票
1 回答
153 浏览

java - 如何在 IJVM 上创建 IUSHR4?

我需要创建 MAL 的扩展。所以,首先我尝试添加 mic1sim.mal

但不起作用!有人可以解释我哪里错了吗?

0 投票
1 回答
695 浏览

assembly - MIC IJVM 2 位简单和

只是一个关于 IJVM 计算的简单问题,因为我在他们的文档中找不到解决方案。

假设我们需要执行以下计算:

IADD ----> 从堆栈中弹出两个单词;推他们的总和

我知道解决方案可能很简单,但是对于我的一生,我不记得如何将加法/输出转换为实际数字。如何让它输出“5”而不是这个愚蠢的“e”?:)

干杯。

0 投票
0 回答
260 浏览

assembly - 如何在 IJVM 中输出超过 9 的数字?

我搜索了很多,但没有成功。也许你可以帮助我,提供一些建议或来源,我可以找到答案。如果在带有 MIC-1 模拟器的 IJVM 架构中超过 9,我无法理解如何输出一个数字,我有一个简单的 2 数字加法代码。

0 投票
0 回答
320 浏览

assembly - IJVM 麦克风 | 返回大于 9 的整数结果

我在 IJVM 中编写了一个代码,它对 1 位数字执行乘法、加法和减法。

基本上它读取输入字符,然后检查算术符号(+|-|*),读取第二个字符并执行相应的代码(基于符号)计算并输入结果

所以输入:

2+4=

结果输出:

6

输入:

2*4=

输出:

8

现在的问题显然是我不能输出大于 9 的值,因为更大的数字不止一个字符。9+1= 输出 ":",


9+2=";" (0x3B)


9+3="<" (0x3C)


现在我尝试查看add.jas示例,该示例作为 ontko.com 网站上的 IJVM MIC 文档的一部分提供。它从输入中获取 2 个数字并输出总和。然而,它处理输入和输出的方式只是说......不同。逐行浏览后,我仍然无法弄清楚如何输出由 2 位或 3 位数字组成的数字(输出结果的要求高达“999”,输入计算的要求是个位数)。理想情况下,我不需要 add.jas 生成的输出开头的那些零,这些零是不需要且没有目的的。我是说: (”

2+4=00000006

“?给我休息一下。)


能够在输出中处理更大的数字(最多 999)以实现我的代码的最有效方法是什么?


我相信绝对没有必要粘贴我的整个代码,因为在 IJVM 中更高级的人会知道我在说什么 - 他肯定对我的代码的外观有一个很好的了解,基于我的描述。


作为记录:我不愿意分享我的代码,因为这是 UNI 分配,并且关于重复代码/复制他人的规则非常严格,对双方都造成了相当严重的后果。而且我知道一个事实,我的 UNI 中的一些/许多具有相同任务的人正在互联网上进行侦察。谢谢你的理解!