本书中将用这样的形式表示一小段存储器。方格表示的是存储器的内容。存储器的每一个字节写在一个方格里。地址标记在方格的左边,并不是每一个地址都需要标记,因为地址是线性的,所以总是可以通过计算确定某个方格对应的地址。方格右边是关于该存储单元内容的注释,这些标记的单元就是我们想要自动加法器保存三个计算结果的位置(尽管这些方格画出来是空的,但是存储单元内并不是空的,它们总是保存着一些东西,就算只是一些随机数,但此时存放的是一些没有用的数)。
或许大家都有一种冲动,想亲自去做十六进制计算,并把结果填到那些小格子中去,但这并不是实验的目的,我们想要自动加法器为我们做这些加法。
我们并不希望自动加法器成为单任务系统—在它的第一个版本中,只是把RAM地址中的内容加到称为累加器的8位锁存器中实际上我们希望它能做四件事:进行加法操作,首先它要把一个字节从存储器中传送到累加器中,这个操作称为加载(Load)。第二个操作把存储器中的一个字节加(Add)到累加器的内容中去。第三个操作把累加器中的计算结果取出并存放到存储器中。另外我们需要用一个方法令自动加法器停(Halt)下来。
我们借助具体的例子详细介绍这一过程,以上文提到的自动加法器所做的运算为例来说明。
17 自动操作
221