单片机题,高手进

已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV位。各个位的值是。
(A) 0、0、0 (B) 1、0、1 (C) 1、1、1 (D) 1、1、0
为什么ov是0呢?

第1个回答  2011-05-26
首先要理解这三个标志位的含义

CY为进位标志位不难理解;
AC为辅助进位标志位,即当进行BCD码加法或减法操作而产生的由低四位向高四位借位或进位时被置一;
OV溢出标志位,运算指令对该位影响比较复杂,使用加法指令时如果位6有进位而位7没有进位,或者位7有进位而位6没有进位,则溢出标志位OV置一,否则清0OV;注意:溢出标志位的状态只有带符号数加法运算时才有意义。当两个带符号数相加时,OV=1,表示加法运算超出了累加器A所能表示的带符号数的有效范围(-128~+127),即产生溢出,因此运算结果错误,否则无溢出。

从题目中已知两数相加(即10011000+11111010)不难看出CY=1,低四位向高位进位故AC=1,的位6和位7均有进位故OV=0,所以答案是D。本回答被提问者采纳
相似回答