我需要能够从我的C代码访问程序集寄存器。我有一种简单的方法将寄存器的值设置为变量的值,并将寄存器的值作为变量获取?希望这有道理...

最佳答案

如果您使用的是VC(Microsoft的C编译器)

int regVal;
__asm {
  mov [regVal], eax
}


这将加载eax保留在regVal中的任何内容

如果您使用的是GCC:

int regVal;
asm("movl %%eax, %0" : "=r"(regVal) :);


希望我做对了,实际上我没有在GCC中进行内联汇编。

10-08 04:11