- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.5 逻辑运算和移位循环类 逻辑运算 移位操作 3.5.1 逻辑运算指令 逻辑运算指令对操作数的要求大多与MOV指令相同。“非”运算指令要求操作数不能是立即数; 除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0 “与”指令: 格式: AND OPRD1,OPRD2 操作: 两操作数相“与”,结果送目标地址 实现两操作数相与的运算; 使目标操作数的某些位不变,某些位清零; 在操作数不变的情况下使CF和OF清零。 AND BL,[BX] AND AL,0FH AND AX,AX “或”运算指令 格式: OR OPRD1,OPRD2 操作: 两操作数相“或”,结果送目标地址 实现两操作数相“或”的运算; 使某些位不变,某些位置“1” 在不改变操作数的情况下使OF=CF=0 “或”指令的应用例 OR AX,[DI] OR CL,0FH OR AX,AX “异或”运算指令 格式: XOR OPRD1,OPRD2 操作: 两操作数相“异或”,结果送目标 地址 “非”运算指令 格式:NOT OPRD 操作:操作数按位取反再送回原地址 指令中的操作数不能是立即数 指令的执行对标志位无影响 例:NOT BYTE PTR[BX] “测试”指令 格式: TEST OPRD1,OPRD2 操作: 执行“与”运算,但运算的结果不 送回目标地址。 应用:常用于测试某些位的状态 逻辑运算指令的几点讨论 与指令---拆字、屏蔽信息 或指令---拼字、组合信息 异或指令清零 3.5.2 移位指令与循环移位指令 非循环移位指令 循环移位指令 移动一位时由指令直接给出;移动两位及以上,则移位次数由CL指定。 非循环移位指令 逻辑左移 算术左移 逻辑右移 算术右移 算术左移和逻辑左移 格式: SAL OPRD,1 SAL OPRD,CL SHL OPRD,1 SHL OPRD,CL 逻辑右移 格式: SHR OPRD,I SHR OPRD,CL 算术右移 格式: SAR OPRD,I SAR OPRD,CL 非循环移位指令的应用 左移可实现乘法运算 右移可实现除法运算 例: 教材p123 循环移位指令 不带进位位的循环移位 带进位位的循环移位 循环移位指令的格式、对操作数的要求与非循环移位指令相同 不带进位位的循环移位 带进位位的循环移位 循环移位指令的应用 用于对某些位状态的测试; 高位部分和低位部分的交换; 与非循环移位指令一起组成32位或更长字长数的移位。 程序例 MOV SI,1000H MOV DI,3000H MOV CX,4 BBB:MOV AL,[SI] MOV BL,AL AND AL,0FH OR AL,30H MOV [DI],AL INC DI MOV AL,BL 程序例 将1000H开始存放的四个压缩BCD码转换为ASCII码存放在3000H开始的单元中去。 * * 与 或 非 异或 非循环移位 循环移位 逻辑移位 算术移位 不带进位位的移位 带进位位的移位 OR AL,AL JPE GOON OR AL,80H GOON:…. 偶校验转移(PF=1) 将一个二进制数9变为字符‘9’ ? XOR AX,AX 两操作数自身相异或,结果 有符号数 无符号数 逻辑左移 移动一位后,若CF与最高不相等,则OF=1;否则OF=0 0 CF 无符号数的右移 移动一位后,若次高位与最高位不相等,则OF=1;否则OF=0 有符号数的右移 CF 左移 ROL 右移 ROR 左移 RCL 右移 RCR CF CF CF CF PUSH CX MOV CL,4 SHR AL,CL OR AL,30H MOV [DI],AL INC DI INC SI POP CX DEC CX JNZ BBB HLT 程序 功能? ┇ ┇ 12H 34H 56H 78H ┇ 1000H 3000H * * *
文档评论(0)