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,如果进位在一次运算后产生。
我目前正在学习汇编语言。
在 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,如果进位在一次运算后产生。