汇编——第五章 [BX]和loop指令

第五章 [BX]和loop指令

1.[bx] 和内存单元的描述
[bx],就相当于[0],bx作为偏移地址

2.loop指令
这是一个循环指令,默认的计数器为cx,及cx表示循环的次数,在每一次循环的末尾cx-1,到cx为0退出循环。
如代码
mov cx, 3
mov bx,0
mov dx,0
s: mov al, ds:[bx]
mov ah,0
add dx,ax
inc bx
loop s

3.定义()
(ax)表示ax的内容,(20000H)表示20000H单元里面的内容。
((ds)*16+(bx)) 表示偏移地址为bx,段地址为ds的内存单元里面的内容。

4.约定符号idata表示常量

5.1 [BX]

用法就是BX作为偏移地址。
这里有一个指令
inc bx 表示bx自加一,比add bx,1要快不少

5.2 Loop指令

用cx寄存器来存放循环次数
格式为
标号:循环代码
loop 标号
如:
s:mov ax,1
loop s
CPU在执行loop时要进行俩步操作: (1) (cx) = (cx) - 1 (2) 判断cx的值,不为0则跳转值标号处执行程序。
不管cx的值,循环段代码至少执行1次。

5.5 [bx]和loop结合使用

相当于就是循环加可变的偏移值

5.6 段前缀

段前缀就是如同 ds:[bx] 里面的ds:
有 ds: cs: ss: es: 这些称为段前缀

5.7 一段安全的空间

一般来说在dos方式下,0:200 ~ 0:2ff ( 00200H ~ 002ffH ) 的256个字节空间是不会有程序使用的。
所以这一段空间是安全的。不过为了安全起见,进入DOS后可以Debug查看一下这一段空间是不是都为0.

所以以后向一个段中写入内容时,使用0:200 ~ 0:2ff 这段空间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值