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

第3章8086的寻址方式和指令系统.doc

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

第3章 8086的寻址方式和指令系统 【课前思考】   (1) 什么是指令和指令系统?指令在什么时候由哪部分来执行?   (2) 8086汇编语言指令由几部分组成?各部分的作用是什么?   (3) 8086汇编语言指令可以有几个操作数?指令中指定的操作数可能存放在哪里?   (4) 什么是寻址方式?8086汇编语言提供了几种寻址方式?   (5) 各种寻址方式所确定的有效地址是什么?   (6) 在存储器寻址方式中,为什么有时候要使用段跨越前缀?   (7) 8086机器语言指令由哪几个字节组成?为什么说汇编语言指令与机器指令是一一对应的?   (8) 8086的指令系统按功能可分为几组?   (9) 每条指令的功能、助记符、所支持的寻址方式、对标志位的影响、需要预置的参数以及隐含使用的或限定使用的寄存器等。   【学习目标】   熟练掌握8086各种寻址方式;熟悉8086常用指令的功能   【学习指南】   学习寻址方式时,要注意各种寻址方式所指定的操作数或操作数地址是什么;各种寻址方式形成操作数地址时,段寄存器和基址、变址寄存器的组合;各种寻址方式限定使用的寄存器。 学习指令系统时,要注意每条指令的功能,所支持的寻址方式、对标志位的影响、需要预置的参数以及隐含使用的或限定使用的寄存器等。   【难重点】   重点理解8086常用指令的功能,熟悉8086的各种寻址方式,这是进行汇编语言程序设计的基础。   【知识点】   3.1 寻址方式       3.3 指令系统          第一节 8086的寻址方式 指令的一般格式:          例如,单操作数指令就是一地址指令,它只需要指定一个操作数,如加1指令只需要指出需要加1 的操作数。大多数运算型指令可使用三地址指令:除给出参加运算的两个操作数外,还指出运算结果的存放地址。也可使用二地址指令,此时分别称两个操作数为源操作数(source)和目的操作数(destination)。尽管在指令执行前这两个操作数都是输入操作数,但指令执行后将把运算结果存放到目的操作数的地址之中。8086的大多数运算型指令就采用这种二地址指令。 3.1.1 与数据有关的寻址方式   此类寻址方式用来确定操作数地址从而找到操作数。   操作数寻址方式的讨论均以MOV destination, source为例,这是一条数据传送指令,第一操作数为目的操作数destination,第二操作数为源操作数source,指令执行的结果是把source送到destination中去。   3.1.1.1 立即寻址方式      (Immediate addressing)   操作数直接存放在指令中,紧跟在操作码之后,它作为指令的一部分存放在代码段里,这种操作数称为立即数,如下图所示。                立即数可以是8位的或16位的。如果是16 位数,则高位字节存放在高地址中,低位字节存放在低地址中,如果是32 位数,则高位字在高地址中,低位字在低地址中。   立即寻址方式常用于给寄存器赋初值,并且只能用于源操作数字段,不能用于目的操作数字段。 例3.1  MOV AL, 9          指令执行后,(AL)= 09H   例3.2  MOV AX, 3064H          指令执行后,(AX)= 3064H          图3.1表示了它的执行情况,图中指令存放在代码段中,OP表示该指令的操作码部分,3064H为立即数,它是指令的一个组成部分。 图3.1 例3.2 的执行情况         注意:不能直接给段寄存器和标志寄存器赋予立即数。      显然,下面的指令是错误的:      MOV DS, 1250H 3.1.1.2 寄存器寻址方式(Register addressing)   它使用寄存器来存放要处理的操作数,寄存器号由指令指定,如下图所示。          对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、ES和SS;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。由于操作数就在寄存器中,指令执行时不需要访问存储器,因此这是一种快速的寻址方式。   除上述两种寻址方式外,下面五种寻址方式的操作数都在除代码段以外的存储区中。   这里先引入有效地址EA(Effective Address)的概念:在8086里,把操作数的偏移地址称为有效地址,下面五种计算EA的方法体现了五种寻址方式。 例3.3   MOV  AX, BX           如指令执行前(AX)= 1234H,(BX)= 5678H;           则指令执行后(AX)= 56

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档