资源目录
压缩包内文档预览:
编号:21836146
类型:共享资源
大小:11.91MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
汇编
语言程序设计
相伟
课件
ppt
- 资源描述:
-
大学汇编语言程序设计-相伟-课件PPT,大学,汇编,语言程序设计,相伟,课件,ppt
- 内容简介:
-
21世纪高等院校规划教材汇编语言程序设计相 伟 主编徐小平 李珍香 副主编中国水利水电出版社第7章串操作程序设计本章学习目标通过本章学习,读者应该掌握以下内容:串传送指令及程序设计串比较指令及程序设计串扫描指令及程序设计串元素的存取指令及程序设计7.1串操作概述在汇编语言中,所谓“串”是指存储在内存中的一片连续存储区域的数据。这些数据可以是字节数据,也可以是字数据;可以是用ASCII码表示的字符串数据,也可以是用压缩的BCD码或者非压缩的 BCD码表示的十进制数据;可以是无符号数,也可以是带符号数。所谓串操作就是指8086/8088CPU提供的一组可以对“串”进行处理的指令,它包括5个基本串操作指令和3个重复前缀指令。1串操作指令 串操作指令采用隐含寻址。指令可以不带操作数,但在使用指令前必须给指令所隐含使用的寄存器赋值。 MOVS指令和CMPS指令是双操作数指令。其中源操作数存放在数据段中,由DS指出数据段的首地址,由SI指出源操作数在数据段中的偏移地址;目的操作数存放在附加数据段中,由ES指出附加数据段的首地址,由DI指出目的操作数在附加数据段中的偏移地址。 LODS、STOS、SCAS指令都是单操作数指令。其中LODS指令的源操作数由DS:SI给出,目的操作数约定存放在AL或AX;STOS指令和SCAS指令的源操作数约定存放在AL或AX,目的操作数由ES:DI给出。重复前缀指令 例如:REP MOVSBREPECMPSBREPNESCASB7.2串传送指令及程序设计1串传送指令格式一:MOVS dest,src指令的功能: 将SI指向的内存单元的值取出传送到DI指向的内存单元。 根据DF的值及串的类型是字节还是字修改SI和DI,使SI和DI指向串的下一个元素。 具体情况如下:DF=0且是字节串,则SISI+1,DIDI+1;DF=0且是字串,则 SISI+2,DIDI+2;DF=1且是字节串,则SISI-1,DIDI-1;DF=1且是字串,则SISI-2,DIDI-2;格式二:MOVSB MOVSW指令的功能: 将SI指向的内存单元的值取出传送到DI指向的内存单元。 根据DF的值及使用的指令是MOVSB 或MOVSW修改SI和DI,使SI和DI指向串的下一个元素。 具体情况如下:DF=0且使用MOVSB指令,则SISI+1,DIDI+1;DF=0且使用MOVSW指令,则SISI+2,DIDI+2;DF=1且使用MOVSB指令,则SISI-1,DIDI-1;DF=1且使用MOVSW指令,则SISI-2,DIDI-2;串传送指令不影响状态标志位。7.3串比较指令及程序设计串比较指令格式一:CMPS dest,src指令的功能: 执行(SI)-(DI),根据执行结果设置状态位,但执行结果不改变SI、DI所指向的内存单元的值。 据DF的值及定义串时的类型属性是字节还是字修改SI和DI,使SI和DI指向串处理方向的下一个元素。 具体情况如下:DF=0且是字节串,则SISI+1,DIDI+1;DF=0且是字串,则SISI+2,DIDI+2;DF=1且是字节串,则SISI-1,DIDI-1;DF=1且是字串,则SISI-2,DIDI-2;使用格式一的条件: src是在数据段DS中定义的源串,dest是在附加数据段ES中定义的目的串。 指令规定用SI指向源串,用DI指向目的串。 根据具体情况决定串处理方向,根据串的处理方向设置DF的值。如果从串首到串尾处理串,必须设置DF=0(CLD);如果从串尾到串首处理串,必须设置DF=1(STD);源串和目的串的处理方向是一致的。格式二: CMPSB CMPSW指令的功能: 执行(SI)-(DI),根据执行结果设置状态位,但执行结果不改变SI、DI所指向的内存单元的值。 根据DF的值及使用的指令是CMPSB 或CMPSW修改SI和DI,使SI和DI指向串搜索方向的下一个元素。 具体情况如下:如果DF=0且使用CMPSB指令,则SISI+1,DIDI+1;如果DF=0且使用CMPSW指令,则SISI+2,DIDI+2;如果DF=1且使用CMPSB指令,则SISI-1,DIDI-1;如果DF=1且使用CMPSW指令,则SISI-2,DIDI-2; 使用格式二的条件: 源串在数据段DS中定义,目的串在附加数据段ES定义。 指令规定用SI指向源串,用DI指向目的串。 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾处理串,必须设置DF=0(CLD);如果从串尾到串首处理串,必须设置DF=1(STD);源串和目的串的处理方向是一致的。串比较指令影响所有的状态标志位。7.4串扫描指令及程序设计串扫描指令格式一:SCAS dest指令的功能: 对于字节串,执行(AL)-(DI);对于字串,执行(AX)-(DI)。根据指令的执行结果设置状态位,但执行结果不改变DI所指向的内存单元的值。 据DF的值及串的类型是字节还是字修改DI,使DI指向串扫描方向的下一个元素。 具体情况如下:DF=0且是字节串,则DIDI+1;DF=0且是字串,则DIDI+2;DF=1且是字节串,则DIDI-1;DF=1且是字串,则DIDI-2;使用格式一的条件: dest是在附加数据段ES中定义的目的串,SCAS指令的类型与定义变量dest的类型一致。 指令规定用DI指向目的串。 根据具体情况决定串扫描方向,根据串的扫描方向设置DF的值。如果从串首到串尾扫描串,必须设置DF=0(CLD);如果从串尾到串首扫描串,必须设置DF=1(STD);源串和目的串的扫描方向是一致的。格式二:SCASBSCASW指令的功能: 对于字节串,执行(AL)-(DI);对于字串,执行(AX)-(DI)。根据执行结果设置状态位,但执行结果不改变DI所指向的内存单元的值。 根据DF的值及使用的指令是SCASB 或SCASW修改SI和DI,使SI和DI指向串处理方向的下一个元素。 使用格式二的条件: 目的串是在附加数据段ES定义的,根据串的类型选用指令SCASB 或者SCASW。 指令规定用DI指向目的串,DI的初始值指向串首或者串尾。 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾处理串,必须设置DF=0(CLD),DI的初始值指向串首;如果从串尾到串首处理串,必须设置DF=1(STD),DI的初始值指向串尾;源串和目的串的处理方向是一致的。7.5串元素的存取指令及程序设计1串元素取指令格式一:LODSsrc指令的功能: 将SI指向的串元素的值取出传送到AL或AX中。 据DF的值及src的类型属性是字节还是字修改SI,使SI指向串处理方向的下一个串元素。 使用格式一的前提条件: src是在数据段DS中定义的源串,LODS指令的类型与定义变量src的类型一致。 规定用SI指向源串中一个元素。 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾取串元素,必须设置DF=0(CLD);如果从串尾到串首取串元素,必须设置DF=1(STD)。格式二: LODSB LODSW指令的功能: 将SI指向的串元素的值取出传送到AL或AX中。 根据DF的值及使用的指令是LODSB或者LODSW修改SI,使SI指向串处理方向的下一个串元素。 使用格式二的前提条件: 串必须在数据段DS中定义,根据串的定义类型选用指令LODSB或者LODSW。 指令规定用SI指向源串中待取的串元素。 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾取串元素,必须设置DF=0(CLD);如果从串尾到串首取串元素,必须设置DF=1(STD)。 2串元素存指令格式一:STOSdest指令的功能: 将AL或AX的值存入DI指向的内存单元。 据DF的值及串的类型是字节还是字修改DI,使DI指向串处理方向的下一个单元。 使用格式一的条件: dest是在附加数据段ES中定义的目的串,STOS指令的类型与定义变量dest的类型一致。 指令用DI指向目的串。 根据具体情况决定串的处理方向,根据串的处理方向设置DF的值。如果从串首到串尾存储串元素,必须设置DF=0(CLD);如果从串尾到串首存储串元素,必须设置DF=1(STD)。格式二:STOSBSTOSW指令的功能: 将AL或AX的值存入DI指向的内存单元。 根据DF的值及使用的指令是STOSB 或STOSW修改DI,使DI指向串处理方向的下一个存储单元。使用格式二的条件: 目的串是在附加数
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。