微机原理第3章2.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理第3章2要点

8086指令系统(2) 三、逻辑运算和移位类 逻辑运算 移位操作 逻辑运算和移位指令 指令类型 逻辑运算 与,或,非,异或 移位操作 非循环移位,循环移位 一、逻辑运算 逻辑运算指令对操作数的要求大多与MOV指令相同。“非”运算指令要求操作数不能是立即数; 除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0 1.“与”指令: 格式: AND OPRD1,OPRD2 操作: 两操作数相“与”,结果送目标地址。 “与”指令的应用 实现两操作数按位相与的运算 AND BL,[SI] 使目标操作数的某些位不变,某些位清零 AND AL,0FH 在操作数不变的情况下使CF和OF清零 AND AX,AX “与”指令应用例 从地址为3F8H的端口中读入一个字节数,如果该数的bit1位为1,则可从38FH端口将DATA为首地址的一个字输出,否则就不能进行数据传送。 编写相应的程序段。 “与”指令应用例 “与”指令应用例 LEA SI,DATA MOV DX,3F8H WATT:IN AL,DX AND AL,02H JZ WATT ;ZF=1转移 MOV DX,38FH MOV AX,[SI] OUT DX,AX 2.“或”运算指令 格式: OR OPRD1,OPRD2 操作: 两操作数相“或”,结果送目标地址 “或”指令的应用 实现两操作数相“或”的运算 OR AX,[DI] 使某些位不变,某些位置“1” OR CL,0FH 在不改变操作数的情况下使OF=CF=0 OR AX,AX “或”指令的应用例 “或”指令的应用 3.“非”运算指令 格式: NOT OPRD 操作: 操作数按位取反再送回原地址 注: 指令中的操作数不能是立即数 指令的执行对标志位无影响 例:NOT BYTE PTR[BX] 4.“异或”运算指令 格式: XOR OPRD1,OPRD2 操作: 两操作数相“异或”,结果送目标地址 例: XOR BL,80H XOR AX,AX 5.“测试”指令 格式: TEST OPRD1,OPRD2 操作: 执行“与”运算,但运算的结果不送回目标地址。 应用: 常用于测试某些位的状态 例: 从地址为3F8H的端口中读入一个字节数,当该数的bit1, bit3, bit5位同时为1时,可从38FH端口将DATA为首地址的一个字输出,否则就不能进行数据传送。 编写相应的程序段。 源程序代码: LEA SI,DATA MOV DX,3F8H WATT:IN AL,DX MOV DX,38FH MOV AX,[SI] OUT DX,AX 二、移位指令 非循环移位指令 循环移位指令 1. 非循环移位指令 逻辑左移 算术左移 逻辑右移 算术右移 算术左移和逻辑左移 算术左移指令: SAL OPRD,1 SAL OPRD,CL 逻辑左移指令: SHL OPRD,1 SHL OPRD,CL 逻辑右移 格式: SHR OPRD,I SHR OPRD,CL 逻辑右移例: MOV AL,68H MOV CL,2 SHR AL,CL 算术右移 格式: SAR OPRD,1 SAR OPRD,CL 非循环移位指令的应用 左移可实现乘法运算 右移可实现除法运算 2. 循环移位指令 不带进位位的循环移位 带进位位的循环移位 不带进位位的循环移位 带进位位的循环移位 循环移位指令的应用 用于对某些位状态的测试; 高位部分和低位部分的交换; 与非循环移位指令一起组成32位或更长字长数的移位。 程序例 MOV SI,1000H MOV DI,3000H MOV CX,4 BBB:MOV AL,[SI] MOV BL,AL AND AL,0FH OR AL,30H

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档