鱼C论坛

 找回密码
 立即注册
查看: 3791|回复: 3

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

[复制链接]
发表于 2016-3-6 01:04:43 | 显示全部楼层 |阅读模式
5鱼币
在8086CPU中,一个AX寄存器可分为AH和AL(两个相互独立的寄存器),为何在计算AX+AX时,当AL寄存器发生溢出时可以进位到AH,而在计算AL+AL时的益处位不会加到AH上,最好能从硬件设计的角度回答

最佳答案

查看完整内容

这个不算溢出算进位吧,,内个ax是一个16位的寄存器,为了能有几个八位的寄存器供使用(因为不可能所有数据都是16位,如果只用八位就用16位寄存器岂不是浪费)所有把ax,bx,cx,dx分为了八个八位寄存器,他们是互相独立的!他们的互相独立的!他们是互相独立的!重要的事情说三遍,就像ax+ax如果产生进位怎么办?是靠标志位寄存器,八位也同样,总不能说你八位加八位就在16位上搞动作,毕竟他们是互相独立的,如果真的搞了动作, ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-6 01:04:44 | 显示全部楼层
这个不算溢出算进位吧,,内个ax是一个16位的寄存器,为了能有几个八位的寄存器供使用(因为不可能所有数据都是16位,如果只用八位就用16位寄存器岂不是浪费)所有把ax,bx,cx,dx分为了八个八位寄存器,他们是互相独立的!他们的互相独立的!他们是互相独立的!重要的事情说三遍,就像ax+ax如果产生进位怎么办?是靠标志位寄存器,八位也同样,总不能说你八位加八位就在16位上搞动作,毕竟他们是互相独立的,如果真的搞了动作,那16位加16位岂不是也得搞一个32位寄存器在他上面高动作?那要是32+32位呢?我语文不好可能解释的不是很好,不过只要记住所有的八位寄存器都是独立的像十六位一样多想想也就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-6 12:27:39 | 显示全部楼层
好高深。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-6 12:43:27 | 显示全部楼层
当然对于设计来说就有一个进位的问题就是靠标志位寄存器来把进的位加到ah里面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 12:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表