DF标志和串移动指令(movsb/movsw)

本文深入探讨了在8086架构中,标志寄存器的第10位DF如何影响串处理指令movsb的操作,解释了DF为0或1时,si和di指针的增减方式,并通过实例展示了repmovsb指令如何利用CX寄存器重复执行串传送操作。

1.标志寄存器的第10位DF,方向标志位。在串处理指令中,控制每次操作后si,di的增减

DF=0,每次操作后,si、di添加

DF=1,每次操作后,si、di减小

我们能够用汇编语法描写叙述movsb的功能例如以下:

mov es:[di],byte ptr ds:[si]   ;8086不支持这种指令,仅做描写叙述之用

假设DF=0:inc si

inc di

假设DF=1:dec si

dec di

能够看出,movsb的功能是将ds:si指向的内存单元中的字节送入es:di中,然后依据标志寄存器DF位的值,将si和si递增或者递减。

2.rep

一般来说,movsb都和rep配合使用,格式例如以下:rep movsb

用汇编语法来描写叙述:

s:mov sb

  loop s

可见rep的作用就是依据cx的值,反复运行后面的串传送指令。因为没运行一次movsb将si/di都会递增或者递减一个内存单元,则rep movsb能够循环实现(cx)个字符的传送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值