x86汇编-EFLAGS寄存器&JCC

栏目: 编程语言 · 发布时间: 6年前

内容简介:CF //第0位, Carry Flag进位标志位(如果运算结果的最高位产生了一个进位或者借位,CF为1, 否则, CF位0)PF //第2位, Parity Flag奇偶标志位(运算结果中二进制1的个数的奇偶, 如果1的个数为偶数,则PF为1)

x86汇编-EFLAGS寄存器&JCC

CF //第0位, Carry Flag进位标志位(如果运算结果的最高位产生了一个进位或者借位,CF为1, 否则, CF位0)

//无符号运算的时候, 应该关注CF(非常重要)

PF //第2位, Parity Flag奇偶标志位(运算结果中二进制1的个数的奇偶, 如果1的个数为偶数,则PF为1)

AF //第4位, Auxiliary Carry Flag辅助进位标志位(发生以下情况时, AF为1)

1.在字操作时,发生低字节向高字节进位或者借位时
              2.在字节操作时,发生低4位向高4位进位或借位时

ZF //第6位, Zero Flag零标志位(运算结果为0, ZF为1, 否则, ZF为0)

SF //第7位, Sign Flag符号标志位(用来反映运算结果的符号位, 与结果的最高位相同)

OF //第11位, Overflow Flag溢出标致位(反映有符号数加减运算所得结果是否溢出,如果溢出,OF为1)

//有符号运算的时候,应该关注OF(非常重要)
               //正 + 正 = 负    //如果两个正数相加, 结果为负数, 则溢出, OF = 1
               //负 + 负 = 正    //如果两个负数相加, 结果为正数, 则溢出, OF = 1
               //正 + 负        //永远不会溢出

DF //第10位, Direction Flag(操作ESI,EDI 是递增还是递减)

//决定movs, stos, cmps, scas, lods... 这种指令时, ESI和EDI的增长方向
              //DF = 1, 递减
              //DF = 0, 递增

如果是无符号数运算, 是否溢出看CF位

如果是有符号数运算, 是否溢出看OF位

ADC指令 //带进位加法(两边不能同时为内存, 宽度要一样)

SBB指令 //带借位减法(两边不能同时为内存, 宽度要一样)

XCHG指令 //交换数据(两边不能同时为内存, 宽度要一样)

MOVS指令 //移动数据,ESI => EDI, 两边都为内存

byte/word/dword
    movs byte ptr es:[edi], byte ptr ds:[esi]    //简写为movsb
    movs word ptr es:[edi], word ptr ds:[esi]    //简写为movsw
    movs dword ptr es:[edi], dword ptr ds:[esi]    //简写为movsd

STOS指令 //将AL/AX/EAX的值存储到[EDI]指定的内存单元

stos byte ptr es:[edi]        //简写为stosb
    stos word ptr es:[edi]        //简写为stosw
    stos dword ptr es:[edi]       //简写为stosd

REP指令 //按计数寄存器(ECX)中指定的次数重复执行字符串指令

mov ecx, 10h
    rep movsd
    rep stosd

以下指令不会影响两个操作数, 但会影响标志位

cmp指令 //比较两个操作数, 相当于sub指令, 结果不保存

test指令 //两个操作数进行与操作, 结果不保存

x86汇编-EFLAGS寄存器&JCC

x86汇编-EFLAGS寄存器&JCC

x86汇编-EFLAGS寄存器&JCC


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Code

Code

Charles Petzold / Microsoft Press / 2000-10-21 / USD 29.99

Paperback Edition What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of ......一起来看看 《Code》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具