# **Loop指令**
Loop 标号

```
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
```





**编程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
```
过程:

**计算123x236,结果存储在ax中**
方法:用加法实现乘法,将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
```
**计算ffff:0006字节单元中的数乘以3,结果存储在dx中**
分析:将ffff:0006从内存中取出连加3次

```
assume cs:code
code segment
mov ax,0ffffH
mov ds,ax
mov bx,6
#//(ax)=((ds)816+(bx))注意审题取出的是字节,所以这里将偏移地址的值ds:[bx]放到高八位中
mov al,[bx]
#//注意第八位初始可能是其他值,这里需要重置为0
mov ah,0
#//注意这里
mov dx,0
mov cx,3
s:add dx,ax
loop s
mov ax,4c00H
int 21H
code ends
end
```
