我在 C 函数中使用汇编代码。但海湾合作委员会给出unsupported instruction 'mov'
以下代码的错误:
uint32_t faulting_address;
asm volatile("mov %%cr2, %0" : "=r" (faulting_address));
我不明白这有什么问题。
语法是正确的,但错误很可能是因为您正在编译 64 位目标,在这种情况下mov
需要是64位。只是改变faulting_address
to a uint64_t
它会编译。
或者,如果您want它是 32 位,你需要使用-m32
或其他类似的选项来编译 32 位目标。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)