【汇编】[BX]和loop指令(学习笔记)

一、[BX]

利用BX寄存器存储偏移地址与DS配合使用

在DEBUG中可以使用mov al,[0],但在ml编译器里面会变成mov al,0

可以使用BX寄存器来解决

mov bx,0
mov al,[bx]

补充

1、使用描述性符号()表示取内容

2、使用idata表示常量

二、loop循环指令

1、loop的概述

需要用到cx寄存器,存储循环次数

每次执行loop时都会进行(cx) = (cx) - 1、判断cx的值

cx为0:直接向下运行;cx非零:跳转到标号处运行。

2、loop的使用

assum cs:code
code segent
start:	mov ax,2
		mov cx,11
	s:	add ax,ax
		loop s
		mov ax,4c00H
		int 21h
code ends
end start

3、loop的Debug

1、G 0014:跳转到0014位置 --> 调过循环

2、P:执行完循环(步过)

3、D 地址:查看内存信息

4、U:查看汇编指令

5、A:写汇编命令

三、[BX]和loop的联合

DX存储范围:0~65535

  1. 类型不匹配:(dx) = (dx) + 内存8位data
  2. 结果越界:(dl) = (dl) + 内存8位data

–> 找一个16位寄存器

累加 => ax => dx

四、短前缀

可以在访问内存单元的指令中显式给出内存单元的段地址所在的段寄存器

mov ax,cs:[0]
mov bx,es:[0]

五、安全空间

DOS中,合法程序的内存范围:0:200h ~ 0:2FFFh(256字节)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wmh1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值