【发布时间】:2012-12-29 13:25:35
【问题描述】:
我用cpuid 做了一个fasm 程序,输出是:
EAX -> 0x00000662
EBX -> 0x00000000
ECX -> 0x00000000
EDX -> 0x0383FBFF
我使用来自/lib/ld-linux.so.2 的fprint 来显示这个输出。
所以我需要从EAX 中读取所有标志,... regs 具有某些功能以查看所有规范。
这意味着从寄存器中读取位或输出cpuid 的一个结构。
你能给我一个解决方案吗?
【问题讨论】:
-
是的,只是从寄存器移动到变量。 gcc.gnu.org/onlinedocs/gcc/…(我假设您使用的是 gcc)
-
不,我使用 fasm 汇编代码。我使用 use32 制作了一个 ELF 格式可执行文件我使用“_start: mov eax,0x01 cpuid...我使用 fprint 只是为了显示 regs。我需要一个 fasm 解决方案来解析输出。也许对你来说很奇怪,但是我需要学习汇编。
-
你试过什么?这应该分解为子问题,例如stackoverflow.com/questions/2114163/…