第五章第5讲+信息串操作指令_第1页
第五章第5讲+信息串操作指令_第2页
第五章第5讲+信息串操作指令_第3页
第五章第5讲+信息串操作指令_第4页
第五章第5讲+信息串操作指令_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、串操作指令串操作指令串操作指令串操作指令 什么是串?什么是串?在内存某段区域连续存放的若干同类型的数据。在内存某段区域连续存放的若干同类型的数据。 串操作指令的用途?串操作指令的用途?用一条指令实现对一个或多个数据的操作。用一条指令实现对一个或多个数据的操作。字节串字节串字串字串串操作指令串操作指令 串传送串传送 MOVSMOVS 串读取串读取 LODSLODS LODSB LODSW 串存储串存储 STOSSTOS STOSB STOSW 串比较串比较 CMPSCMPS CMPSB CMPSW 串扫描串扫描 SCASSCAS SCASB SCASW 重复前缀重复前缀 串操作指令使用前准备串操

2、作指令使用前准备区分源串和目的串区分源串和目的串源串段地址源串段地址DSDS源串偏移地址源串偏移地址SISI目的串段地址目的串段地址ESES目的串偏移地址目的串偏移地址DIDI设置串操作方向设置串操作方向DFDF设置重复操作次数设置重复操作次数CXCX(选用选用)使用串操作指令使用串操作指令串传送串传送MOVSMOVS 把源串中的把源串中的一个一个字节或字传送至目的串中字节或字传送至目的串中MOVSBMOVSB ;字节串传送;字节串传送 MOVSWMOVSW ;字串传送;字串传送 若传送若传送多个多个字节或字需加字节或字需加重复前缀重复前缀将将2000H :1500H2000H :1500H处

3、的一个字传送到处的一个字传送到3000H:0200H3000H:0200H处处MOV BX ,2000HMOV BX ,2000HMOV DS ,BX MOV DS ,BX ;DS=2000H;DS=2000HMOV SI ,1500H MOV SI ,1500H ;SI=1500H;SI=1500HMOV AX ,3000HMOV AX ,3000HMOV ES ,AX MOV ES ,AX ;ES=3000H;ES=3000HMOV DI ,0200H MOV DI ,0200H ;DI=0200H;DI=0200HCLD CLD ;DF=0,;DF=0,正向正向MOVSWMOVSW例:字

4、传送例:字传送将将2000H :1500H2000H :1500H处的处的100100个字节送至个字节送至3000H:0200H3000H:0200H处处MOV BX ,2000HMOV BX ,2000HMOV DS ,BX MOV DS ,BX ;DS=2000H;DS=2000HMOV SI ,1500H MOV SI ,1500H ;SI=1500H;SI=1500HMOV AX ,3000HMOV AX ,3000HMOV ES ,AX MOV ES ,AX ;ES=3000H;ES=3000HMOV DI ,0200H MOV DI ,0200H ;DI=0200H;DI=0200

5、HCLD CLD ;DF=0,;DF=0,正向正向MOV CX ,100 MOV CX ,100 ; ;设置重复次数设置重复次数REP MOVSB REP MOVSB ;重复传送;重复传送将内存中将内存中X X处的处的10001000个字节送至个字节送至Y Y处处MOV BX ,MOV BX ,SEGSEG X XMOV DS ,BX MOV DS ,BX ; X; X处段地址送处段地址送DSDSMOV SI ,MOV SI ,OFFSETOFFSET X X ; X; X处偏移地址送处偏移地址送SISIMOV AX ,MOV AX ,SEGSEG Y YMOV ES ,AX MOV ES ,

6、AX ; Y; Y处段地址送处段地址送ESESMOV DI ,MOV DI ,OFFSETOFFSET Y Y ; Y; Y处偏移地址送处偏移地址送DIDICLD CLD ; DF=0,; DF=0,正向正向MOV CX ,1000 MOV CX ,1000 ; ; 设置重复次数设置重复次数REP MOVSB REP MOVSB ;重复传送;重复传送串存储串存储例:串存储例:串存储往内存往内存1000H :0500H1000H :0500H处连续存储处连续存储8080个字符个字符AAMOV AL ,AMOV AL ,AMOV BX ,1000HMOV BX ,1000HMOV ES ,BX M

7、OV ES ,BX ;ES=1000H;ES=1000HMOV DI ,0500H MOV DI ,0500H ;DI=0500H;DI=0500HCLD CLD ;DF=0,;DF=0,正向正向MOV CX ,80 MOV CX ,80 ; ;设置重复次数设置重复次数REP STOSB REP STOSB ;重复存储;重复存储例:串存储例:串存储把内存把内存BUFFERBUFFER开始的开始的100100个单元清零个单元清零MOV AL ,00HMOV AL ,00HMOV BX ,SEG BUFFERMOV BX ,SEG BUFFERMOV ES ,BX MOV ES ,BX ; ;段地

8、址送段地址送ESESMOV DI ,OFFSET BUFFER MOV DI ,OFFSET BUFFER ; ;偏移地址送偏移地址送DIDICLD CLD ;DF=0,;DF=0,正向正向MOV CX ,80 MOV CX ,80 ; ;设置重复次数设置重复次数REP STOSB REP STOSB ;重复存储;重复存储串比较串比较CMPSCMPS 源串中一个数减去目的串中一个数源串中一个数减去目的串中一个数 不回送结果而直接设置标志位不回送结果而直接设置标志位CMPSB CMPSB ;字节串比较;字节串比较CMPSWCMPSW;字串比较;字串比较比较比较X X和和Y Y两个字节串是否相同(

9、各两个字节串是否相同(各100100个个单元),若相同,往单元),若相同,往RESULTRESULT单元存字符单元存字符EE,否则存字符,否则存字符NNMOV AX , SEG XMOV AX , SEG XMOV DS , AXMOV DS , AXMOV SI , OFFSET XMOV SI , OFFSET XMOV AX , SEG YMOV AX , SEG YMOV ES MOV ES ,AXAXMOV DI MOV DI ,OFFSET YOFFSET YCLDCLDMOV CX ,100MOV CX ,100 REPE CMPSBREPE CMPSB JE A JE A JN

10、E B JNE B A A:MOV RESULTMOV RESULT,EE HLT HLTB B:MOV RESULTMOV RESULT,NN HLT HLT 串扫描串扫描SCASSCAS(scan stringscan string)SCASBSCASB;扫描目的串中是否有与;扫描目的串中是否有与ALAL相同的字节相同的字节SCASWSCASW;扫描目的串中是否有与;扫描目的串中是否有与AXAX相同的字相同的字例:查找串例:查找串假设内存假设内存W W处有一字符串(长度处有一字符串(长度3232),查找),查找其中是否有字符其中是否有字符,若有,转到若有,转到YESYESMOV AL , MO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论