网站大量收购独家精品文档,联系QQ:2885784924

逻辑指令教材.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* MatrixOne, Inc Confidential 逻辑指令 逻辑运算指令 移位指令 逻辑运算指令 求反指令NOT 与指令AND 测试指令TEST 或指令OR 异或指令XOR 语句格式:NOT OPD 功能:将目的地址中的内容逐位取反后送入目的地址。 即(OPD)→(OPD) 操作数可以是通用寄存器或存储器,此指令对状态标志位无影响。 【例】逻辑非运算。 MOV AX,878AH NOT AX, 求反指令NOT (AX)=878AH 1000 0111 1000 1010 (AX)=7875H 0111 1000 0111 0101 TITLE NOTOP DATA SEGMENT BLOCK DW 350AH,675BH,0A418H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA NOTOP PROC NEAR 例将内存BLOCK中的三个字操作数求补。(无) MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,BLOCK MOV CX,3 STC L1: MOV AX,[SI] NOT AX ADC AX,0 MOV [SI],AX INC SI INC SI LOOP L1 MOV AX,4C00H INT 21H 语句格式:AND OPD, OPS 功能:将目的操作数和源操作数进行逻辑乘运算,结果存目的地址。 即(OPD)∧(OPS)→(OPD)。 说明:逻辑乘的运算法则为: 1∧1=1,1∧0=0,0∧1=0,0∧0=0 用法:常用于位屏蔽和位检验操作。 位屏蔽:是将目的操作数中指定的位设置为0。 与指令AND AND 可用于将二进制数的某些位清0(位屏蔽) AND BL, 0FH xxxxxxxx (BL) 0F 0000xxxx 结果 AND 【例】将AL中第3位和第7位清零。 MOV AL,0FFH AND AL,77H ;0FFH=1111 1111 ; 77H=0111 0111 (AL)=0111 0111 只需把源操作数设置为立即数,将需要屏蔽的位设为0 AND AL,0FH?; AND AL,80H????????????? AND AX,BX???????????? AND AX,GAMMA[BX]? AND BETA[BX][SI]? 逻辑“与”指令AND ;AL高4位为0,低4位保持不变。 ;检验AL的符号位 ;寄存器与寄存器相“与” ?;寄存器与存储器“与” ;存储器与 立即 数相“与” 语句格式:TEST OPD,OPS 功能:源地址和目的地址的内容执行按位的逻辑与运算,结果不送入目的地址。 即(OPD)∧(OPS)。 测试指令TEST 要测试某位是否为0,可将源操作数设置为立即数,要测试的位设为1。 ZF=1 说明要测试的位为0 测试指令TEST 【例】测试AX中的第12位是否为0,不为0则转L。 TEST AX,1000H JNE L TEST AX,8000H??? TEST BX,1??????? ;检验AX是正数还是负数 ;检验BX是偶数还是奇数 要测试某位是否为1,可先将操作数求反,再用test指令测试。 例:测试AL的第二位是否为1,为1到exit去执行 测试指令TEST MOV DL,AL NOT DL, TEST DL,0000 0100B JE EXIT 语句格式:OR OPD,OPS 功能:将目的操作数和源操作数进行逻辑加运算,结果存目的地址。 即(OPD)∨(OPS)→OPD。 说明:逻辑加的运算法则为: 1∨1=1,1∨0=1,0∨1=1,0∨0=0。 用法:常用于判断一个数是否为零,或用于将BCD码转换成ASCII,以及判断一个 数的正负。 或指令OR OR 还可用于将二进制数的某些位置1 OR BL, 0FH xxxxxxxx (BL) 0F xxxx1111 结果 OR 只需把源操作数设置为立即数,将需要置1的位设为1 【例】将AL寄存器中第3位和第7位置1。 MOV AL,0 OR AL,88H 又如: OR AL,3

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档