微机原理及接口技术第三章课件

上传人:我*** 文档编号:141686114 上传时间:2020-08-11 格式:PPT 页数:48 大小:340.50KB
返回 下载 相关 举报
微机原理及接口技术第三章课件_第1页
第1页 / 共48页
微机原理及接口技术第三章课件_第2页
第2页 / 共48页
微机原理及接口技术第三章课件_第3页
第3页 / 共48页
微机原理及接口技术第三章课件_第4页
第4页 / 共48页
微机原理及接口技术第三章课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《微机原理及接口技术第三章课件》由会员分享,可在线阅读,更多相关《微机原理及接口技术第三章课件(48页珍藏版)》请在金锄头文库上搜索。

1、二、8086/8088的指令系统(续),二、 8086/8088的指令系统(续) 内容: 3、逻辑运算和移位指令 (一)逻辑运算指令 (二)移位指令 (三)循环移位指令 4、串操作指令 (一) 与REP相配合工作的MOVS、STOS、LODS指令 (二)与REPE/REPZ和REPNE/REPNZ联合工作的CMPS和 SCAS指令,(一)逻辑运算指令 1、AND(Logical and ) 逻辑“与”指令 2、 TEST(Test or non-destructive logical and ) 测试指令 3、OR(Lgical inclusive or ) 逻辑“或”指令 4、XOR(Log

2、ical exclusive or) 逻辑“异或”指令 5、NOT(Logical not ) 逻辑“非”指令,1、AND(Logical and )逻辑“与”指令 格式:AND dest, src ;B/W,(dest)(dest (src) src: 立即数、寄存器、存储器。 dest: 寄存器、存储器。 执行操作:进行“与”运算, 两位中有一位为0(或二位都为0),则结 果 为0,否则为1。 操作类型举例:AND AL, 0FH ;寄存器 立即数 AND CX, DI ; 寄存器 寄存器 AND SI, MEM_NAME ; 寄存器 存储器 AND ALPHA DI, AX ; 存储器

3、寄存器 AND WORD PTR BXSI, 0FFFEH ; 存储器 立即数,注意: “与”指令中操作数不能同时为存储器; 影响条件码: CF0F=0, A未定义 , SF ZF PF “与”指令的用途: (1)清CF , 自己“与”自己. 操作数不变 ,CF=0 例:AND AL ; 结果:操作数不变 ,CF=0。 (2) 使操作数中若干位保持不变,若干位与“1”相与; 而若干位置为“0 “的场合,若干位与“0” 相与。 例: 若(AL)=43H AND AL, 0FH ; (AL)=03H, (AL)03不变; ;(AL)47=00H,屏蔽高4位。,“与”指令应用举例: 例1:将英文小写

4、字母ASCII转换成大写。 小写英文字母ASCII为:az 61H7AH 大写英文字母ASCII为:AZ 41H5AH 程序:MOV AL, z AND AL,0DFH;(AL)=5AH 例2:判断键盘按下的字符是不是Y? MOV AH, 7 INT 21H ;键入无回显,(AL)=输入键的字符码 AND AL, 0DFH CMP AL, Y JE YES YES: ,0110 0001,0100 0001,1101 1111,61H,41H,DFH,2、 TEST(Test or non_destructive logical and )测试指令 格式: TEST dest , src;(d

5、est)(src) src: 立即数、寄存器、存储器。 dest: 寄存器、存储器。 执行操作: 二个操作数相与的结果不存,置条件码。 操作类型举例: TEST BH, 7 ; 寄存器 立即数 TEST SI , BP ;寄存器 寄存器 TEST DI ,TABLEBX ; 寄存器 存储器 TEST SI,CH ;存储器 寄存器 TEST word ptr BXDI, 6ACEH ;存储器 立即数,用途: 常常用来检测一些条件是否满足,但又不希望改变原有的操作数的情况下,常在此指令后边加一条 条件转移指令。 例:判断A单元中数据的奇偶性 设: (A )= 0AEH 程序:MOV AL,A;(A

6、L)=0AEH TEST AL,01H JZ EVEN ; 结果=0为偶数转EVEN 奇数处理 EVEN:偶数处理 检测(AL)的最低位是否为0,若为0转EVEN,3、OR(Lgical inclusive or )逻辑“或”指令 格式:OR dset, src;(dset)(dset) (src) dest: 寄存器、存储器。 src: 立即数、寄存器、存储器。 执行操作: 进行按位“或”运算 两位操作数中任一位为1(或都为1),则该位(结果)=1,否则为0。 操作类型举例: OR BL,0F6H; 寄存器 立即数 OR AH, BL;寄存器 寄存器 OR CL ,BETABXDI; 寄存器

7、 存储器 OR GAMMASI ,DX;存储器 寄存器 OR BYTE PTR MEM_BYTE , 80H;存储器 立即数,注意: “或”指令中操作数不能同时为存储器; 影响条件码: CF0F=0, A未定义 , SF ZF PF 用途: (1)清CF , 自己与自己“或”,操作数不变,CF=0 例: OR AL ;(AL)不变,CF=0 (2)使某个操作数若干位保持不变,若干位与“0”或 ; 而若干位置1。若干位与“1”或 。 (3) 将两个操作数信息组合。 若(AL)=03H 用OR指令组合使(AL)=33H=3 。 OR AL,30H ;(AL)=33H,4、XOR(Logical e

8、xclusive or)逻辑“异或”指令 格式:XOR dset , src ;B/W(dset) (dset) (src) dest: 寄存器、存储器。 src: 立即数、寄存器、存储器。 执行的操作:对指令的两个操作数进行按位“异或”运算。 二位不相同时为1, 相同时为0。 操作类型举例: XOR DI, 23F6HH ; 寄存器 立即数 XOR SI , DX ;寄存器 寄存器 XOR CL , BUFFER ; 寄存器 存储器 XORMEMBX,AX ;存储器 寄存器 XORbyte ptrTABLEBPSI, 3DH ; 存储器 立即数,注意: “或”指令中操作数不能同时为存储器;

9、影响条件码: CF0F=0, A未定义 , SF ZF PF 用途:对某些特定位求反,某些特定位与“1” 其余位保持不变,保持不变与“0” 。 应用举例: 例1: 将(AL)中的第1、3、5、7位求反 0、2、4、6位保持不变。 MOV AL, 0FH XOR AL,0AAH,例2: 比较三条(AX)清“0”指令: XOR AX , AX ; 清AX , 清CF,2个字节,3个T。 SUB AX, AX ;清AX , 清CF,2个字节,3个T。 MOV AX , 0 ;清AX ,不影响标志位, 3个字节,4个T。,5、NOT(Logical not )逻辑“非”指令 格式: NOT dest

10、;B/W 指令操作数只有一个,指令对操作数按位求反。 执行操作: 字节求反:(dest)0FFH-(dest) 字求反: (dest 0FFFFH-(dest) 源操作数:寄存器、存储器。不能是立即数。 影响标志位:对标志位无影响。 操作类型举例: NOT AH; 8位寄存器求反 NOT CX;16位寄存器求反 NOT BYTE PTR BP;8位存储器求反 NOT WORD PTR COUNT ;16位存储器求反,综合举例: 1使某些位置“0”。 IN AL,61H;(AL)= B 设备控制寄存器 想使此位为0 执行指令: AND AL,0FDH 即可。 2. 使某些位置“1”。 IN AL

11、,61H;(AL)= 执行指令: OR AL,02 想使此位为“1” 3. 使某些位求反: IN AL,61H ;(AL)= 0 XOR AL,02H 0 0 0 0 0 0 1 0 1 4. 测试某些位(测奇偶性):测试 “奇”“偶”性。 见TEST指令的用途例子。,(二)移位指令 (8086有8条移位指令) : 1、 算逻移位指令( 4条 ): SHL , SHR, SAL , SAR 。 (1)、 SHL/SAL(Shift logical left/shift arithmetic left) 逻辑左移/算术左移指令 (2)、SHR (Shift logical right ) 逻辑右

12、移指令 (3)、SAR (Shift arithmetic right )算术右移指令 2、循环移位( 4条): ROL, ROR , RCL, RCR。 (1)、ROL (Rotate left ) 不含CF循环左移指令 (2)、ROR (Rotate right ) 不含CF循环右移指令 (3)、RCL (Rotate left through carry )含CF循环左移指令 (4)、RCR (Rotate right through carry )含CF循环右移指令,共同点: 所有移位指令都可以作B/W操作。 指令中的 dest : 寄存器、存储器寻址方式。 cnt : 表示移位次数

13、cnt=1,1可写在指令中,不能是1以外的常数。 cnt1,用CL存放移位次数 ,不能是其他寄存器。 如:SAL AX,1 MOV CL,4 SAL AX,CL 利用移位指令编制 *, / 程序, 执行时间比直接用 * , / 指令快, 速度可提高5-6倍。,1、 算逻移位指令( 4条 ) : SHL , SHR, SAL , SAR (1)、 SHL/SAL(Shift logical left/shift arithmetic left) 逻辑左移/算术左移指令 格式: SHL dest ,cnt ;逻辑左移指令, B/W SAL dest ,cnt ;算术左移指令, B/W dest :

14、 寄存器、存储器寻址方式。 cnt : 表示移位次数 cnt=1,1可写在指令中。 cnt1,用CL存放移位次数 。,执行操作:相当于无符号数的2功能。 SHL/SAL指令操作示意图如下图所示: 指令格式举例: SHL AH,1 SAL SI, CL SAL WORD PTR BX+5 ,1 SHL BYTE PTR , CL,0,CF,dest,(2)、SHR (Shift logical right )逻辑右移指令 格式: SHR dest ,cnt ;逻辑右移指令, B/W 执行操作:相当于无符号数的2功能。 SHR指令操作示意图如下图所示:,dest : 寄存器、存储器寻址方式。 指令

15、格式举例: SHR BL , 1 SHR AX , CL SHR BYTE PTR DI+BP,1 SHR WORD PTR BLOCK ,CL,dest,CF,0,(3)、SAR (Shift arithmetic right )算术右移指令 格式: SAR dest ,cnt ;算术右移指令, B/W 执行操作:相当于带符号数的2功能 SAR指令操作示意图如下图所示,dset,dest : 寄存器、存储器寻址方式。 指令格式举例: SAR AL , 1 SHR DL , CL SHR WORD PTR TABLESI,1 SHR BYTE PTR STATUS ,CL,CF,2、循环移位( 4条): ROL, ROR , RCL, RCR。 共同点: ROL、ROR 不含CF循环移位指令,操作数移动8次后还原。 RCL、 RCR 含CF循环移位指令,操作数移动9次后还原。 影响标志OF、CF ROL、 RCL影响标志OF、CF情况相同 ; ROR 、 RCR影响标志OF、CF情况相同 。 SF、ZF、PF、AF不影响。,(1)、ROL (Rotate left )不含CF循环左移指令 格式: ROL dest ,cnt ;不含CF循环左移指令, B/W 执行操作:ROL指令操

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号