美文网首页
loop指令

loop指令

作者: ac52c042732b | 来源:发表于2018-01-17 00:13 被阅读0次

首先loop指令的使用格式是:loop  标号;

cpu执行loop指令的过程:1.(cx)=(cx)-1;2.判断cx中的值是否为零,如果cx寄存器里的值不为0,则转到标号处执行程序;如果cx中的值为0则向下执行其他的指令。所以说cx中存放的就是循环的次数。

下面是一些用loop指令计算的例子:

1.计算2^12,并将结果放到ax中:

例1

首先分析算法,2^12就是一个2乘以2乘11次,循环的部分就是将ax中的数据乘以2,即add  ax,ax 并循环11次,程序中的s一个标号,他代表着一个地址,这个地址处有一个指令:add ax,ax

当cpu执行loop s的时候分两步,首先cx=cx-1,然后再判断cx中的数据是否为零,然后决定是继续执行循环的部分还是向下执行

以下是在debug中跟踪这个程序执行的过程:

首先执行mov ax,2;然后就是mov cx,11;然后就开始第一次执行循环部分add ax,ax;可以看出此时AX=0004,AX内的数据加倍了,然后就是执行loop命令,8前面说过执行loop时有两步,首先将cx中的数减去一,然后判断cx中的值是不是零从而判断循环是否结束。我们可以看到第一次执行loop命令后cx中的数据从000B变成了000A,而此时cx中的数据并不为0,所以接下来仍然执行循环部分。

大家可以看到最后ax中的数据是1000H,转换成十进制就是4096,也就是2的12次方。

相关文章

  • 汇编五

    Loop指令 loop指令和cx寄存器配合使用,用于循环操作类似高级语言的for,while使用格式 loop指令...

  • 汇编-----Loop指令

    Loop指令 Loop指令其实就是 循环 的意思 Loop指令需要和CX寄存器配合使用, 用于循环操作, 类似于高...

  • 汇编

    #Loop指令

  • loop指令

    首先loop指令的使用格式是:loop 标号; cpu执行loop指令的过程:1.(cx)=(cx)-1;2.判断...

  • 汇编(七)

    Loop指令 loop指令和cx寄存器配合使用,用于循环操作类似高级语言的for,while 使用格式 loop指...

  • 汇编(七)

    Loop指令 loop指令和cx寄存器配合使用,用于循环操作类似高级语言的for,while 使用格式 loop指...

  • iOS之底层汇编(七)

    Loop指令 loop指令和cx寄存器配合使用,用于循环操作类似高级语言的for、while 使用格式 loop指...

  • Loop指令

    首先写好代码,asm文件,debug进行调试: 使用单步调试后,分析代码执行情况如下: (1)执行mov cx,1...

  • Loop指令

    Loop指令 loop指令和cx寄存器配合使用,用于循环操作类似高级语言的for,while 使用格式 movcx...

  • 汇编(七)

    Loop指令 Loop指令和CX寄存器配合使用,用于循环操作类似高级语言的for, while 使用格式 mov...

网友评论

      本文标题:loop指令

      本文链接:https://www.haomeiwen.com/subject/iuaeoxtx.html