在我的一个研究项目中,我正在编写C++代码。但是,生成的程序集是该项目的关键点之一。C++不提供对标志操作指令的直接访问,特别是对ADC的访问。但这应该不是问题,前提是编译器足够聪明来使用它。考虑:constexprunsignedX=0;unsignedf1(unsigneda,unsignedb){b+=a;unsignedc=b变量c是一种解决方法,可以让我掌握进位标志并将其添加到b和X.看起来我很幸运,(g++-O3,版本9.1)生成的代码是这样的:f1(unsignedint,unsignedint):add%edi,%esimov%esi,%eaxadc$0x0,%eaxr