欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言 循环控制指令

发布时间:2025/5/22 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 汇编语言 循环控制指令 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

循环控制指令是一组增强型的条件转义指令,用来控制一个程序段的重复执行,重复次数由CX寄存器中的内容决定。这类指令的字节数均为2,第1字节是操作码,第2字节是8位偏移量,转移的目标都是短标号。

LOOP 循环指令(Loop) 指令格式:LOOP 短标号

指令功能:这条指令用于控制重复执行一系列指令。指令执行前必须事先将重复次数放在CX寄存器中,每执行一次LOOP指令,CX自动减1。如果减1后CX≠0,则转移到指令中所给定的标号处继续循环;若自动减1后CX=0,则结束循环,转去执行LOOP指令之后的那条指令。一条LOOP指令相当于执行一下两条指令的功能:

DEC CX JNZ 标号

以下是
计算 123 * 236 的结果 最后得到结果为 AX = 7164H

assume cs:code; loop 循环指令 cx = cx - 1 检测cx 是不是等于 0 ; 循环体 ; cx 循环次数code segmentmov ax, 0mov cx, 123addNumber: add ax, 236mov dx, 1000Hmov dx, 2000Hloop addNumber ;标号 地址mov ax, 4C00Hint 21H code endsend

以下是
求FFFF:0 到FFFF:F 字节型数据的和 结果存放在DX中

assume cs:code ; loop 循环指令 cx = cx - 1 检测cx 是不是等于 0code segmentmov ax, 0FFFFHmov ds, axmov bx, 0mov ax, 0mov dx, 0mov cx, 16addNumber: mov al, ds:[bx]add dx, axinc bxloop addNumber ;标号 地址mov ax, 4C00Hint 21Hcode endsend

注:数据不允许字母开头 0FFFFH 0BCH
以下是运行结果:

将FFFF:0~FFFF:F 中的字节型数据 复制到 0:200 - 0:20F中

第一种方式:
assume cs:codecode segmentmov bx, 0mov cx, 16copyDate: mov ax, 0FFFFHmov ds, axmov dl, ds:[bx]mov ax, 0020Hmov ds, axmov ds:[bx], dlinc bxloop copyDatemov ax, 4C00Hint 21Hcode endsend
第二种方式
assume cs:code; 数据不允许字母开头 0FFFFH 0BCHcode segmentmov ax, 0FFFFHmov ds, axmov ax, 0020Hmov es ,axmov bx, 0mov cx, 16copyDate: mov dl, ds:[bx]mov es:[bx], dlinc bxloop copyDate ;标号 地址mov ax, 4C00Hint 21Hcode endsend

运行结果:

注:0:200H ~ 0:2FFH 和 0:7E00H ~ 0:FFFFH 属于可用区域,否则会涉及到内存安全的问题。

向内存0:200 - 0:23F 传递数据0~63(3FH)

assume cs:codecode segmentmov ax, 0020Hmov es, axmov bx, 0mov ax, 0mov cx, 64addNumber: mov es:[bx], alinc bx inc alloop addNumbermov ax, 4C00Hint 21Hcode endsend

运行结果:

下面的程序功能是将 mov ax, 4C00H 之前的指令复制到内存 0:200
需要考虑:

  • 1.复制的是什么?
  • 2.从哪里到哪里?
  • 3.有多少个字节?
assume cs:codecode segmentmov ax, csmov ds, axmov ax, 0020Hmov es, axmov bx, 0mov cx, 17HcopyDate: mov al, ds:[bx]mov es:[bx], alinc bxloop copyDatemov ax, 4C00Hint 21Hcode endsend

要复制的指令所占的字节

程序执行后:

总结

以上是生活随笔为你收集整理的汇编语言 循环控制指令的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。