CODE 返回目录
计算机硬件与软件背后的隐藏语言

10 自动操作

本章描述了两个自动化加法电路。第一个是自动累加加法器,其中字节值存储在存储器中。这些值相加后,和存储在第一个内存位置,该位置有一个零字节。

第二个是三字节加法器。它可以对存储在内存中的三字节值进行加减运算,每个值前面都有一个单字节代码。

容量为1,024字节的随机存取存储器由电路左侧的矩形区域表示。通过点击条目,您可以更改值。将出现一个文本框。以十六进制输入新数字并点击Write按钮。

您可能需要缩小浏览器窗口才能在单个屏幕上看到整个电路。

自动累加加法器

左侧1K Memory数组中的值与书中描述的值相同。Counter输出地址0000h,第一个字节是AdderA输入。

要开始累加加法器,请点击Clock按钮。内存中第一个字节与00h的和将保存在Latch中。

再次点击Clock按钮,Counter前进到下一个内存地址0001h,并访问内存的第二个字节。再次点击Clock将把新的累加和保存在锁存器中。

继续操作,直到将Latch中的和写入内容为00h的第一个内存地址。

您的浏览器不支持画布元素

按下Clear按钮可重置Flip-FlopsCounterLatchClear按钮不会影响Memory的内容。要恢复Memory的原始值,请刷新浏览器页面。

您可能会注意到两个触发器的配置与书中所示略有不同。书中的版本在概念上更清晰,因为第一次点击Clock前进Counter,而第二次点击生成Pulse信号。

然而,如果Counter从地址0000h开始,这种方法就不太适用。在这种情况下,第一次点击Clock必须生成Pulse信号,第二次点击才前进Counter。因此,两个触发器启动时处于设定状态,Q输出等于1,且Clear按钮连接到触发器的Preset输入端。

这种相同的双触发器配置也用于本章的下一个程序和第23章的Instruction Decoder中。

三字节累加器

左侧1K Memory数组中的值与书中描述的值相同。Counter输出地址0000h,访问内存中的第一个字节。这是一个指令字节。要开始使用三字节加法器,请点击Clock按钮。第一次点击将字节保存在Instruction Latch中。第二次点击前进Counter,第三次点击将该字节保存在Low-Byte Latch中。

接下来的四次Clock点击将地址前进到0002h并锁存下一个最高有效字节,然后将地址前进到0003以锁存最高有效字节。

继续以这种方式加减接下来的几个数字。当指令字节为04h时,结果的三个字节被写入内存。当指令字节为08h时,机器停止。

您的浏览器不支持画布元素

Clear按钮清除Flip-FlopsCounterLatchesClear按钮不影响Memory的内容。要恢复Memory的原始值,请刷新浏览器页面。

自权的SPACE公众号二维码

关注 自权的SPACE 掌握最新更新

公众号后台回复 编码 加入读者群📚


CODE 返回目录
计算机硬件与软件背后的隐藏语言