汇编指令loop用法,汇编语言中LOOP

  现在在学习汇编,感觉挺有意思的!,我就把学习的东西写下来吧,当作以后可以学习的笔记~

 

   loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作

1:(cx)=(cx)-1   

2:判断cx中的值,不为零则转至标号处执行,如果为零,则向下执行

从上面的描述中,可以看到,cx中影响者loop指令的执行结果,通常,我们用loop指令来实现循环功能,cx中存放着循环次数

编程计算 2^2,结果存放在ax中

汇编代码实现,很简单

assume   cs:code

code  segment

    mov ax,2

    ass ax, ax

    mov   ax,4c00h

     int 21h

code ends

end

这个实现起来很简单,但是若要求的一个数的幂很大时,就不能这样算了,就想c语言中的for循环一样,用一个loop来控制汇编语言中的循环累加

编程计算2^12

代码如下:

assume    cs:code

code  segment

  mov ax,2

mov  cx,11

s:    add  ax,ax

loop  s

 mov  ax,4c00h

int   21h

code  ends

end

分析:

1:标号,在汇编语言中,标号代表一个地址,这个地址处有一条指令:add   ax,ax

在上面的过程中,我们可以总结出用cx和loop指令相配合实现循环功能的三个要点

(1)  在cx中存放着循环次数

  (2) loop指令中的标号所标识的地址要在前面

(3)要循环执行的程序段,要写在标号和loop指令的中间

用cx和loop指令配合实现循环功能的程序框架如下

          mov   cx,循环次数

s:

   循环执行的程序段

  loop  s

好了,loop就没什么问题了~

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注