串传送指令MOVSB MOVSW

MOVSB(move string byte)

ES:DI <-- DS:SI 

把ds:si所指地址内存单元中的数据送到es:di所指向的内存单元中,源地址数据保持不变,si和di指向下一个要传送的数据

传送的次数(字符串长度)保存在CX寄存器中并用cld/std说明si和di是递增还是递减,最后用REP指令重复执行MOVSB直到cx=0终止

MOV AX,1000H

MOV DS,AX

MOV AX,2000H

MOV ES,AX

MOV SI,0 ;DS:SI 源地址数据

MOV DI,0      ;目的地址

MOV CX,16H  ;传送长度 16次 即16个字节

CLD ;SI,DI递增,相当于INC SI INC DI

REP MOVSB  ;循环执行movsb 16次 依次将1000:0内存单元处的数据送入2000:0单元处

  ;rep: cx=16 所以movsb执行了16次 

  ;REP MOVSB 将 CX 个字节从 DS:[SI] 移到 ES:[DI]

执行前内存:

-d ds:0 f                                                                                 
1000:0000  61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D   a batch file....
-d es:0 f                                                                                 
2000:0000  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................

执行后内存:
-d ds:0 f                                                                                 
1000:0000  61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D   a batch file....
-d es:0 f                                                                                 
2000:0000  61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D   a batch file....

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值