★斗 第三章寻址方式与指令系统散 3.1概述 32寻址方式 33数据传送指令 34算术运算指令 35逻辑运算指令 36串操作指令 3.7程序控制指令
1 第三章 寻址方式与指令系统 3.1 概述 3.2 寻址方式 3.3 数据传送指令 3.4 算术运算指令 3.5 逻辑运算指令 3.6 串操作指令 3.7 程序控制指令
★斗 36串操作指令 串传送 MOVSB 将一个字节序字双字从 Moⅴsw DS:SI→→ES:DI MOVSD 指令前要先将源串首地址→DS:SI 目标串首地址→→ESDI
2 3.6 串操作指令 串传送 MOVSB MOVSW MOVSD 将一个字节/字/双字从 DS:SI ES:DI 指令前要先将源串首地址 DS:SI 目标串首地址 ES:DI
串传送 ★斗 重复前缀 REP MOVSB REP MOVSW REP MOVSD 需要先将串的长度存入CX寄存器 每处理完一个元素自动使CX-1,直到CX=0 才结束串传送—完成整个串的传送
3 串传送 ——重复前缀 需要先将串的长度存入CX寄存器 每处理完一个元素自动使CX-1,直到CX=0 才结束串传送——完成整个串的传送 REP MOVSB REP MOVSW REP MOVSD
★斗 串传送 完成操作后自动修改SⅠ、DI,使其指向串 的下一个元素 串操作方向由CLD和STD指令设置 CLD地址递增方向(DF=0) STD地址递减方向(DF=1)
4 串传送 完成操作后自动修改SI、DI,使其指向串 的下一个元素 串操作方向由CLD和STD指令设置 CLD 地址递增方向(DF=0) STD 地址递减方向(DF=1)
★斗 串传送 例: MOV SL OFFSET SI MOVDL OFFSET S2 MOVCX. 18 REP MOVSB ●@ SlDB“ This is a string!s” S2 DB 18 DUP(O
5 例: 串传送 MOV SI, OFFSET S1 MOV DI, OFFSET S2 MOV CX, 18 REP MOVSB …. S1 DB “This is a string!$” S2 DB 18 DUP(0)