指令ADC是把源操作数和进位标志位CF的值一起加到目的操作数。
假设你的“MOV AL,40H”是第5条指令,后面的三条指令依次为第6,7,8条指令。
由于MOV指不影响CF标志位,所第5条指令对第7条指令不影响
又由于第6条指令没有发生进位或借位,所以CF标志位也不改变。
因此第7条指令的结果取决于 第5条指令之前的指令执行时对标志位CF产生的影响
与ycjscn2008回答略不同:
ADD AL,AL --- al=al+al=40h+40h=80h,CF=0, OF=1, ZF=0, SF=1(仅此一处)