正在加载图片...
158的奥磁 Chinapub.com 下载 结果中的D7h存在地址0002h中,99h存在地址0005h中 当然,并非所有的数都这样计算,对上例中的数是这样计算。若两个16位数76ABh和 236Ch相加会怎么样呢?在这种情况下,2个低字节数相加的结果将产生一个进位: ABh +bCh Th 这个进位必须加到2个高字节数的和中: +76h +23h Ah 最后的结果为9A17h 可以增强自动加法器的电路功能以正确进行16位数的加法吗?当然可以。需要做的就是 保存低字节数相加结果的进位,然后把该进位作为高字节数相加的进位输入。如何存储1位 呢?当然是用1位锁存器。这时,该锁存器称为进位锁存器。 为了使用进位锁存器,需要有另一个操作码,称作“进位加”( Add with Carry)。在进行 位数加法运算时,使用的是常规“加法”指令。加法器的进位输入为0,加法器的进位输出 锁存在进位锁存器中(尽管根本不必用到) 在进行16位数加法运算时,仍然使用常规“加法”指令来进行低字节加法运算。加法器 的进位输入为0,其进位输出锁存到进位锁存器中。要进行高字节加法运算就要使用新的“进 位加”指令。这时,两个数相加使用进位锁存器的输出作为加法器的进位输入。如果低字节 加法有进位,则其进位可用在第二次运算中:如果无进位,则进位锁存器的输出为0。 如果进行16位数减法运算,还需要一个新指令,称为“借位减”( Subtract with borrow) 通常,减法操作需要使减数取反且把加法器的进位输入置为1。因为进位通常不是1,所以往 往被忽略。在进行16位数减法运算时,进位输出应保存在进位锁存器中。高字节相减时,进 位锁存器的结果应作为加法器的进位输入 加上新的“进位加”和“借位减”操作,共有7个操作码: 操作码 代码 Load Add with Carry(进位加) Subtract with borrow(借位减) 在减法和借位减法运算中,需要把送往加法器的数取反。加法器的进位输出作为进位锁 存器的输入。无论何时执行加法、减法、进位加法和借位减法操作,进位锁存器都被同步。 当进行减法操作,或进位锁存器的数据输出为1并且执行进位加法或者借位减法指令时,8位 加法器的进位输入被置为 记住,只有上一次的加法或者进位加法指令产生进位输出时,进位加法操作才会使8位加158 编码的奥秘 下载 结果中的D 7 h存在地址0 0 0 2 h中,9 9 h存在地址0 0 0 5 h中。 当然,并非所有的数都这样计算,对上例中的数是这样计算。若两个 1 6位数7 6 A B h和 2 3 6 C h相加会怎么样呢?在这种情况下, 2个低字节数相加的结果将产生一个进位: A B h + 6Ch 11 7 h 这个进位必须加到2个高字节数的和中: 1 h + 76h + 23h 9 A h 最后的结果为9 A 1 7 h。 可以增强自动加法器的电路功能以正确进行 1 6位数的加法吗?当然可以。需要做的就是 保存低字节数相加结果的进位,然后把该进位作为高字节数相加的进位输入。如何存储 1位 呢?当然是用1位锁存器。这时,该锁存器称为进位锁存器。 为了使用进位锁存器,需要有另一个操作码,称作“进位加”(Add with Carry)。在进行 8位数加法运算时,使用的是常规“加法”指令。加法器的进位输入为 0,加法器的进位输出 锁存在进位锁存器中(尽管根本不必用到)。 在进行1 6位数加法运算时,仍然使用常规“加法”指令来进行低字节加法运算。加法器 的进位输入为0,其进位输出锁存到进位锁存器中。要进行高字节加法运算就要使用新的“进 位加”指令。这时,两个数相加使用进位锁存器的输出作为加法器的进位输入。如果低字节 加法有进位,则其进位可用在第二次运算中;如果无进位,则进位锁存器的输出为 0。 如果进行1 6位数减法运算,还需要一个新指令,称为“借位减”(Subtract with Borrow)。 通常,减法操作需要使减数取反且把加法器的进位输入置为 1。因为进位通常不是 1,所以往 往被忽略。在进行 1 6位数减法运算时,进位输出应保存在进位锁存器中。高字节相减时,进 位锁存器的结果应作为加法器的进位输入。 加上新的“进位加”和“借位减”操作,共有 7个操作码: 操作码 代码 L o a d 1 0 h S t o r e 11 h A d d 2 0 h S u b t r a c t 2 1 h Add with Carry(进位加) 2 2 h Subtract with Borrow(借位减) 2 3 h H a l t F F h 在减法和借位减法运算中,需要把送往加法器的数取反。加法器的进位输出作为进位锁 存器的输入。无论何时执行加法、减法、进位加法和借位减法操作,进位锁存器都被同步。 当进行减法操作,或进位锁存器的数据输出为 1并且执行进位加法或者借位减法指令时, 8位 加法器的进位输入被置为1。 记住,只有上一次的加法或者进位加法指令产生进位输出时,进位加法操作才会使 8位加
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有