第四章80X86指令系统.ppt

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

7 相对基址变址寻址方式(Relative Based Indexed Addressing) 操作数的有效地址是一个基址寄存器(BP、BX)和一个 变址寄存器(SI、DI)的内容之和,再加上指令中指定的8位 或16位位移量. 如 MOV AX,200H[BX+SI] 注:以上四种寻址方式都允许段超越。 8 I/O端口寻址 通过直接和间接的方式来进行操作数的寻址。 直接寻址:能够寻址的端口号在0~255的范围内,即能 够寻址256个端口。例如: IN AL,60H ;60H端口中的内容送至AL 间接寻址:必须通过DX间接寻址,这种方式能够寻址的 端口号范围为0~65535,共计64K个端口。例如: MOV DX,0360H;0360H端口中的内容送至AL IN AL,DX 注:有关方括号的地址表达,必须遵循下列规则: 1)立即数可以出现在方括号内,表示直接地址。 例如: [2000H] 2)只有BX、BP、SI和DI可以出现在方括号以内,它们可 以单独出现,可以组合或以寄存器和常数相加的形式出 现,但BX和BP、SI和DI不允许出现在同一个方括号内。 3)方括号有相加的含义,下面的几种写法都是等价的。 6[BX+SI] [BX+6] [SI] [BX+SI+6] 4)若方括号内含有BP,则隐含使用SS提供段地址。 常见形式:DISP[BP+SI] DISP[BP+DI] 20PA=SS × 16+EA DISP[BP] 4.2 8086指令系统 数据传送类指令 算术运算类指令 逻辑运算类指令 串操作类指令 控制转移类指令 处理器控制类指令 4.2.1 数据传送类指令(不影响标志) 一、通用数据传送指令 1 MOV DST,SRC 4.2.2 算术运算类指令 一、加法指令 1 ADD DST,SRC ; SRC+DST → DST 2 ADC DST,SRC ; SRC+ DST+CF→ DST 说明: 1) 目的操作数可以是寄存器、存储单元; 源操作数可以是寄存器、存储单元及立即数; 不能同时为存储单元。 2)对标志位CF、OF、PF、SF、ZF、AF 有影响 。 3 INC DST ; DST+1 →DST (increment) 说明: 1)此指令完成对指定的操作数加1,然后返回此操作数; 2)它影响的标志位为AF,OF,PF,SF,ZF,而对进位CF没有影响; 3)该指令只有一个操作数,如果内存单元的内容增1,则程序中必须有说明该存储单元是字或字节的符号或说明语句。 例:计算56AB7809H+23905DF2H=? 分析:加法要分两次进行,先进行低两个字节相加,然后再做高两个字 节的相加,此时必须考虑前两个字节相加后的进位。假设被加数和加数 分别存放在以DADA1和DATA2为首地址的存储区,和存放在以DATA3为首地 址的存储区。 MOV AX, DATA1 ;低16位的被加数送累加器AX ADD AX, DATA2 ;低16位的被加数与加数相加 MOV DATA3,AX ;低16位相加的和送存 MOV AX,DATA1+2 ;高16位的被加数送累加器AX ADC AX,DATA2+2 ;高16位的被加数与加数相加 MOV DATA3+2,AX ;高16位相加的和送存 二、减法指令 1 SUB DST,SRC ; DST - SRC →DST 同ADD 2 SBB DST,SRC ; (Subtract with borrow) 带借位减 主要用于多字节相减同ADC 3 DEC DST; DST-1 → DST (Decrement) 对指定的操作数减1,操作数可以是寄存器,也可以是内存单元;影响AF.OF.PF.SF和ZF但不影响CF;同样对存储单元说明是字或字节的操作。 4 NEG DST ;(Negate) 对操作数取补,即用0减操作数,把结果送回操作数,求补指令不同于补码的求法,若DST为正数,求补后可得绝对值相等的负数(补码);若DST为负数(补码),求补可得绝对值相等的正数。 5 CMP DST,SRC ; DST - SRC (Compare) 比较指令完成两个操作数相减,使结果反映在标志位上,但并不送回结果;

文档评论(0)

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

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

1亿VIP精品文档

相关文档