Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180537
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 18:51
个人简介

大数据算法,分布式技术,spark技术爱好者

文章分类

全部博文(29)

文章存档

2015年(4)

2014年(3)

2013年(22)

分类: 嵌入式

2013-07-09 21:22:25

1.ZF:(6)

操作结果是否为0,是0为1

SF:(7)

CPU标记当前结果是否为负数

 

PF:(2)

奇偶校验位,如果1的个数为偶数,为1,熟悉编码奇偶校验规则的都容易理解

以上三个标志都是对运算结果的特征信息

 

CF:(1)

进位,借位标志,超过8位或者16位

OF:(11)有符号运算溢出标记,有时候没有发生进位之前,如果运算是有符号的,会发生溢出,溢出后的数据可以转化成正确的结果,但必须确认发生了溢出,所以就有OF位。

(负数 补码 二进制数转换:取反+1)

 

2.abc:做加法时考虑进位标记。add,abc,abc。。。可以对任意大小的数据求和。

sbb:做减法时考虑借位标记。sub,sbb,sbb。。。可以对任意大小的数据求差。

 

3.cmp比较无符号数用cf,zf判断大小

cmp比较有符号数用sf,of判断大小

4.je,ja,jb,jne,jna,jnb六个条件跳转指令,都是针对zf,cf的值跳转。

5.flag第10位是DF,控制串操作每次操作后si,di的增减。

df=0,递增,df=1,递减。

串操作:rep movsw; rep movsb:把ds:si的移动到es:di,长度cx。

设置df:cld;std


of   OV NV

sf    NG PL

zf    ZR NZ

pf   PE PO

cf    CY  NC

df   DN UP

怎么记,哥教你,除了sf,左右为1都是首字母和标记名称首字母相同。of 和OV ;zf和ZR;pf和PE;cf和CY;df和DN。

比较特殊的,两个开头一样:pf(parity:奇偶性),奇数odd,偶数even,所以有PE,PO。

sf标记:NE:negtive,PL:plus。

6.为了把持代码的简洁性,尽量让步骤少的分支向下跳过不需要的步骤,而保持步骤多的分支不跳转。

阅读(1453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~