- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口 C0307
微机原理与接口技术
串操作指令
有5条指令
MOVS (Move string) 串传送
CMPS (Compare string) 串比较
SCAS (Scan string) 串扫描
LODS (Load from string)从串取指令
STOS (Store into string)存入串指令
串操作指令说明
针对数据块或字符串的操作
可实现存储器到存储器的数据传送
待操作的数据串为源串,目标操作数称为目的串
串操作指令说明
串指令的执行需要确定:
串所在的区域
串的首地址(原串、目的串起始地址)
串长度
串的操作方向
串操作指令要求
串所在区域及首地址
源串一般在数据段,偏移地址由SI指定。允许段超越(除代码段)
目的串必须在附加段,偏移地址由DI指定
串长度
串长度值由CX指定
串操作方向
由DF标志位决定,指令根据DF位自动修改地址指针
DF=0,增地址
DF=1,减地址
重复前缀
无条件重复
REP
CX≠0, REP后的指令重复执行
常用于传送类指令
条件重复
相等(为零)重复:REPE(REPZ)
CX≠0 ∩ ZF=1
不相等(不为零)重复:REPNE(REPNZ)
CX≠0 ∩ ZF=0
串操作指令流程
设置操作方向
完成否
串操作指令实现
重复前缀实现
按增地址方向操作,串操作结束时:
串传送指令:指针指向串尾+1
串比较类指令:指针指向结束位+1
按减地址方向操作,串操作结束时:
串传送指令:指针指向串尾-1
串比较类指令:指针指向结束位-1
串传送
功能:
源数据串送到目的地址
格式:
MOVS dst-string , src-string
MOVSB
MOVSW
串传送指令与无条件重复前缀REP连用
串比较
功能:
两个数据串的比较
操作:
目的串-源串,结果不写回目标地址
格式:
CMPS dst-string, src-string
CMPSB
CMPSW
串比较指令常与条件重复前缀REP连用
串扫描
功能:
在指定存储区域中寻找某个关键字
格式:
SCAS dst-string
SCASB
SCASW
执行与CMPS相似的操作,区别:
源操作数是AX或AL
操作:
字节操作: (ES:DI)-(AL) (DI) ← (DI) + 1
字操作: (ES:DI)-(AX) (DI) ← (DI) + 2
LEA DI , STRING ; (DI) ← 字符串首地址
MOV CX , 100 ; (CX) ← 字符串长度
CLD ; 使DF=0
MOV AL , 0DH ; (AL) ← 回车符
REPNE SACSB ; 如未找到, 重复扫描
JZ FOUND ; 如找到, 转FOUND
MOV DL , ‘N’ ; 串中无回车符, 则(DL) ←‘N’
JMP DISPLY ; 转到DISPLY
[例] 在包含100个字符的字符串STRING中寻找第一个回车符CR(其ASCII码为0DH), 找到后将其地址保留在(DS:DI)中, 并在屏幕上显示字符‘Y’。若字符串中没有回车符, 则在屏幕上显示‘N’。
FOUND: DEC DI ; (DI) ← (DI) - 1
MOV DL , ‘Y’ ; (DL) ←‘Y’
DISPLY: MOV AH , 02H ; (AH) ← 功能号
INT 21H ; 显示字符
HLT
从串取 (load from string)
格式:
LODS src-string
LODSB
LODSW
操作:
字节操作: (AL)←(DS: SI)
(SI)←(SI) + 1
字操作: (AX)←(DS: SI)
(SI)←(SI) + 2
从串取指令
用于将内存某个区域的数据串依次装入累加器,以便输出到接口
LODS指令一般不加重复前缀
存入串 (store into string)
格式:
STOS dst-string
STOSB
STOSW
操作:
字节操作: (ES:DI)←(AL)
(DI) ←(DI) + 1
字操作: (ES:DI)←(AX)
(DI) ←(DI) + 2
存入串指令
常用于将内存某个区域置相同的值
此时:
将待存入的数据放入AL(字节)或AX(字)
确定操作方向(地址增减)、区域大小(串长度)
使用存入串指令+无条件重复前缀,实
您可能关注的文档
- 弹性力学-薄板弯曲问题.pptx
- 当前广电网络面临 --何栋材.ppt
- 形势PPT,海峡两岸关系 终结版 2.ppt
- 当考研遇上风险.ppt
- 形近字、多音字、单元.doc
- 彩盒、说明书的估价.ppt
- 彩印厂内部技术手册(ISO).doc
- 影响化学反应的外界因素.ppt
- 形态理论与波浪.ppt
- 形成气候的主要因素课件.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)