【发布时间】:2010-11-19 09:23:00
【问题描述】:
我遇到了这段代码,需要了解它在做什么。它似乎只是声明了两个字节,然后什么都不做......
uint64_t x;
__asm__ __volatile__ (".byte 0x0f, 0x31" : "=A" (x));
谢谢!
【问题讨论】:
-
有趣。我已经很久没有看过这些了,我不确定。您可以指定正在使用的汇编程序。我不知道这是否设置了“x”的内容、地址或两者(!)。如果 x 指向一个内存映射端口,由设备异步更新,因此是“volatile”关键字,我不会感到惊讶。我想,真正做这件事的人很快就会出现。
-
打赌你希望原来的程序员使用 cmets!
-
最简单的方法:编译然后反汇编。
标签: c assembly x86 inline-assembly