-1

不知道如何开始这个..

对于给定的高级代码:

c = b - a;
a = a * 2;

完成任务:

  1. 创建对应的ijvm hexcode

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

  3. 模拟指令

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

    < old_value > / < new_value >
    

在此处输入图像描述

4

1 回答 1

0

首先在 IJVM 中编写等效指令。如果您使用的是 Tannenbaum 的书,则有一个简单的示例可以像其中一个语句一样进行计算。

由于您必须更新数据路径中寄存器的内容,因此 IJVM 是不够的。如果只需要显示堆栈的内容,IJVM 就足够了。Tannenbaum 有一个关于堆栈如何从 IJVM 指令变化的示例。

拥有 IJVM 后,在指令表中查找操作码并将操作数更改为 LV 的偏移量。

您必须接受 IJVM 指令并通过 MIC-1 模拟它们。用初始值填充堆栈和寄存器。使用纸和笔显示当您逐步执行代码时值如何变化。

于 2016-01-16T04:25:35.290 回答