5 [BX]和loop指令

本文介绍了汇编语言中的[BX]内存访问和loop指令的使用。loop指令通过CX计数实现循环,例如在示例中用于多次执行加法操作。文章还讨论了数据类型的匹配和16位寄存器在处理8位数据时的注意事项,以及如何找到一段安全的内存空间进行操作。最后提到了段前缀的概念,如ss: cs: ds: es:,用于指定内存单元的段地址。
摘要由CSDN通过智能技术生成

1、[BX]和[0]一样,也表示一个内存单元,他的偏移地址在bx中。
2、loop指令的格式是:loop标号,CPU执行loop指令的时候,要进行两步操作:
cx=cx-1;
判断cx的值。
不为0则转至标号处执行程序,如果为0向下执行。
通常我们用loop指令来实现循环功能,cx至关重要,它存放循环次数。
下面举一个具体的例子来解释下loop的用法:

	assume  cs:fallrain
	fallrain segment
	mov ax,2
	mov cx,11
 s: add ax,ax
	loop s

    mov ax,4c00h
    int 21h
    fallrain ends
    end

在以上程序中:
s为标号,它实际上标识了一个地址,这个地址有一条指令:add ax,ax。
loop s则有两步操作:
cx = cx-1
判断cx中的值,不为0则转至符号s所标识的地址处执行(这里为add ax,ax),如果为0则执行下一跳指令(下一条指令是mov ax,4c00h)。
3、在汇编源程序中,数据不能以字母开头,所以要在前面加0,比如1234h在汇编中可以写成1234h,而fa11h在汇编中要写成0fa11h
4、分析这样一个问题:
计算0000:0~0000:b单元中的数据和,结果存储在dx中:

  • 运算后的结果是否会超过dx所能存储的范围
    0000:00000:b内存答案元中的数据是字节型的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值