设计汇编语言

上一章节,我们已经完成了所有计算机系统的实现,并且还编写了一些指令演示各种元器件的工作原理。但是每次想让我们的计算机按照我们所设计的指令来工作,都要去编写一大堆枯燥的01二进制数字,这让我想起了早期“穿孔纸带”那个年代的计算机,人们为了让计算机按照指令工作,不得不在纸带上打孔来表示指令。随着计算机的发展,人们为了提高编写指令的效率,发明了初级的汇编语言以及更方便的高级编程语言。那么我们能不能也为我们前一章节制作的计算机设计一个汇编语言呢?这样我们就不用在面对着那些繁琐的01数字了。

我们先来看看什么是“汇编语言”。汇编语言就是用一些能看懂的英文单词缩写按照一定的语法组织起来作为计算机指令。我猜你一定想问,为什么不能用中文作为汇编语言?其实用任何语言都可以,包括中文。之所以使用英文有以下几种原因。

  1. 计算机最早在西方发明,英语有很高的通用度,而且计算机也诞生在英语为第一语言的国家,使用英语就顺理成章了。
  2. 键盘上按键数量有限,在键盘上打英语字母不需要经过输入法,编写指令的工作效率更高。说到这里,开个玩笑“给你一支笔,让你画条形码和二维码,你觉得那个更简单些?”。在这个玩笑里,英语被比作条形码,汉语被比作二维码。

言归正传,我们开始设计我们自己的汇编语言,我一共设计了6条汇编指令,如下所示:

 MOV [内存地址],数字
 ADD [内存地址1],[内存地址2],[内存地址3]
 JUMP 指令地址
 JUMPIF 指令地址,[内存地址1],[内存地址2]
 OUT [内存地址]
 IN [内存地址]

有了这6条汇编指令,我们就不用去面对那些生涩难懂的0和1了。我先来解释下这6条指令分别具有什么功能,以及它需要用哪些ROM指令来实现。

results matching ""

    No results matching ""