Loop 指令
-
loop 指令 : 来实现循环功能
-
CX 寄存器 : 存放循环的次数
计算 2^12
需要11条重复的add ax,ax
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
时,
①(cx)=(cx)-1
② cx
不为零,则转到s
所标识的地址处执行(add ax,ax
); cx
为零,则执行下一条指令(mov ax,4c00h
)
问题5.2 用加法计算 123×236
assume cs:code
code segment
mov ax,0
mov cx,236
s: add ax,123
loop s
mov ax,4c00h
int 21h
code ends
end
问题5.3 提高123×236的计算速度
assume cs:code
code segment
mov ax,0
mov cx,123
s: add ax,236
loop s
mov ax,4c00h
int 21h
code ends
end
Loop 指令结构
mov cx,循环次数
s:
循环执行的程序段
loop s