1

有些教程说EFLAGS寄存器是通用寄存器,而其他教程说它不是通用寄存器。

那么是哪一个呢?!

4

2 回答 2

6

不,

这不是因为

  • 你不能直接解决它;没有MOV EFLAGS, Value指示。
  • 您无法使用 执行计算EFLAGS
  • 您不能EFLAGS在任何指令中指定为显式源或目标。

事实上,只有 4 条指令可以让您将eflags寄存器作为一个整体进行寻址:PUSHFPOPFSAHFLAHF 甚至这些指令也只作用于寄存器中的一组有限位。

事实上eflags,它与通用寄存器相距甚远。这是一个特殊用途的状态寄存器。

于 2017-05-08T10:27:56.467 回答
4

它们不是通用寄存器。而是英特尔文档的“程序状态和控制寄存器” ,卷 A:在此处输入图像描述

于 2017-05-08T10:23:33.277 回答