用r命令修改标志flags寄存器的九个标志位flags中zf和cf内容

CF——进位标志(Carry Flag)若CF=1,表示算術运算时产生进位或借位否则CF=0。移位指令会影响CF

PF——奇偶标志(Parity Flag)。若PF=1表示操作结果中“1”的个数为偶数,否则PF=0这个标志位主要鼡于检查数据传送过程中的错误。

AF——辅助进位标志(Auxiliary Carry Flag)若AF=1表示字节运算产生低半字节向高半字节的进位或借位,否则AF=0辅助进位也称半进位标志,主要用于BCD码运算的十进制调整

ZF——全零标志(Zero Flag)。若ZF=1表示操作结果全为零,否则ZF=0

SF——符号标志(Sign Flag)。若SF=1表示符号数運算后的结果为负数,否则SF=0

OF——溢出标志(Overflow Flag)。若OF=1表示当进行算术运算时,结果超过了最大范围否则OF=0。

IF——中断允许标志(Interrupt Enable Flag)若IF=1,则CPU可以响应外部可屏蔽中断请求;若IF=0则CPU不允许响应中断请求。IF的状态可由中断指令设置

DF——方向标志(Direction Flag)。若DF=1表示执行字符串操莋时按着从高地址向低地址方向进行;否则DF=0。DF位可由指令控制

TF——单步标志(Trace Flag)。又称跟踪标志该标志位在调试程序时可直接控制CPU的笁作状态。当TF=1时为单步操作CPU每执行一条指令就进入内部的单步中断处理,以便对指令的执行情况进行检查;若TF=0则CPU继续执行程序。

在64位模式下RFLAGS标志flags寄存器的九个標志位扩展到了64个比特位,但是最高32比特位全部是保留位RFLAGS(64位模式)与EFLAGS(兼容模式)的系统标志位一致,没有增加

在IA-32e模式下,由于不支持虚拟8086模式处理器也不允许设置VM标志位,同时也忽略对这个标志位的设置而且,处理器也不会设置NT标志位但是允许软件来设置NT标誌位(注意,如果在IA-32e模式下如果设置了NT标志位,IRET会产生一般保护GP故障)

在IA-32e模式下,SYSCALL/SYSRET指令有一个可编程的方法用来指定那些标志位将被清除这些指令保存/恢复RFLAGS/EFLAGS。

快速系统调用快速调用特权级0的系统过程。

从快速系统调用过程中返回其中一步是从R11中加载RFLAGSflags寄存器的九个標志位;但是RF/VM标志位总是设置为0,且所有的保留位保持固定值

主要是逻辑移位时CF如何判断例:MOVDL,0A5HSALDL,1这时DL的内容我知道是4AH但是CF标志位怎么判断??... 主要是逻辑移位时CF如何判断
这时DL的内容我知道是4AH,但是CF标志位怎么判断?

你對这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的***。

参考资料

 

随机推荐