微机原理与接口技术3 (2).ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2 8086指令系统 5.数据类型转换指令 (1) 字节转换为字指令CBW CBW 该指令的隐含操作数为AL和AH。其功能是用AL的符号位去填充AH,即:当AL为正数,则AH=0,否则,AH=0FFH。 (2) 字转换为双字指令CWD CWD 该指令的隐含操作数为AX和DX,其功能是用AX的符号位去填充DX。 这两条指令都没有形式上的参数。 3.2 8086指令系统 四、逻辑运算指令: 逻辑运算指令与高级语言中的一样,它主要包括:逻辑与AND、逻辑或OR、逻辑非NOT和异或指令XOR等。 逻辑运算指令都是按位(bit)进行计算的; TEST指令是不保留结果的“与”运算,可以和之前所介绍的CMP比较。 3.2 8086指令系统 五、移位指令: 图 3 - 1 移位指令执行示意图 C 0 SHL C RCR C SAR M C 0 SHR C 0 SAL C ROL C ROR C RCL 3.2 8086指令系统 对于移位指令应当注意: 8条指令操作过程(参看图3-1); 经常用移位指令来替代乘除2的幂次; 对于少量位数的移位,一般不用CL来确定,而是利用重复若干次1次移位来实现; 虽然都是移位指令,但是对标志位的影响不同。 3.2 8086指令系统 六、循环指令: 1.循环指令 (1)循环指令:LOOP (2)相等或为零循环指令:LOOPZ/LOOPE (3)不等或不为零循环指令:LOOPNE/LOOPNZ * 本章内容 3.1 寻址方式 3.2 8086指令系统 3.3 80286及以上扩充的指令☆ 3.1 寻址方式 3.1 寻址方式 操作数是指令的处理对象。指定操作数或操作数存放位置的方法称为寻址方式。对80x86CPU,其寻址方式可以分为三种类型、共七种寻址方式。 立即寻址 寄存器寻址 存储器寻址 直接寻址方式 寄存器间接寻址方式 寄存器相对寻址方式 基址加变址寻址方式 相对基址加变址寻址方式 3.1 寻址方式 一、立即寻址: 操作数作为指令的一部分而直接写在指令之中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。 实际上就是把要用到的数据直接以常数的形式在指令中给出。例如: MOV AX, 6789H    ADD AX, 1234H 这种寻址方式要求数据必须在编程的时候就明确,不能修改。 3.1 寻址方式 另外注意: 立即数可以是8位、16位或32位。 如果立即数为16位或32位,那么,它将按“高高低低”的原则进行存储,所谓“高高低低”是指,数据的高位存放在高地址中,数据的低位存放在低地址中。 8086是16位芯片,在8086系统中指令直接给出的立即数最多是16位,如果是32位的,则必须要用到两次类似的指令。例如,两个32位数据相加的实现如下: ADD AX,1234H ADC DX,5678H 3.1 寻址方式 二、寄存器寻址方式: 指令所要的操作数事先已存储在某寄存器中,或把目标操作数存入寄存器中,或者源操作数和目标操作数都是寄存器,称为寄存器寻址。例如: MOV AX , BX IP寄存器不能直接使用外,段寄存器的使用也有相应的限制。 由于寄存器在CPU中,使用寄存器寻址方式的指令具有较快的执行速度。所以提倡应尽可能地使用寄存器寻址方式。 3.1 寻址方式 三、存储器寻址 共有五种寻址方式: 直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对基址加变址寻址 3.1 寻址方式 1.直接寻址方式 在指令中直接给出该操作数的段地址和有效地址,从而使8086的BIU部件能够利用其地址加法器得到实际物理地址,找到该操作数。 MOV AX,DS:[2000H] 很多指令都有默认的存放数据的段,例如上面的指令可以简写成: MOV AX,[2000H] ? MOV AX,DS:[2000H] MOV AX,ES:[2000H] 3.1 寻址方式 2.寄存器间接寻址方式 操作数在存储器中,操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定。 MOV AX,DS:BX 在不使用段超越前缀的情况下,有下列规定: 若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS; 若有效地址用BP来指定,则其缺省的段寄存器为SS(即堆栈段)。 3.1 寻址方式 3.寄存器相对寻址方式 操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量(即相对值

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档