当前位置:编程学习 > 汇编语言 >>

请教一道简单的汇编语言题

分析下列程序段的执行结果: MOV AL,78H MOV BL,0C3H ADD AL,BL 结果:AL= H,CF= ,OF= 。(设为带符号数) 不要只填空,帮忙详细解释一下运算结果对CF和OF的影响。谢谢!
答案:MOV  AL,78H  ;  将立即数78H传送给累加器AX的低位字节AL
 MOV  BL,0C3H    ;将立即数0C3H传送给寄存器BX的低位字节BL
  ADD  AL,BL        ;不带进位的加法运算  AL和BL的内容相加 结果送AL保存 运算时会影响到标志寄存器的相应位的状态值。
 
十六进制数相加  78H+0C3H     结果为3BH    低位相加8+3=11 即十六进制的B 没有进位  高位相加7+12 为19  逢十六进一   会产生一个进位1 剩余数为3
由于78H最高位符号位=0  为正数   0C3H 最高位符号位=1  为负数  相加时,不会产生溢出 二者只会越加越小。 
 
结果:AL=3BH,进位标志 CF=1      ,溢出标志 OF=   0   。
哈哈  好了   别忘给点加分呀
其他:很简单,如果这样的问题都要问,墙上挂张柯南吧,或者信春哥,或者考试时不穿内裤。 

上一个:汇编编程
下一个:汇编语言:有一个首地址为y的10个字节的数组,说明下列程序段的功能。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,