8086汇编 Loop 指令

Posted liujunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
技术图片

 

以上是关于8086汇编 Loop 指令的主要内容,如果未能解决你的问题,请参考以下文章

8086 汇编

汇编:8086转移指令汇总

汇编:8086转移指令汇总

8086汇编学习之代码段数据段栈段与段地址寄存器

X86汇编5.高级指令详解

汇编转移指令