深入理解机器语言:以Hack机器语言为例
1 机器语言概述
1.1 硬件元素
机器语言可看作是一种通过处理器和一组寄存器来操作内存的约定形式。其涉及的硬件元素主要包括:
- 内存 :指计算机中存储数据和指令的硬件设备集合。功能上,它是一系列连续的单元(也称为位置或内存寄存器),每个单元都有唯一的地址,可通过提供地址来访问单个内存寄存器。
- 处理器 :通常称为中央处理单元(CPU),能执行一组固定的基本操作,如算术和逻辑运算、内存访问操作以及控制(分支)操作。它从选定的寄存器和内存位置获取输入,并将输出写入选定的寄存器和内存位置,由算术逻辑单元(ALU)、一组寄存器和门逻辑组成,用于解析和执行二进制指令。
- 寄存器 :处理器和内存是两个独立的芯片,数据在它们之间移动相对较慢。因此,处理器通常配备多个板载寄存器,每个寄存器可存储一个值。这些寄存器位于处理器芯片内部,作为高速本地内存,使处理器无需访问芯片外部即可操作数据和指令。CPU 中的寄存器分为两类:数据寄存器用于存储数据值,地址寄存器用于存储可解释为数据值或内存地址的值。当将特定值(如 n)放入地址寄存器时,地址为 n 的内存位置会立即被选中,为后续操作该内存位置做准备。
1.2 语言形式
机器语言程序有两种等效的编写方式:二进制和符号。例如,对于“将 R1 设置为 R2 的值”这一抽象操作,语言设计者可以用 6 位代码 101011 表示加法操作,用代码 00001 和 00010 分别表示寄存器 R1 和 R2。将这些代码从左到右组合,可得到 16 位
超级会员免费看
订阅专栏 解锁全文
175

被折叠的 条评论
为什么被折叠?



