我正在阅读这本书:“计算机组织和架构的本质,Linda Null 和 Julia Lobur”。在第 4 章第 172 页上,它是汇编语言如何与指令一起使用的示例,但我无法理解。我无法理解,因为图像上的数字没有很好的解释。
这是图片: http: //postimg.org/image/6imlsa3t9/
谁能帮我?
我正在阅读这本书:“计算机组织和架构的本质,Linda Null 和 Julia Lobur”。在第 4 章第 172 页上,它是汇编语言如何与指令一起使用的示例,但我无法理解。我无法理解,因为图像上的数字没有很好的解释。
这是图片: http: //postimg.org/image/6imlsa3t9/
谁能帮我?
本章涉及 MARIE 汇编器及其指令。查看表 4.3 中的程序。汇编语法:
Load 104
Add 105
Store 106
Halt
0023
FFE9
0000
以及十六进制的操作码(7 个 16 位值):
0x1104
0x3105
0x2106
0x7000
0x0023
0xFFE9
0x0000
问题是:如何将汇编转换为操作码。
1) 我们有一条指令Load X
,它是数字 1。这是术语中的第一个十六进制数或 16 位值的前 4 位。其余部分(12 位 - 3 个十六进制数)包含“X”——在本例中为“104”。整个术语是1104
。
2)对于第二行,我们必须在指令集中使用 ADD 搜索任何合适的内容并找到ADD X
(十六进制数 3)。'3' & X => 3105
。
3) 对于第三行,我们将STORE X
(2) 与 '106' 连接起来,得到2106
。
4) 第四行用HALT
(7) 停止程序。没有别的了,所以 16 位的值是 7000。在 HALT 之后没有剩下的程序,只有数据。
高温高压