8086汇编 Loop 指令
8086汇编 Loop 指令
功能:实现循环(计数型循环)
- 指令的格式
- loop 标号
CPU 执行loop指令时要进行的操作:
- (cx)=(cx)-1;
- 判断cx中的值不为零则转至标号处执行程序如果为零则向下执行。
用cx和loop 指令相配合实现循环功能的三个要点:
(1)在cx中存放循环次数;
(2)用标号指定循环开始的位置;
(3)在标号和loop 指令的中间,写上要循环执行的程序段(循环体)
如果(cx)≠0,(IP)=(IP)+8位位移
- 8位位移=“标号”处的地址-loop指令后的第一个字节的地址
- 8位位移的范围为-128~127,用补码表示
- 8位位移由编译程序在编译时算出
案例
循环说明
- 1)赋值 ax = 2、cx = 11
- 2)相加 ax = 4
- 3)loop s 中 cx 值会 -1 由 11 变为 10
- 4)转到 s 偏移地址(IP寄存器返回s偏移地址 ) 标记的 add ax ,ax
- 5)ax = 8 -> 16 -> 32 -> ...
- 6)知道 ax 为 0 结束循环
;10op指令示例程序 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?