在VS2013中,FLAGS寄存器组件的含义是什么?

12

在使用VS2013调试x86汇编代码时,我需要检查FLAGS寄存器的内容。但是,当我在寄存器窗口中启用了“Flags”选项后,出现了以下情况:

OV = 0 UP = 0 EI = 1 PL = 1 ZR = 0 AC = 1 PE = 0 CY = 1 

这些不对应于x86典型的ODITSZAPC标志;有人能解释一下发生了什么吗?这些只是同一标志的奇怪名称吗?

我有一个64位Core i7;它会影响显示的名称吗?

2个回答

21
| Overflow  | OV |
| Direction | UP |
| Interrupt | EI |
| Sign      | PL |
| Zero      | ZR |
| Auxiliary | AC |
| Parity    | PE |
| Carry     | CY |

MSDN参考文献


-1

当然,它们是相同的标志,还能是什么呢?

但是这些标志确实会误导人。当UP=1时,实际上是反向回退方向(STD),而当PL=1时,实际上是符号/负数。为什么VS设计师试图打破已经存在很长时间且没有问题的ASM-thing超出了我的理解范围。

同样,在GNU的gdb中,他们将指令指针(IP)称为$pc,DWORD/DD称为word(w),WORD/DW称为half-word(h),QUADWORD/DQ称为(g)来自GIANT?

C++程序员真的很奇怪,他们喜欢为了追求新奇而打破传统。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接