3.8086汇编语言-3.ppt

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

第三讲 8086汇编语言 教学目的 理解机器语言、汇编语言、高级语言的含义极其各自特点; 掌握8086汇编指令的7 种寻址方式,进一步了解8086系统MPU各寄存器的功能及其存储器的使用; 掌握汇编指令集中一些常用指令(数据传送、加减、逻辑操作类指令); 掌握汇编语言中的符号和伪指令; 掌握汇编源程序完整的框架结构; 学会INT 21系统功能调用和常用Bios功能调用。 3.3 常用汇编指令 三、逻辑运算指令 常用逻辑运算指令包括: 逻辑与/或/异或:AND/OR/XOR 逻辑求反/求补:NOT/NEG 位测试指令:TEST 移位指令: 逻辑左/右移:SHL/SHR 算术左/右移:SAL/SAR 循环左/右移:ROL/ROR 带CF循环左/右移:RCL/RCR 3.3 常用汇编指令 三、逻辑运算指令 1.逻辑与/或/异或指令—AND/OR/XOR 格式: AND DST ,SRC OR DST ,SRC XOR DST ,SRC 功能:(DST) and/or/xor (SRC) ? DST 要求: 目的:通用Reg/Mem;源:通用Reg/Mem/Imm,5种形式 两操作数的类型相同,类型明确,不能同为存储器 运算规则: 两操作数按位各自运算 与(AND): 见0为0,全1为1 或(OR): 见1为1,全0为0 异或(XOR):不同为1,相同为0 3.3 常用汇编指令 三、逻辑运算指令 1.逻辑与/或/异或指令—AND/OR/XOR 例1:MOV AX,5555H AND AX,00FFH ;AX = 0055H 与运算时,与0的位被清0,与1的位保持不变 例2:MOV AX,8888H OR AX,00FFH ;AX=88FFH 或运算时,或0的位保持不变,或1的位被置1 例3:MOV AX,3333H XOR AX,00FFH ;AX=33CCH 异或运算时,异或0的位保持不变,异或1的位被取反 例4:XOR AX,AX ;AX=0,自身异或为0 三条逻辑指令均影响F:使CF=OF=0, PF,SF,ZF由结果而定,AF无意义,所以此指令可用来清CF/OF,也常用于拆,拼字. 3.3 常用汇编指令 三、逻辑运算指令 1.逻辑与/或/异或指令—AND/OR/XOR 例5:将AX的高4位,BX的中间8位,CX的低4位,拼成一个新字送至DX 如:AX=1122H,BX=3344H,CX=5566H 则:DX=1346H AND AX,0F000H ;取AX高四位,其余位清0 AND BX,0FF0H ;取BX中间八位,其余位清0 AND CX,000FH ;取CX低四位,其余位清0 MOV DX,AX ;DX=1000H OR DX,BX ;DX=1340H OR DX,CX ;DX=1346H 3.3 常用汇编指令 三、逻辑运算指令 1.逻辑与/或/异或指令—AND/OR/XOR 例5:将AX的高4位,BX的中间8位,CX的低4位,拼成一个新字送至DX 如:AX=1122H,BX=3344H,CX=5566H 则:DX=1346H AND AH,0F0H ;取AX高四位,其余位清0 AND BX,0FF0H ;取BX中间八位,其余位清0 AND CL,0FH ;取CX低四位,其余位清0 MOV DX,BX ;DX=0340H OR DH,AH ;DX=1340H OR DL,CL ;DX=1346H 课堂练习:P77-9-(4) CX中间8位取反,其余位不变: XOR CX,0FF0H 程序设计灵活性很大,在正确的基础上力求清晰 3.3 常用汇编指令 三、逻辑运算指令 2.逻辑求反/求补指令—NOT/NEG 格式: NOT DST NEG DST 功能: NOT执行“DST所有位取反,再回送DST”的操作; NEG执行“DST中的数,从最低位向最高位扫描,保留直到第一个“1”的所有位,以后所有位按位取反,再回送DST”的操作。 要求:DST可为通用Reg、Mem;可8位也可16位,类型要 明确。NOT/NEG并不是求反码/补码指令 例:MOV AX,1 ;AX= 0001H NOT AX ;AX=0FFFEH NEG AX ;AX= 0002H NOT AX ;AX=0FFFD

文档评论(0)

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

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

1亿VIP精品文档

相关文档