读《Professional Assembly Language》之EAX消失之迷

Professional Assembly Language

CPUID的例子出现第四章,A Sample Assembly Language Program,也是全书第一个完整的代码示例,结构简单,编译和链接均正常,执行结果也符合预期。

但是,在接下来的过程中出现了问题,DEBUG是日常工作的一部分,我把它视作是显微镜。使用GDB调试,每次查看通用寄存器都看不到想要的结果,而会被告知:Value can’t be converted to integer.

同时,如果使用 info registers,则根本找不到任何eax等寄存器的踪影,取而代之的是rax等一类新面孔,如图所示。

[ Read More » ]