微机原理课件第3单元.ppt

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

5.1 8086指令的寻址方式 5.2 8086指令系统 * * 指令:微处理器提供的某一种基本操作功能。 (*)进行什么操作(操作码) (*)对什么进行操作(操作数或操作数的来源) 操作后的结果数据可以存放到某个原来的操作数位置 指令系统: 计算机提供所有的指令的集合。 (*)指令系统随CPU的不同而不同 机器语言:采用二进制的机器码表示指令、数据和指令数据的地址等信息的00000101 汇编语言:采用助记符表示的程序设计语言。汇编语言源程序是机器语言程序的符号表示。(编译器处理) MOV AX,O3H 汇编语言指令的格式:标号:指令助记符 操作数 ;注释 例如: LINE1: INC CX ;计数器加一 ADD AX, BX DAA (*)标号的命名规则 (*)指令助记符不可缺省 (*)操作数在不同的情况下可以有2个,1个或者是没有 (*)注释必须以分号开头,注释不生成目标代码 (*)四个部分可以用制表符隔开。 寻址方式:指令中给出操作数的方式 操作数的寻址,例如 MOV AX,[1234H] 指令的寻址, 例如 JUMP LAB 操作数的来源: ①指令代码中直接给出。 MOV AX,1200H ②存放在寄存器中。 MOV AX,BX ③存放在指定的存储单元中。 MOV AX,[3456H] 1、立即寻址: 操作数直接包含在指令中,在操作码之后。, (*)不必执行总线周期访问存储器,故称之为立即数。 (*)立即数可以是一个8位或16位数。 例如: MOV AL, 80H MOV AX, 1090H (*)立即数寻址方式只能用于源操作数,不能用于目的操作数。 错误:MOV 1200,AX (*)一条指令中源操作数和目的操作数可能有不同的寻址方式 2、寄存器寻址:操作数包含在CPU内的某个寄存器中,指令中直接给出该寄存器名, 16位:AX,BX,CX,DX, SI, DI, SP,BP 8位:AL,BL,CL, DL,AH,BH,CH,DH 例如:INC CX MOV AX, BX 以下介绍的几个寻址方式将针对存储器操作数而言的。若操作数在存储器中,一般位于数据段、堆栈段或附加段中,这时指令中给出的是操作数所在单元的地址(EA)或产生EA的计算方式。显然执行这类指令时: ①CPU首先要计算出有效地址EA(EA是一个不带符号的16位数) ②再由总线接口部件BIU计算出物理地址 ③再执行总线周期按该物理地址访问存储器并取出操作数送给EU,由EU具体执行该指令。 3、直接寻址:操作数在存储器中的16位有效地址由指令直接给出。 例如: MOV AX, [1070H] MOV AL, [1070H] (*)要用方括号括起地址以免与立即数寻址混淆 (*)默认是从数据段取数,如果不是数据段则要在前面加段跨越 前缀 例如:MOV BX, [2000H] MOV BX, ES:[2000H] 4、间接寻址 (4A)寄存器间接寻址:操作数的有效地址在指令中指定的某个寄存 器中。 例如:MOV AX, [BX] (*)可用的寄存器只有四个BX,BP,SI,DI 错误:MOV AX,[DX] (*)如果间址寄存器为BP则默认为是堆栈段,如果间址寄存器为 BX,SI,DI则默认为是数据段。 (*)在一条指令中,不能同时有两个存储器操作数 (避免指令过长)。错误:MOV [BX],[1200H] (4B)寄存器相对间接寻址: 有效地址EA等于指令所指示的寄存器中 的内容再加上指令中给定的8/16位的位移量。 例如: MOV AX, [SI+100] MOV AX, [SI]+100 MOV AX, 100[SI] (*)寄存器相对寻址有以上三种写法 (*)寄存器相对寻址可以用来寻址一维表中的数据 (4C)基址变址寻址: 基址变址寻址是操作数的有效地址EA由指令 指定的一个基址寄存器(BX或BP)和一个变址寄 存器(SI或D1)内容之和。 例如: MOV AX, [BX][DI] MOV AX ,[BX+DI] (*)基址变址寻址可以用来寻址二维表中的数据 (*)要注意只能是基址和变址的组合而不能用两个基址或两个变址的组合 错误:M

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档