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