汇编--loop循环指令

 

loop指令为循环指令,所有的循环指令都是短转移,在对应的机器码中包含转移的位移,而不是目的地址。对IP的修改范围都为:-128~127。

loop指令一共有两步,首先是(cx)=(cx)-1,第二步就是判断cx是否为0,如果cx为0的话,那么就结束循环,如果cx不为0,则继续下一步循环

;计算2的10次方
assume cs:code
code segment
      start:mov ax,2
      mov cx,9
    s:add ax,ax
      loop s      ;s表示循环位置
      
      mov ax,4c00h
      int 21h
code ends
end start

 

 

;用加法计算123x236,结果存在ax中
;方法:可用循环完成,将123加236次
assume cs:codesg
codesg segment 
start: mov ax,0
       mov cx,236
     s:add ax,123
       loop s
       
       
       
       
       
       mov ax,4C00H 
       int 21H 
codesg ends
end start
      

 

 

;ffff:0006单元中的数乘以3,结果存储在dx中
assume cs:codesg
codesg segment 
start: 
       mov ax,0ffffH ;注意 汇编源程序中,数据不能以字母开头,所以加0
       mov ds,ax
       mov bx,0006H
       
       mov ah,0H
       mov al,[bx]   ;ffff:0006是字节型
       mov dx,0
       mov cx,3
     s:add dx,ax
       loop s
       
       
       
       
       
       mov ax,4C00H 
       int 21H 
codesg ends
end start

 

 

 

 

 

 

 

posted @ 2023-07-04 09:17  天子骄龙  阅读(1211)  评论(0)    收藏  举报