我正在用 C++ 编写计算器代码,但它显示\读取结果与程序集,我想将值存储在任何寄存器中,例如( Al )到 C++ 中的变量 int ...我搜索了,但我总是用C语言找...
最佳答案
如果您想将 al
中的值读入 int
:
海湾合作委员会:
unsigned char out;
asm volatile("movb %%al, %[Var]" : [Var] "=r" (out));
或者
unsigned char out;
asm volatile("movb %%al, %0" : "=r" (out));
对于 MSVC:
unsigned char c;
__asm movb c, al
没有官方的 C++ 方式,它源于 C。
编辑
您可能还想要:
register unsigned char out asm("%al");
但那是 GCC。
关于c++ - 我如何使用 C++ 从寄存器中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895038/