#include <iostream> using namespace std; //此程序也展示了内嵌汇编应如何使用C++中的指针 void main( ) { unsigned int a,b; cout<<"输入两个正整数:"<<endl; cin>>a; cin>>b; unsigned int *c = &a; __asm //下面是内嵌汇编... { mov eax, c; //c中存储的a的地址->eax mov eax, [eax]; //a的值->eax //注意直接mov eax, [c]是错误的 mov ebx, b; //可以像这样直接对ebx赋值 lea eax, [eax+ebx]; mov a, eax; //可以直接将eax的值->a } //内嵌汇编部分结束... cout<<a<<endl; } /* 还有一个非常重要的寄存器,叫做标志寄存器(EFLAGS),标明了运算结果的各个属性, 你不能直接读取或修改它。 这些属性有:不溢出/溢出(OF)、正/负(SF)、非零/零(ZF)、偶/奇(PF)、不进位/进位(CF)等。 */