码迷,mamicode.com
首页 > 其他好文 > 详细

学习笔记-汇编-双层循环

时间:2016-08-20 16:16:17      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

汇编中 循环的语法是               C语言中的循环

mov cs,N        //循环最大次数    <----->    int i=N;

blockName:    //循环开始    <----->     for(;i>0;i++){

  //xxx。。。    //循环中的语句      <----->      //XXXX

loop blockName   //循环结束     <----->    }

另附上汇编示例代码

 1 assume cs:code
 2 code segment
 3 start:
 4 mov cx,3
 5 mov ax,1
 6 
 7 s:
 8  sub ax,2
 9  mov bx,cx ;备份外层循环次数
10  mov cx,2    ;给内层循环次数赋值
11  n:              ;内层循环开始
12   add ax,1
13   loop n        ;内层循环结束
14  mov cx,bx   ;恢复外层循环次数
15  loop s         ;外层循环结束
16 int 21h
17 code ends
18 end start
19    

loop X 的作用其实只是将当前 CS:IP 中的IP

赋值为当前X的地址 从而实现跳转

当然跳转之前会将寄存器cx的值减1

若CX的值为0 则跳出循环

寄存器变化:

技术分享

  图1-loop循环寄存器的值

学习笔记-汇编-双层循环

标签:

原文地址:http://www.cnblogs.com/zxsonne/p/5790464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!