




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,微机原理与接口技术,2,4.3 80x86指令系统,可分成如下7类: 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 中断指令,3,3.3.3 逻辑运算和移位指令,逻辑运算指令 运算规则:按位操作,无进/借位 对标志位的影响(除NOT指令外):,CF OF SF ZF PF AF 0 0 * * * 无定义,根据运算结果设置, NOT指令对标志位无影响,4,取反指令 NOT MEM/REG 与指令 AND 目标,源操作数 或指令 OR 目标,源操作数 异或指令 XOR 目标,源操作数,逻辑运算指令,5,对操作数进行按位逻辑”非”操作。 格式:NOT mem/reg 操作:dst dst 例:NOT CX NOT BYTE PTRDI,1) 逻辑“非”(取反) NOT,6,2) 逻辑”与” AND,对两个操作数进行按位逻辑“与”操作。 格式:AND dst, src 用途:保留操作数的某几位,清零其他位。 操作:dst dst & src,例1:保留AL中低4位,高4位清0。 AND AL, 0FH,例2:AL中有字符az, 将其转换成大写。 AND AL, 01011111B 例3:测试AL的bit7,bit5,bit2是否都是1。 AND AL, 10100100B CMP AL, 10100100B JZ YES ; if match, go to YES ; if not match YES: ; goes here if all 1,8,对两个操作数进行按位逻辑”或”操作。 格式:OR dest, src 用途:对操作数的某几位置1;对两操作数 进行组合。 操作:dst dst | src 例1:把AL中的非压缩BCD码变成相应十进制数的ASCII码。 OR AL, 30H,3) 逻辑”或” OR,0000 0111 OR 0011 0000 0011 0111,例2:把AH和AL中的非压缩BCD码组合成压 缩的BCD码, 放到AL中。 MOV CL, 4 SHL AH, CL; 设AH=7,AL=5 OR AL, AH; 最后AL=75H 例3:把AL的第5位置为1 OR AL, 00100000B,10,对两个操作数按位进行”异或”操作。 格式:XOR dest, src 用途:对reg清零(自身异或) 把reg/mem的某几位变反(与1异或) 操作:dst dst src,4) 逻辑”异或” XOR,A = a 0100 0001 XOR 0010 0000 0110 0001,a = A 0110 0001 XOR 0010 0000 0100 0001,例1:把AX寄存器清零。 MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX 例2:把DH的bit4,3变反 XOR DH,18H,0001 1000B = 18H,12,2.移位指令,1)非循环移位指令 算术左移指令 SAL(Shift Arithmetic Left) 算术右移指令 SAR(Shift Arithmetic Right) 逻辑左移指令 SHL(Shift Left) 逻辑右移指令 SHR(Shift Right) 这4条指令影响标志位:CF,ZF,SF,OF,PF,13,算术左移指令: SAL DST,CNT 逻辑左移指令: SHL DST,CNT 格式:SHL/SAL reg/mem,CL/imm 操作:将DST的内容按位顺序左移CNT次,最高位进CF中,最低位补0。当CNT大于1时,后移入CF的位把前一次移入CF的位挤出去,CF最终为最后一次移入位的状态。 操作示意:,(1) 算术左移和逻辑左移指令,14,算术右移指令: SAR DST,CNT 逻辑右移指令: SHR DST,CNT 格式:SAR/SHR reg/mem, CL/imm 操作:这两条指令功能基本相同,将DST的内容按位顺序右移CNT次,最低位进CF中;SAR最高位(符号位)保持不变,SHR最高位补0。 操作示意:,(2) 算术右移、逻辑右移指令,15,移位指令执行的操作如下图所示:,最低位,最高位,CF,0,(a)算术/逻辑左移 SAL/SHL,非循环移位指令功能示意图,算术移位把操作数看做有符号数; 逻辑移位把操作数看做无符号数。 移位位数放在CL寄存器中,也可以直接写在指令中。例如: MOV CL,4 SHR AL,CL ;AL中的内容右移4位 影响C,P,S,Z,O标志。 结果未溢出时: 左移1位 操作数*2 右移1位 操作数/2,例:将两个非压缩BCD码(高位在BL,低位在AL)合并成压缩BCD码送AL。 SHL BL,4 ;将高位移到BL的高4位 AND AL,0FH ;清零AL高4位 OR AL,BL ;合并AL和BL形成压缩BCD码。,例:设AL=1011 0100,CF=1,分别单独执行下列指令后,写出AL,CF中的值。 (1) SAL AL,1 ;AL = 0110 1000 CF = 1 (2) SAR AL,1 ;AL = 1101 1010 CF = 0 (3) SHL AL,1 ;AL = 0110 1000 CF = 1 (4) SHR AL,1 ;AL = 0101 1010 CF = 0,19,因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下: SAL AL,1 ; 2x MOV AH,AL SAL AL,2 ; 8x ADD AL,AH ; 8x+2x = 10x,例:不用乘法指令,把AL中的数x乘10,20,不含进位位的循环左移指令 ROL 不含进位位的循环右移指令 ROR 含进位位的循环左移指令 RCL 含进位位的循环右移指令 RCR 语法:ROL reg/mem, CL/imm8 四条指令的格式相同 移位位数放在CL寄存器中,也可以直接写在指令中 循环移位指令只影响标志位CF和OF。,2)循环移位指令,21,指令:ROL DST,CNT 格式:ROL reg/mem,CL/imm8 功能:将DST的内容按位循环左移CNT次,每做一次移位,总是将最高位移进CF中的同时也移进最低位,从而构成一个环。当CNT大于1时,后移入CF的位把前一次移入CF的位挤出去,CF最终为最后一次移入位的状态。,(1) 循环左移位指令,22,指令:ROR DST,CNT 格式:ROR reg/mem,CL/imm8 功能:将DST的内容按位循环右移CNT次,每做一次移位,总是将最低位移进CF中的同时也移进最高位,从而构成一个环。,(2) 循环右移位指令,23,指令:RCL DST,CNT 格式:RCL reg/mem,CL/imm8 功能:将DST的内容和进位位一起做循环左移. 操作过程如下:,(3) 带进位循环左移指令,24,指令:RCR DST,CNT 格式:RCL reg/mem,CL/imm8 功能:将DST的内容和进位位一起做循环右移。操作过程如下:,(4) 带进位循环右移指令,25,这4条指令的功能如下图示:,循环移位指令功能示意图,26,循环移位举例:,例1:将AL的高4位与低4位互换。 MOV CL, 4 ROL AL, CL,27,循环移位举例:,例2:将DX:AX中的32位数联合左移1位。 SHL ax,1 RCL dx,1 例3:将AX中的16位二进制数倒序排列。 MOV CL, 16 LOOP1: SHL AX, 1 RCR BX, 1 DEC CL JNZ LOOP1 MOV AX, BX,28,3) 测试与位测试指令,测试与位测试指令 - 测试指令 格式:TEST 目标操作数,源操作数 结果影响标志位P、Z、S; A未定义; O、C置0。 - 位测试: 格式:BT 目标操作数,源操作数,29,格式:TEST DST,SRC 操作:DST & SRC 功能:影响标志位,常用于位测试,与条件转移指令一起用。 例:求AL中符号数的绝对值,结果保存在BL中。 TEST AL, 80H ;检查AL中D7=1? JZ PLUS ;是0(正数),转PLUS NEG AL ;否则 -AL = AL PLUS: MOV BL, AL,(1) 测试指令TEST,30,(2) 位测试指令,指令:BT dst,bit 格式:BT reg /mem , reg/imm8 操作:将dst中的第bit位送入CF。 这里bit的值用于指定要测试的dst的第几位,其值取0至15/31、如果bit的值超过了dst的位数,取bit%dst位数的余数;dst只能是16/32位的通用寄存器或存储器单元。 例:,BT AX , 4 ;将AX的第4位b4CF JC NEXT ;若(b4) =1,转NEXT;否则顺序执行,31,4.3 80x86指令系统,可分成如下7类: 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 中断指令,32,4.3.6 处理器控制指令,1.标志操作指令 用来设置标志位的状态。 (1)CF设置指令 CLC 0CF STC 1CF CMC CF变反 (2)DF设置指令 CLD 0DF (串操作的指针移动方向从低到高) STD 1DF (串操作的指针移动方向从高到低) (3)IF设置指令 CLI 0IF (禁止INTR中断) STI 1IF (开放INTR中断),33,执行HLT指令时,CPU进入暂停状态,设置该指令通常是为了等待中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 男子递交离职申请书
- 仲裁申请双倍工资申请书
- 2025年标准合同范本
- 怎样写复核申请书
- 西班牙抵押申请书
- 信访申请书直接写
- 潘广森二建课件
- 保供企业车辆申请书
- 入社篮球申请书
- 不信仰宗教申请书
- 2025-2026学年苏科版(2024)初中物理九年级上册教学计划及进度表
- 劳技鉴别织物课件
- 2025年北京市天文知识竞赛(小学组)历年参考题库含答案详解(5卷)
- 热压罐安全操作规程
- Unit2WheredoanimalslivePeriod4课件-四年级上册《英语》(沪教版)
- 2025年秋期人教版3年级上册数学核心素养教案(第4单元)(教学反思有内容+二次备课版)
- 2025年高考英语全国一卷真题(含答案)
- 清廉企业建设课件内容
- 2025年全国“质量月”质量知识竞赛题库及答案
- 化妆打底教学课件图片
- 蹲踞式跳远教案设计及教案
评论
0/150
提交评论