——《编程语言》
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. 实验
- 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。
- 实现上述功能,且不能超过9条指令,且指令中应该包括mov ax,4c00h 和 int 21h。
网友评论