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

[工学]第4章80x86指令系统1.ppt

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

4.1.1 8086/8088指令格式 计算机是通过执行指令来处理各种数据的,因此,一条指令即要指出如何处理数据,同时还应指出数据的来源、操作结果的去向。一般来说指令是由操作码、寻址方式、操作数组成。 在指令中操作码是不可缺少的,但操作数可以没有,也可以有一个操作数或两个操作数。 根据操作数的个数,指令格式可分为以下几种: 1. 零操作数指令 指令格式中没有操作数或操作数是隐含约定的。 2. 一操作数指令 指令格式中有一个操作数,或还有一个隐含的操作数(实际上是双操作数)。 3. 二操作数指令 指令中有两个操作数,其中一个为目的操作数,另一个为源操作数。 由此可见,操作数可分为源操作数和目的操作数。 源操作数:只能读取的操作数。 目的操作数:即可读取又可写入(存放操作结果)的操作数。 ADD AX,BX SUB AX,[BX] 操作数又可分为两大类:数据操作数和地址操作数。 1.数据操作数 这类操作数是与数据有关的操作数,即指令中要操作的对象是数据。数据操作数又可分为立即数操作数、寄存器操作数、存储器操作数和I/O操作数。 2. 地址操作数 这类操作数是与程序转移地址有关的操作数,即指令中要操作的对象不是数据,而是要转移的目的地址。 地址操作数也可分为立即数操作数、寄存器操作数和存储器操作数,即要转移的目的地址包含在指令中,或存放在寄存器中,或存放在存储器单元之中。 一条指令中的信息按其含义分成若干个信息段,每一信息段占一个字节或多个字节,且按一定的顺序排列,这便于CPU解释执行。如8086/8088CPU的指令系统,它采用1~6个指令字节的变字长指令格式: 8086/8088 指令(编码)格式 80X86CPU指令系统采用变字长的指令格式,不可能用一个简单的规则来描述指令编码格式。通常指令中包含操作码和操作数两部分。操作码表示计算机执行什么操作,操作数可能指明了参与操作的数的本身,或规定了操作数的地址。如何寻找操作数,这就是指令的寻址方式,也是由指令编码格式指出。 8086/8088指令编码由1~6个字节组成,它包括操作码(第一字节)、寻址方式(第二字节)和操作数(第三到第六字节)三部分组成。 例:写出下面指令的机器语言编码。 MOV AH,[BX+DI+50H] 4.1.2 8086/8088的寻址方式 所谓寻址方式就是寻找操作数存放地址(位置)的方法。在8086/8088系统中操作数存放的位置用以下4种: ⑴ 操作数包含在指令字节中。即指令格式中操作数部分就是操作数本身。这种操作数叫立即数操作数。 ⑵ 操作数存放在CPU的某个内部寄存器中。这种操作数叫寄存器操作数。 ⑶ 操作数在内存的数据区中。这种操作数叫存储器操作数。 (4) I/O操作数 ---操作数来源于I/O端口。 在8086/8088系统中,操作数又可分为两大类:数据操作数和地址操作数。因此,寻址方式也分为数据寻址方式和地址寻址方式两大类。 1. 数据的寻址方式 1)立即数寻址方式 例如:MOV AL, 80H MOV AX, 1234H 2)寄存器寻址方式 例如:MOV AX, CX 3)存储器寻址方式 存储器寻址方式的操作数存放在存储器单元中。因此,要存取操作数就必须知道其存储器的单元地址。在指令中可以直接给出或间接给出操作数的地址,以达到存取操作数的目的。 指令中给出的地址只是操作数的有效地址(EA),并且是放在方括号(“[ ]”)中。若要从存储器中存取操作数还须得到实际的地址(物理地址)。物理地址=段基址左移四位+有效地址 3)存储器寻址方式 ⑴直接寻址方式 MOV AL, [1064],设当前(DS)=2000H 3)存储器寻址方式——⑵ 寄存器间接寻址 设当前(DS)=3000H, (SI)=2000H, (BX)=1000H MOV AX, [SI] 3)存储器寻址方式——⑶ 寄存器相对寻址 MOV CL, [BX+1064H] 3)存储器寻址方式——⑷ 基址加变址寻址方式 MOV AH, [BP][SI] 3)存储器寻址方式——⑸ 基址加变址相对寻址 MOV [BX+DI+1234H], AH 4)I/O端口寻址方式 ⑴ 直接端口寻址方式 IN AL, 21H 4)I/O端口寻址方式——⑵ 间接端口寻址方式 OUT DX, AL 2.地址的寻址方式 地址的寻址方式其时是程序转移地址的寻址方式,也就是找出程序转移的地址号,而不是操作数。 转移地址可以在段内,也可以跨段转移(称段间转移)。寻求转移地址的方法有以下四种: 1)段内直接寻址 转移的地址是当前IP内容和指令规定的8位或16位位移量之和

文档评论(0)

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

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

1亿VIP精品文档

相关文档