微型计算机技术与应用.ppt

上传人:max****ui 文档编号:15473607 上传时间:2020-08-12 格式:PPT 页数:26 大小:1.79MB
收藏 版权申诉 举报 下载
微型计算机技术与应用.ppt_第1页
第1页 / 共26页
微型计算机技术与应用.ppt_第2页
第2页 / 共26页
微型计算机技术与应用.ppt_第3页
第3页 / 共26页
资源描述:

《微型计算机技术与应用.ppt》由会员分享,可在线阅读,更多相关《微型计算机技术与应用.ppt(26页珍藏版)》请在装配图网上搜索。

1、1,2020/8/12,3.2.3 逻辑运算和移位指令,1. 逻辑运算指令,1) AND(Logical and ) 逻辑“与”指令 2) OR(Lgical inclusive or ) 逻辑“或”指令 3) XOR(Logical exclusive or) 逻辑“异或”指令 4) TEST(Test or non-destructive logical and)测试指令 5) NOT(Logical not ) 逻辑“非”指令,特点: 对其操作数按位执行逻辑操作, 操作数可以是双字、字或字节。 影响条件码: (NOT指令除外) CF0F = 0, A未定义 , SF ZF PF (运算结

2、果) ,源操作数可以为立即数、寄存器、存储器 目的操作数可以为寄存器、存储器,不能为立即数 源操作数不是立即数时,两操作数必有一个寄存器,第3章 Pentium的指令系统,2,2020/8/12,AND dest, src ;(dest)(dest src) 操作:进行“与”运算,两位中有一位为0(或二位都为0),则结果为0,否则为1。,寄存器、存储器,立即数、寄存器、存储器,1)AND逻辑“与”指令(Logical and ),“与”指令的用途: (1) 清CF,OF , 自己“与”自己. 操作数不变 ,CF=0,OF=0 例:AND AL ;结果:操作数不变 ,CF=0,OF=0。 (2)

3、 使操作数中若干位保持不变,若干位与“1”相与; 而若干位置为“0 “的场合,若干位与“0” 相与。 例: 若(AL)=43H AND AL, 0FH ; (AL)=03H, (AL)03不变; ; (AL)47=00H,屏蔽高4位。,第3章 Pentium的指令系统,3,2020/8/12,“与”指令应用举例: 例1:将英文小写字母ASCII转换成大写。 小写英文字母ASCII为:az 61H7AH 大写英文字母ASCII为:AZ 41H5AH 程序:MOV AL, z AND AL, 0DFH ;(AL)=5AH,1101 1111,DFH,0110 0001,0100 0001,61H,

4、41H,0111 1010,0101 1010,7AH,5AH,第3章 Pentium的指令系统,4,2020/8/12,OR dset, src ; (dset) (dset) (src) 操作: 进行按位“或”运算 两位操作数中任一位为1(或都为1), 则该位(结果)=1,否则为0。,寄存器、存储器,立即数、寄存器、存储器,2)OR逻辑“或”指令( Lgical inclusive or ),或指令应用用途: (1) 清CF,OF , 自己与自己“或”,操作数不变,CF=0,OF=0 例: OR AL ;(AL)不变,CF=0 (2) 使某操作数若干位保持不变,若干位与“0”或 ;若干位置

5、1,与“1”或 。 (3) 将两个操作数信息组合。 若(AL)=03H 用OR指令组合使(AL)=33H=3 。 OR AL,30H ;(AL)=33H,第3章 Pentium的指令系统,5,2020/8/12,XOR dset , src ; (dset) (dset) (src) 操作:对指令的两个操作数进行按位“异或” 运算。 二位不相同时为1, 相同时为0。,寄存器、存储器,立即数、寄存器、存储器,3)XOR逻辑“异或”指令(Logical exclusive or),用途: 对某些特定位求反,某些特定位与“1” 其余位保持不变,保持不变与“0” 。 应用举例: 例1: 将(AL)中的

6、第1、3、5、7位求反 0、2、4、6位保持不变。 MOV AL, 0FH XOR AL,0AAH,第3章 Pentium的指令系统,6,2020/8/12,例:比较三条(AX)清“0”指令: XOR AX , AX ; 清AX , 清CF。 SUB AX, AX ; 清AX , 清CF。 MOV AX , 0 ; 清AX , 不影响标志位 。 XOR清“0”指令在多字节累加程序中十分有用。,第3章 Pentium的指令系统,7,2020/8/12,TEST dest , src ;(dest)(src) 操作:二个操作数相与,结果不存,只置条件码。,寄存器、存储器,立即数、寄存器、存储器,4

7、)TEST测试指令 (Test or non_destructive logical and),用途: 常常用来检测一些条件是否满足,但又不希望改变原有的操作数的情况下,常在此指令后边加一条条件转移指令。 例:判断A单元中数据的奇偶性, 设:(A)= 0AEH 程序: MOV AL,A;(AL)=0AEH TEST AL,01H JZ EVEN ; 结果=0为偶数转EVEN 奇数处理 EVEN: 偶数处理 检测(AL)的最低位是否为0,若为0转EVEN,第3章 Pentium的指令系统,8,2020/8/12,执行操作:对标志位无影响。 字节求反:(dest)0FFH-(dest) 字求反:

8、(dest ) 0FFFFH-(dest),5)NOT逻辑“非”指令(Logical not ),NOT dest ; 操作数只一个, 对操作数按位求反。,逻辑指令应用小结: (1)AND指令用来对指令的指定位清“0”。 (2)OR指令常用来对某些位置1。 (3)XOR指令用在程序开头,使某个寄存器清“0”。 (4)NOT指令对某个数据取反,+1成补码。 (5)TEST指令用来检测指定位为1,还是0。,第3章 Pentium的指令系统,9,2020/8/12,逻辑运算指令,10,2020/8/12,1)非循环移位(算术/逻辑移位指令) SAL , SAR ,SHL , SHR 。 2)循环移位

9、 ROL, ROR , RCL, RCR。 3)双精度移位 SHLD, SHRD 。,将操作数移动一位或多位,分别具有左移或右移操作,将操作数从一端移出的位返回到另一端形成循环,分成不带进位和带进位,分别具有左移或右移操作,2. 移位指令,快速数据移位,三个操作数,实现双左移,双右移,第3章 Pentium的指令系统,11,2020/8/12,SHL dest , cnt ; 逻辑左移指令, B/W/DW SAL dest , cnt ; 算术左移指令, B/W/DW,dest,执行操作:相当于无符号数的2功能。,第3章 Pentium的指令系统,12,2020/8/12,cnt : 表示移位

10、次数 cnt31,可写在指令中,也可用CL给出。 cnt31,用CL存放移位次数 ,不能是其他寄存器。 如:SAL AX,1 MOV CL,4 SAL AX,CL SAL EAX,CL,第3章 Pentium的指令系统,13,2020/8/12,SHR dest ,cnt ;逻辑右移指令, B/W,dest,执行操作:相当于无符号数的2功能。,第3章 Pentium的指令系统,14,2020/8/12,SAR dest ,cnt ;算术右移指令, B/W,dest,执行操作:相当带符号数2功能, SAR对负数向下舍入 IDIV指令对负数向上舍入。,第3章 Pentium的指令系统,15,202

11、0/8/12,用SAR指令与用IDIV指令做除法的区别: 用SAR指令做除法(对负数向下舍入): MOV AX , 81H ; (AX) = -127 SAR AX , 1 ; (AX)= - 64 用IDIV指令做除法(IDIV指令对负数向上舍入) : MOV AX , 81H ;(AX)= -127 MOV CL , 2 IDIV CL ;(AL)= -63 ,(AH)= -1,10000001,11000000,第3章 Pentium的指令系统,16,2020/8/12,ROL dest ,cnt ;不含CF循环左移指令,dest,移动8次后操作数还原。,第3章 Pentium的指令系统

12、,17,2020/8/12,ROR dest ,cnt ;不含CF循环右移指令,右移8次后操作数还原。,第3章 Pentium的指令系统,18,2020/8/12,RCL dest , cnt ;含CF循环左移指令,左移9次后操作数还原,dest,第3章 Pentium的指令系统,19,2020/8/12,RCR dest , cnt ;含CF循环右移指令,右移9次后操作数还原,dest,第3章 Pentium的指令系统,20,2020/8/12,循环移位指令(Rotate)与移位指令(Shift)不同点: 循环移位指令移位后,操作数中原来各数位的信息不会丢失,这是移动了位置,必要时可以恢复。

13、 循环移位指令可以对操作数进行测试。 例:测试(AL)5 =? 0 MOV CL , 3 ROL AL , CL JNC ZERO ZERO: ,AL,21,2020/8/12,利用带进位循环移位指令将两个寄存器或存储器 单元组合起来一起移位。 例: 将DX、AX组合起来构成32位寄存器向左移一位。 如下图所示:,程序: SHL AX , 1 RCL DX , 1,32位寄存器向左移一位,22,2020/8/12,思 考:,把AL最低位送BL最低位,保持AL不变 AH.AL分别存放着非压缩BCD码的两位,将它们合并成为一个压缩BCD码存AL,10100011,01111100,01111101

14、,第3章 Pentium的指令系统,23,2020/8/12,位传送,;把AL最低位送BL最低位,保持AL不变 ROR BL,1 ROR AL,1 RCL BL,1 ROL AL,1,AL之D0,第3章 Pentium的指令系统,24,2020/8/12,BCD码合并,;AH.AL分别存放着非压缩BCD码的两位 ;将它们合并成为一个压缩BCD码存AL AND AX,0F0FH;保证高4位为0 MOV CL,4 ROL AH,CL;也可以用SHL AH,CL ADD AL,AH;也可以用OR AL,AH,第3章 Pentium的指令系统,25,2020/8/12,双精度移位,SHLD dest, src, cnt,SHRD dest, src, cnt,寄存器、存储器,寄存器,立即数,CL,MOV AX,2A80H MOV BX,9A78H SHLD AX,BX,8 ;AX809AH,BX9A78H,CF0 SHRD BX,AX,1 ;AX809AH,BX4D3CH,CF0,OF1,第3章 Pentium的指令系统,Thank You !,博学 审问 慎思 明辨 笃行,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!