1.2_汇编语言(loop)

——《编程语言》


1. loop

1.1 定义

CPU执行loop指令的时候,要进行两步操作:

1 (cx) = (cx) - 1
2 判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行

其中,cx为CX寄存器。n

1.2 编程案例

编程计算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

分析上述程序:
在汇编语言中,标号代表一个地址,s即是此程序中的标号,在loop : s语句中执行以下步骤:

1 (cx) = (cx) - 1
2 判断cx中的值,不为0则转至标号s所标识的地址处执行(这里的指令是add ax,ax),如果为零则执行下一条指令(下一条指令是mov ax,4c00h)。

此处add ax,ax指令共执行了11次。
这里要注意的是,loop s 下面的语句是用来返回8086系统的cmd进程中的,与此处的知识点无关,如果有兴趣可以找时间研究。

2. 实验

  1. 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。
  1. 实现上述功能,且不能超过9条指令,且指令中应该包括mov ax,4c00h 和 int 21h

你可能感兴趣的:(1.2_汇编语言(loop))