西电图图 发表于 2016-3-6 01:04:43

关于寄存器中数值进位的问题

在8086CPU中,一个AX寄存器可分为AH和AL(两个相互独立的寄存器),为何在计算AX+AX时,当AL寄存器发生溢出时可以进位到AH,而在计算AL+AL时的益处位不会加到AH上,最好能从硬件设计的角度回答

zjk 发表于 2016-3-6 01:04:44

这个不算溢出算进位吧,,内个ax是一个16位的寄存器,为了能有几个八位的寄存器供使用(因为不可能所有数据都是16位,如果只用八位就用16位寄存器岂不是浪费)所有把ax,bx,cx,dx分为了八个八位寄存器,他们是互相独立的!他们的互相独立的!他们是互相独立的!重要的事情说三遍,就像ax+ax如果产生进位怎么办?是靠标志位寄存器,八位也同样,总不能说你八位加八位就在16位上搞动作,毕竟他们是互相独立的,如果真的搞了动作,那16位加16位岂不是也得搞一个32位寄存器在他上面高动作?那要是32+32位呢?我语文不好可能解释的不是很好,不过只要记住所有的八位寄存器都是独立的像十六位一样多想想也就明白了

jzh823 发表于 2016-3-6 12:27:39

好高深。。

zjk 发表于 2016-3-6 12:43:27

当然对于设计来说就有一个进位的问题就是靠标志位寄存器来把进的位加到ah里面
页: [1]
查看完整版本: 关于寄存器中数值进位的问题