CF标志经过ADC进位加过后CF还是1吗

CF标志经过ADC进位加过后CF还是1吗第一位相加后,有进位,第二位相加后,无进位(这时是cf加上二位数的积,那如果要进行第三位相加,请问这时的CF应该是0还是1??)哎... CF标志经过ADC进位加过后CF还是1吗
第一位相加后,有进位,
第二位相加后,无进位
(这时是cf加上二位数的积,那如果要进行第三位相加,请问这时的CF应该是0还是1??)
哎~,不知道是不是我写的不够明白,说得简单点(不知道是是否可以这样说)想问的是cf=1经过adc或者add相加后是否会变为0
展开
 我来答
钧子羽
2008-05-30 · TA获得超过347个赞
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:132万
展开全部
ADC进位加过后是否有进位,是与ADD的道理是一样的,如果和值超出了位数,就要进位,没有超出就不进位。例:
MOV DX,02H
MOV AX,0FFH
ADD AX,0FEH ;和=0FFH+0FEH=1FDH,和为17位,高位进到CF中。AX=0FDH,CF=1。
ADC DX,AX ;和=FDH+02H+CF=100H,和为17位。结果是DX=0000H,CF=1

如果首行为: MOV DX,01H
则尾行的ADC加过后CF=0。
==================================
进行ADC或ADD后,CF可能变为0也可能变为1。为什么变为0,为什么变为1,上面就是解释这个道理的。ADD或ADC后如果有进位则CF变为1,无进位则CF变为0。是否产生进位要看目标寄存器(或存储器)的位数。在ADC AX,BX中,目标寄存器是AX,AX是16位的,所以和的值超过16位就要进位了。在ADD AL,1中,目标寄存器是AL,AL是8位的,所以和的值超过8位就要进位了。

你利用十进制加法的算术运算过程,分析一下手工运算情况,可理解进位的意思了。

===========================
再简单地说.ADC后CF会变成0,但也可能变为1。CF总是由最近一条指令设置的,不管它前面是什么。
无名6gK
2008-05-31 · TA获得超过1355个赞
知道答主
回答量:196
采纳率:0%
帮助的人:88.2万
展开全部
aDC进位加过后是否有进位,是与ADD的道理是一样的,如果和值超出了位数,就要进位,没有超出就不进位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式