LOOP指令

LOOP用于实现循环功能。

使用方法

  1. 首先设定一个标号

  2. 在使用时使用LOOP 标号

LOOP是和CX配合使用的,CX中需要存放循环的次数。在执行loop时会进行两步操作: 1. (CX)=(CX)-1 2. 判断CX中的值,不为0则跳转回标号处。

      mov cx,11 ;设定循环次数
  s:  add ax,ax ;重复执行 设置标号s
      loop s    ;判断 loop回到标号s

标号实际代表了一条地址,在执行到loop s的时候,会进行下面两步操作:

  1. (cx) = (cx) - 1

  2. 判断cx中值,如果不为0则跳转到标号地址,为0则继续执行。

Debug中跟踪LOOP

在Debug中,使用g命令可以让程序一直执行,直到IP等于给定的地址为止。

g 1012 # 一直执行直到IP=1012

使用p命令可以让循环一直执行到(cx)=0为止,但是DosBox环境下这一条命令不可用,需要使用g命令代替。

Last updated

Was this helpful?