汇编--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 @   天子骄龙  阅读(1106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-07-04 C++浅拷贝与深拷贝
2019-07-04 ESP8266-让灯闪烁
点击右上角即可分享
微信分享提示