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

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

文章分类

全部博文(29)

文章存档

2015年(4)

2014年(3)

2013年(22)

分类: 嵌入式

2013-07-07 00:02:06

1.前面讲过[bx]寻址方式,就是基址寻址方式,因为英文base registerbx)。还有基址变址寻址[bx+idata],也可以表示成[idata+bx]或者idata[bx]或者[bx].idata。其中idata[bx]类似数组的表示。

2.前面说过bxaxcx,dx不一样。其实和bx在寻址上功能相同的还有sidi寄存器,这两个寄存器不能分成八位寄存器使用。用bxsi就可以像int iint j一样在双层 for循环中操作数据了。

    基址变址也可以用disi表示变址。[bx][si],[bx+si]。而[si][bx]也是没有问题的。

    如果把idata加上200[bx][si]或者[bx][si].200

    唯一需要注意的是[si][di]是不可以的。没有这样的格式。

3.汇编多重for循环注意事项:

    1.cx保存复原,外循环头保存,外循环尾复原

    2.初始化。bx,di循环为例,bx外循环,di内循环,di要在外循环内,内循环外初始化初始化,bx最开始初始化。

    3.更新bx,di,对比for循环i++或者i+=2。都需要在对应位置更新。

    以上3点均对应于for(int i;循环条件;递增i)

                                               for(int j, 循环条件;递增j) 括号中的3个语句。

     方便记忆。其中初始化是最容易忘记。循环条件因为只有一个cx控制循环,在循环递归时要保存cx

 

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