第3章 8086指令系统和汇编语言程序设计.pptVIP

第3章 8086指令系统和汇编语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 8086指令系统和汇编语言程序设计

微机原理及应用;第3章 8086指令系统与汇编语言程序设计;3.1 8086的寻址方式; 寻址方式是指指令中直接或间接确定操作数的方式。在8086的指令系统中,操作数的形式可以分为四种: (1)立即数:直接在指令中给出操作数的值。 (2)寄存器操作数:操作数的内容在某个寄存器中。 (3)存储器操作数:操作数的内容在存储单元中。 (4)端口操作数:操作数的内容在I/O端口中。 由于有多种形式的操作数,所以在指令中有多种多样的寻址方式。;3.1.1 立即寻址方式 ;3.1.2 寄存器寻址方式 ;3.1.3 有关存储器操作数的寻址方式 ;1.直接寻址 指令中直接提供操作数偏移地址的寻址方式。只有偏移地址还不能唯一确定具体的存储单元,还必需要指明段地址。 对于直接寻址方式,段地址的确定分两种情况: (1)默认在数据段中,段地址由DS的值提供; 如:MOV AL,[20H] 20H为偏移地址,段地址在DS中。 (2)若不采用默认段地址,可以加段前缀。 如:MOV AL,ES:[20H] 20H为偏移地址,段地址在ES中。;2.寄存器间接寻址 操作数的偏移地址由某个寄存器提供的寻址方式。可用来提供偏移地址的寄存器只能是:BX、SI、DI、BP。 如:MOV AL,[BX] BX的值为操作数所在内存单元的偏移地址。 有关段地址的确定仍然分两种情况: (1)采用默认段地址:若偏移地址由BX或SI或DI提供,则默认在数据段,段地址由DS的值提供。若偏移地址由BP提供,则默认在堆栈段,段地址由SS的值提供; (2)若不采用默认段地址,则可以加段前缀。 如:MOV AL,ES:[SI];3.寄存器相对寻址 操作数的偏移地址由某个寄存器的值加上一个位移量提供的寻址方式。位移量可正可负,绝对值不能超过216。可以使用的寄存器只能是:BX、SI、DI、BP。 有关段地址的确定与寄存器间接寻址相同。 如:MOV AL,[BX+10H] BX的值加上10H为操作数所在内存单元的偏移地址。 如:MOV AL,[BP-20H] BP的值减去20H为操作数所在内存单元的偏移地址。 如:MOV AL,ES:[DI+2];4.基址变址寻址 操作数的偏移地址由某个基址寄存器的值加上某个变址寄存器的值提供的寻址方式。 基址???存器为:BX、BP; 变址寄存器为:SI、DI。 如:MOV AL,[BX+SI] BX的值加上SI的值为操作数所在内存单元的偏移地址。 如:MOV AL,[BP+SI] BP的值加上SI的值为操作数所在内存单元的偏移地址。; 有关段地址的确定仍然分两种情况: (1)采用默认段地址:若无BP参与寻址,则默认在数据段,段地址由DS的值提供。若有BP参与寻址,则默认在堆栈段,段地址由SS的值提供; 如:MOV AL,[BX+DI] ;默认为数据段 MOV AL,[BP+SI] ;默认为堆栈段 (2)若不采用默认段地址,则可以加段前缀。 如:MOV AL,ES:[BX+SI];5.基址变址相对寻址 操作数的偏移地址由某个基址寄存器的值加上某个变址寄存器的值加上一个位移量提供的寻址方式。位移量可正可负,绝对值不能超过216。 有关段地址的确定与基址变址寻址相同。 如:MOV AL,[BX+SI+15] BX的值加上SI的值加上15为操作数所在内存单元的偏移地址。 如:MOV AL,[BP+SI-20] BP的值加上SI的值减去20为操作数所在内存单元的偏移地址。;6.堆栈寻址 操作数存放在堆栈的寻址方式称堆栈寻址。堆栈寻址主要针对于堆栈操作指令中对操作数的确定。 堆栈寻址的操作数只能位于堆栈段,其段地址由SS提供。 如:PUSH AX 将AX的值压入堆栈中。在这条指令中AX为源操作数,属于寄存器寻址,隐含的目的操作数为堆栈寻址。 如:POP BX 将堆栈栈顶的内容弹出到BX中。在这条指令中BX为目的操作数,属于寄存器寻址,隐含的源操作数为堆栈寻址。;3.1.4 I/O端口寻址 ;3.2 8086的指令系统 ;8086的指令格式;3.2.1 数据传送指令(14条);1.通用数据传送指令(4条) (1)MOV指令 格式:MOV dst,src (注:dst表示目的操作数,src表示源操作数) 操作:dst←src

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档