深入理解汇编器:从符号到二进制代码的转换
1. 引言
在计算机编程的世界里,汇编器扮演着至关重要的角色。它能够将人类可读的符号化程序转换为计算机硬件能够理解和执行的二进制代码。本文将详细介绍汇编器的工作原理、Hack 机器语言的规范,以及如何实现一个 Hack 汇编器。
2. 背景知识
机器语言通常有二进制和符号化两种形式。二进制指令是由一系列的微代码组成,例如 11000010000000110000000000000111 ,硬件平台会对其进行解码和执行。但直接使用二进制代码编写程序非常繁琐,因此人们引入了符号化语法,如 “load R3,7”,其中 “load” 被称为助记符。
汇编语言使用符号主要有三个目的:
- 标签(Labels) :用于标记代码中的特定位置,如 “LOOP” 和 “END”。
- 变量(Variables) :可以在程序中声明和使用,如 “i” 和 “sum”。
- 预定义符号(Predefined symbols) :用于引用计算机内存中的特殊地址,如 “SCREEN” 和 “KBD”。
管理这些符号是汇编器的重要功能之一。
3. Hack 机器语言规范
3.1 程序类型
- 二进制 Hack 程序 :由一系列由 16 个 0 和 1 组成的文本行构成。以 0 开头的行表示二进制 A 指令,否则为二进制 C 指令。
超级会员免费看
订阅专栏 解锁全文

4784

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



