x86 寄存器标志缩写

x86 register flag abbreviations

我目前正在学习汇编语言。

在 Microsoft visual studio 2017 中,我想检查寄存器标志的当前状态。

我想知道每个寄存器标志缩写代表什么,所以我检查了 wiki page on x86 register flags

但是如您所见,Visual studio 中显示的注册标志缩写与 wiki 页面中的缩写不匹配。

对于visual studio中的寄存器标志,如何知道它们代表什么?

Microsoft 似乎对标志使用略有不同的缩写,它们可以在 older Visual Studio documentation 中找到:

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

溢出标志(OV):设置为 1,例如给定指令为 32 位且结果值为 33 位时。

方向标志(UP): 用于lodsb等字符串的操作。如果设置为 1,则访问是从较高的内存位置到较低的内存位置,否则访问是从较低的内存位置到较高的内存位置。

中断标志(EI):帮助cpu识别外部中断。如果设置为 1,则微处理器将识别中断请求。否则它将忽略中断请求。

Sign(PL): 当最高有效位为 1 时设置为 1。

Zero(ZR): 如果指令执行后结果为零,则设置为 1。

辅助进位(AE): Bcome 1, if 4th bit generate carry.

Parity(PE):如果结果的低字节1位数为偶数,则变为1。

进位(CY):置1,如果进位在一次运算后产生。