整数加减运算电路的输出中,除了运算结果外,还包括溢出标志OF、符号标志SF、零标志ZF和进/借位标志CF。
溢出标志OF=CnÅCn-1,Cn-1为加法器运算中次高位的进位。
符号标志SF=Resultn-1
零标志ZF=1当且仅当Result=0;
进位/借位标志CF=SubÅCn = C0ÅCn
#include "stdio.h"
main()
{ int a=305419896, b=1985229328,c,d; // a=0x12345678,b=0x76543210
unsigned ua=305419896,ub=1985229328,uc,ud;
c=a+b;
uc=ua+ub;
d=a-b;
ud=ua-ub;
printf("%d+%d=%d\n",a,b,c);
printf("%u+%u=%u\n",ua,ub,uc);
printf("%d-%d=%d\n",a,b,d);
printf("%u-%u=%u\n",ua,ub,ud);
}
请问各位这个结果的OF、SF、ZF、CF怎么算?
不知道你这个问题是否已经解决, 如果还没有解决的话: