[计算机软件及应用]汇编语言课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[计算机软件及应用]汇编语言课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 汇编语言 课件
- 资源描述:
-
1、l 串的基本概念串的基本概念 顺序存放在内存中的一组数据,称为串顺序存放在内存中的一组数据,称为串。用串的首(末)地址、元素类型、串的长度表示。用串的首(末)地址、元素类型、串的长度表示。1234:0000stringDS:BXA B C D E、Y Z1122331a2b3c4d3.3.4 串处理指令串处理指令 MOVS 串传送指令串传送指令 STOS 存入串指令存入串指令 LODS从串取指令从串取指令 CMPS串比较指令串比较指令 SCAS串扫描指令串扫描指令 INS串输入指令串输入指令 OUTS串输出指令串输出指令配合使用的前缀有:配合使用的前缀有:REP 重复重复 REPE/REPZ
2、相等相等/为零则重复为零则重复 REPNE/REPNZ 不相等不相等/不为零则重复不为零则重复1、与、与REP配合工作的配合工作的 MOVS/STOS/LODS/INS/OUTS 格式:格式:REP MOVS/STOS/LODS/INS/OUTS 执行操作执行操作:(1)如如(CX)=0则退出则退出REP,否则转,否则转(2)(2)(CX)(CX)-1 (3)执行执行MOVS/STOS/LODS/INS/OUTS(4)重复重复(1)(3)MOVS 串传送指令串传送指令格式:格式:MOVS DST,SRC 须指明传送的是字节、字、双字须指明传送的是字节、字、双字MOVSB(字节)(字节)MOVS
3、W(字)(字)MOVSD(双字)(双字)(386后)后)例:例:MOVS ES:BYTE PTR DI,DS:SI 低地址低地址高地址高地址DSES(SI)(DI)执行操作:执行操作:(1)(DI)(SI)(2)字节操作:字节操作:(SI)(SI)1,(DI)(DI)1 字操作:字操作:(SI)(SI)2,(DI)(DI)2 方向标志方向标志DF=0时用时用+,DF=1时用时用-。执行执行REP MOVS之前,应先做好:之前,应先做好:(1)首地址(末地址)首地址(末地址)SI(2)目的串首地址(末地址)目的串首地址(末地址)DI(3 3)串长度)串长度 CX(4 4)建立方向标志)建立方向标
4、志(CLD使使DF=0,STD使使DF=1)注意注意:源串默认在数据段中,目的串必须在附加段中,但源串源串默认在数据段中,目的串必须在附加段中,但源串可以使用段跨越前缀来修改可以使用段跨越前缀来修改例例datarea segmentmess1 db personal_computerdatarea endsextra segmentmess2 db 17 dup(?)extra endscode segment(ES,DS装填)装填)lea si,mess1 lea di,mess2 mov cx,17 cld rep movsb code endslea si,mess1+16 lea di
5、,mess2+16 mov cx,17 std rep movsbSTOS存入串指令存入串指令STOS DST (例:例:STOS ES:BYTE PTRDI)STOSB (字节)(字节)STOSW(字)(字)执行操作:执行操作:字节操作:字节操作:(DI)(AL),(DI)(DI)1 字操作:字操作:(DI)(AX),(DI)(DI)2 例:把附加段中的例:把附加段中的5个字节缓冲区个字节缓冲区mess2置为置为20Hlea di,mess2mov al,20Hmov cx,5cldrep stosb自学:自学:LODS LODS 从串取指令从串取指令INS INS 串输入指令串输入指令OU
6、TS OUTS 串输出指令串输出指令与与REPE/REPZ和和REPNE/REPNZ配合工作的配合工作的CMPS 和和SCAS 格式:格式:REPE/REPZ(REPNE/REPNZ)CMPS/SCAS 执行操作执行操作:(1)如如(CX)=0或或ZF=0(ZF=1)则退出,则退出,否则转否则转(2)(2)(CX)(CX)-1 (3)执行执行CMPS/SCAS (4)重复重复(1)(3)CMPS串比较指令串比较指令 CMPS SRC,DSTCMPSB(字节)(字节)CMPSW(字)(字)执行操作:执行操作:(1)(SI)-(DI)根据比较结果设置条件标志位:相等根据比较结果设置条件标志位:相等
7、 ZF=1 不等不等 ZF=0 (2)字节操作:字节操作:(SI)(SI)1,(DI)(DI)1 字操作:字操作:(SI)(SI)2,(DI)(DI)2 SCAS串扫描指令串扫描指令SCAS DSTSCASB(字节)(字节)SCASW(字)(字)执行操作:执行操作:字节操作:字节操作:(AL)-(DI),(DI)(DI)1 字操作:字操作:(AX)-(DI),(DI)(DI)2 CMPS/SCASCMPS/SCAS与与REPE/REPZREPE/REPZ和和REPNE/REPNZREPNE/REPNZ配合用于比较两配合用于比较两个数据串,或从一个字符串中查找一个指定的字符个数据串,或从一个字符
8、串中查找一个指定的字符例例:从一个字符串中查找一个指定的字符从一个字符串中查找一个指定的字符mess db COMPUTERlea di,messmov al,Tmov cx,8cldrepne scasb(DI):相匹配字符的下一个地址相匹配字符的下一个地址(CX):剩下还未比较的字符个数:剩下还未比较的字符个数COMPUTER(di)COMPUTER(di)例例 比较两个字符串,都是比较两个字符串,都是8个元素,找出它们不相匹配的位置个元素,找出它们不相匹配的位置 lea si,mess1lea di,mess2mov cx,8cldrepe cmpsb无条件转移指令无条件转移指令 JMP
9、格式:格式:JMP JMP 标号标号段内段内直接短转移直接短转移 JMP SHORT OPR 执行操作执行操作:(IP)(IP)+8位位移量(位位移量(-128127)例:例:.JMP SHORT HELLO HELLO:MOV AL,33.3.5控制转移指令控制转移指令段内段内直接近转移直接近转移 JMP NEAR PTR OPR 执行操作执行操作:(IP)(IP)+16位位移量位位移量段内段内间接转移间接转移 JMP WORD PTR OPR 执行操作执行操作:(IP)(EA)段间段间直接转移直接转移 JMP FAR PTR OPR 执行操作执行操作:(IP)OPR的段内偏移地址的段内偏移
10、地址 (CS)OPR所在段的段地址所在段的段地址 段间段间间接转移间接转移 JMP DWORD PTR OPR 执行操作执行操作:(IP)(EA)(CS)(EA+2)条件转移指令条件转移指令 条件转移指令条件转移指令根据根据上一条上一条指令所设置的指令所设置的条件码条件码来判断测来判断测试条件,满足测试条件则转移到由试条件,满足测试条件则转移到由指令指定的转向地址指令指定的转向地址去执去执行那里的程序;如果不满足条件则行那里的程序;如果不满足条件则执行下一条指令执行下一条指令。8086中的条件转移中的条件转移只可以使用只可以使用短转移短转移,即,即只能使用段内直只能使用段内直接寻址的接寻址的8
11、 8位位移量(位位移量(-128127-128127)所有的条件转移指令都不影响条件码所有的条件转移指令都不影响条件码根据根据单个条件标志单个条件标志的设置情况转移的设置情况转移格式格式 测试条件测试条件 JZ(JE)OPR ZF=1 JNZ(JNE)OPR ZF=0 JS OPR SF=1 JNS OPR SF=0 JO OPR OF=1 JNO OPR OF=0 JP(JPE)OPR PF=1 JNP(JPO)OPR PF=0 JC OPR CF=0 JNC OPR CF=1比较两个比较两个无符号数无符号数,并根据比较结果转移,并根据比较结果转移*格式格式 JNBE(JA)OPR 比较两个
展开阅读全文