- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章5 串处理指令课件
2.5 串操作类指令;串数据类型; ? 设置方向标志指令
CLD、STD
? 串处理指令 ? 串重复前缀
MOVSB / MOVSW REP
STOSB / STOSW REPE / REPZ
LODSB / LODSW REPNE / REPNZ
CMPSB / CMPSW
SCASB / SCASW ;与 REP 配合工作的 MOVS / STOS / LODS
REP
执行操作:
(1) 如 (CX)=0 则退出 REP,否则转(2)
(2) (CX) ? (CX) -1
(3) 执行 MOVS / STOS / LODS
重复 (1) ~ (3)
例: REP MOVSB ;字节串传送
REP MOVSW ;字节串传送; MOVS DST, SRC
MOVSB (字节)
MOVSW (字)
例:MOVS ES: BYTE PTR [DI], DS: [SI]
执行操作:
(1) ((DI)) ← ((SI))
(2) 字节操作:(SI)←(SI)±1, (DI)←(DI)±1
字操作: (SI)←(SI)±2, (DI)←(DI)±2
方向标志 DF=0 时用 + ,DF=1 时用 - 。
REP MOVSB或者REP MOVSBW:将数据段中的整串数据传送到附加段中。
源串(数据段)→ 目的串(附加段);执行 REP MOVS 之前,应先做好:
(1) 源串首地址(末地址)→ SI
(2) 目的串首地址(末地址)→ DI
(3) 串长度 → CX
(4) 建立方向标志
( CLD 使 DF=0,STD 使 DF=1 ) ;建立方向标志指令;datarea segment
mess1 db ‘personal_computer’
datarea ends
extra segment
mess2 db 17 dup (?)
extra ends
code segment
assume cs:code,ds:datarea,es:extra
Begin: mov ax, datarea
mov ds,ax
mov ax, extra
mov es, ax
lea si, mess1
lea di, mess2
mov cx, 17
cld
rep movsb
mov ax,4c00h
int 21h
code ends
end begin;data segment
mess1 db ‘personal_computer’
mess2 db 17 dup (?)
data ends
code segment
assume cs:code,ds:data,es: data
Start: mov ax, data
mov ds, ax
mov es, ax
lea si, mess1
lea di, mess2
mov cx, 17
cld
rep movsb
mov ax,4c00h
int 21h
code ends
end start;图rep movsb;哭郸腿峨农竞互贞览增苇尤向纫蕾助囊欠违剩粤攘孺疫恩脐殊胃香后熊盔第3章5 串处理指令课件第3章5 串处理指令课件;指令格式: STOS DST
STOSB (字节)
STOSW (字)
执行操作:
字节操作:((DI))←(AL), (DI)←(DI)±1
字操作:((DI))←(AX), (DI)←(DI)±2
方向标志 DF=0 时用 + ,DF=1 时用 - 。
REP STOSB或者REP STOSW适合于初始化数据
文档评论(0)