微机原理及应用第4章(4)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微机原理及应用第4章(4)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 课件
- 资源描述:
-
1、4.4.3 逻辑运算指令 逻辑运算指令AND、TEST、OR、XOR、NOT 算术移位指令SAL、SAR 逻辑移位指令SHL、SHR 不带进位的循环移位指令ROL、ROR 带进位的循环移位指令RCL、RCR 小结 逻辑运算类指令 逻辑运算类指令 逻辑与指令:AND 目操作数,源操作数 目操作数的内容源操作数的内容目操作数 逻辑或指令:OR 目操作数,源操作数 目操作数的内容源操作数的内容目操作数 逻辑异或指令:XOR 目操作数,源操作数 目操作数的内容 源操作数的内容目操作数逻辑运算指令的应用1、AND指令通常用于将操作数的某些位清0。如:AND AL,0FCH ;AL的低2位清0,其余保持不
2、变逻辑非指令NOT 格式:NOT 通用寄存器或存储器 功能:将操作数内容按位取反,结果送回原处。不影响任何标志!举例:MOV BX,8A51H NOT BX;(BX)=75AEH 移位类指令移位指令 算术左移指令SALCF0 MSB LSBCF0 MSB LSBCF MSB LSBCF MSB LSB0 0CFOPRD0CFOPRDCFOPRD用移位指令实现乘、除法SAL AX,1;实现(AX)2 MOV BX,AXSAL AX,1;实现(AX)4ADD AX,BX;实现(AX)6MOV BL,ALMOV CL,3SHR AL,CL;实现(AL)8SUB BL,AL;实现(AL)7/8 循环移
3、位指令循环移位指令 不带进位的 循环左移指令ROLCF MSB LSBCF MSBCF MSB LSBCF MSBLSBLSB循环移位指令 格式:ROL/ROR/RCL/RCR 操作数,1;移1位ROL/ROR/RCL/RCR 操作数,CL;移位(CL)次 移位之后改变操作数内容,但CL的值不变。允许的操作数类型:通用寄存器、存储器 对标志位的影响:移出位CF;仅当移1位时影响OF。移出的位不会丢失!CFOPRDCFOPRDCFOPRDCFOPRD 移位指令功能示意CMSARCMSHR0CMSAL0CMSHL0CRCRCRCLCRORCROLC 进 位 标 志;M 最 高 位(符 号 位)4.
4、4.4 串操作指令 串传送指令MOVS、MOVSB、MOVSW 串比较指令CMPS、CMPSB、CPMSW 串检索指令SCAS、SCASB、SCASW 串装入指令LODS、LODSB、LODSW 串存储指令STOS、STOSB、STOSW 串操作指令重复前缀REP、REPZ/REPE、REPNZ/REPNE串操作的基本概念什么是串?地址连续的字节或字存储单元,通常用于存放同一类数据。数据源:源串;数据结果:目标串。串操作指令 对串元素实现传送、比较、检索、装入、存储等操作,并自动修改地址指针。串操作重复前缀 加在串操作指令之前,根据不同条件判断是否重复执行串操作。可以实现对整个串的同一种操作。
5、串操作指令 串操作指令 串操作指令串操作指令的特点 使用DS:SI作为默认的源串指针,段可超越;使用ES:DI作为固定的目标串指针,不允许段超越。可自动修改串指针:方向标志DF决定指针的修改方向:(DF)=0,指针加;(DF)=1,指针减。串元素的类型决定修改量:对于字节串,指针加/减1;对字串:指针加/减2。有重复前缀时,固定使用CX对重复次数进行计数,但前缀本身并不改变CX值和任何标志位!串传送指令 串传送指令串传送指令 格式:MOVS 目标串首址标号,源串首址标号 MOVSB MOVSW 功能:将源串中DS:SI所指的串元素复制到目标串中ES:DI所指的单元处;然后自动修改SI、DI。M
6、OVSB、MOVSW分别是字节串和字串的传送指令,隐含了操作数。串比较指令具体指令格式:CMPS mem,mem 若CMPS指令用REPE/REPZ作前缀,则表示:当串未结束((CX)0)且串相等((ZF)=1)时继续比较。若CMPS用REPNE/REPNZ作前缀,则表示:当串未结束((CX)0)且串不相等((ZF)=0)时继续比较。CMPSB/CMPSW分别指明是字节串或字串比较指令,不带操作数,其余约定与CMPS相同。串比较指令串比较指令 格式:CMPS 目标串首址标号,源串首址标号 CMPSB CMPSW 功能:用串源中DS:SI所指的串元素值减去目标串中ES:DI所指的串元素值,结果反
7、映在标志位上;然后自动修改SI、DI。CMPSB、CMPSW分别是字节串和字串的比较指令,隐含了操作数。串检索指令 格式:SCAS 目标串首址标号 SCASB SCASW 功能:用AL(字节串)或AX(字串)的值减去目标串中ES:DI所指的串元素值,结果反映在标志位上;然后自动修改DI。SCASB、SCASW分别是字节串和字串的检索指令,隐含了操作数。实际上是源串固定为累加器的串比较指令串装入指令 格式:LODS 源串首址标号 LODSB LODSW 功能:将源串中DS:SI所指的串元素复制到AL(字节串)或AX(字串)中;然后自动修改SI。LODSB、LODSW分别是字节串和字串的装入指令,
8、隐含了操作数。一般不使用重复前缀!实际上是目标串固定为累加器的串传送指令串存储指令 格式:STOS 目标串首址标号 STOSB STOSW 功能:将AL(字节串)或AX(字串)的值复制到目标串中ES:DI所指的单元处;然后自动修改DI。STOSB、STOSW分别是字节串和字串的存储指令,隐含了操作数。STOSB/STOSW(Store byte string or store word string)应用举例实际上是源串固定为累加器的串传送指令串装入/串存储指令举例 将大写字母组成的源串元素全部转换成小写字母,并存入目标串中:MOV CX,40;串元素的个数LEA SI,STR1;SI指向源串
9、(数据段中)LEA DI,STR2;DI指向目标串(附加段中)CLD;(DF)=0,串指针自动增量AGN:LODSB;源串元素装入累加器ADD AL,20H;大写字母小写字母STOSB;存入目标串中LOOP AGN;循环控制重复前缀REP格式:REP 串操作指令功能:在串操作指令执行之后,先修改CX(CX)1(CX),再判断串是否处理完(CX是否为0):不是0,继续执行该串操作指令;否则顺序执行下一条指令。串传送举例Memory源串目标串Memory源串目标串程序实现串传送指令及重复前缀应用例MOV CX,10H;源串、目标串中字的个数LEA SI,STR1;STR1:源串(数据段中)的首址标
10、号ADD SI,1EH;SI指向源串的末地址LEA DI,STR2;STR2:目标串(附加段中)首址标号ADD DI,1EH;DI指向目标串的末地址STD;(DF)=1,串指针自动减量REP MOVSW;完成16个字的传送部分地址重合的字串传送:重复前缀REPZ/REPE格式:REPZ/REPE 串操作指令功能:在串操作指令执行之后修改CX,判断是否满足串未完((CX)0)、且结果相等((ZF)1):如果满足,则继续执行该串操作指令;否则顺序执行下一条指令。串比较指令及重复前缀举例比较两个字符串是否相等:MOV CX,20;源串、目标串的字符个数 LEA SI,STR1;STR1:源串的首址标
展开阅读全文