微型计算机原理与汇编语言 第4章 80x86指令系统.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:91 大小:1.1MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微型计算机原理与汇编语言 第4章 80x86指令系统.ppt

微型计算机原理与汇编语言第4章80x86指令系统.ppt

预览

免费试读已结束,剩余 81 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

教学内容学习要求第4章80x86指令系统计算机是通过执行指令序列来完成用户的特定任务的,因此每种计算机都有一组指令集供用户使用。这组指令集就称为计算机的指令系统。指令系统中的每一条指令都对应着微处理器要完成的一种规定的操作,这在设计微处理器时就事先规定好了,所以指令系统是表征一台计算机性能的重要因素,它的格式与规模将直接影响到机器的硬件结构。指令系统是程序员编写程序的基础,因此很好地掌握指令系统的有关知识是后续进一步学习的关键。用汇编语言编写的汇编语言程序输入计算机后,必须由“汇编程序”将它翻译成由机器指令(指令码)组成的机器语言程序,才能由计算机识别并执行。因此汇编语言程序需由汇编程序翻译成可执行的机器语言程序,一般来说,这一过程不必由人来干预。我们这里只介绍一下基本原理,以便在必要时也可以手工完成类似的工作。一般来说指令是由两部分组成,即操作码和操作数。在指令中操作码是不可缺少的,但操作数可以没有,也可以有一个操作数或两个操作数。根据操作数的个数,指令格式可分为以下几种:1.零操作数指令指令格式中没有操作数或操作数是隐含约定的。2.一操作数指令指令格式中有一个操作数,或还有一个隐含的操作数(实际上是双操作数)。3.二操作数指令指令中有两个操作数,其中一个为目的操作数,另一个为源操作数。由此可见,操作数可分为源操作数和目的操作数。源操作数:只能读取的操作数。目的操作数:即可读取又可写入(存放操作结果)的操作数。操作数又可分为两大类:数据操作数和地址操作数。一条指令中的信息按其含义分成若干个信息段,每一信息段占一个字节或多个字节,且按一定的顺序排列,这便于CPU解释执行。以8086/8088指令编码格式为例,它采用1~6个字节的变字长指令格式:opcodedisp(低)/Data(低)例4.1写出下面指令的机器语言编码。MOV[BX+DI-6H],CL4.1.28086/8088指令系统的寻址方式所谓寻址方式就是寻找操作数存放地址(位置)的方法。在8086/8088系统中操作数存放的位置有以下4种:⑴操作数包含在指令字节中。即指令格式中操作数部分就是操作数本身。这种操作数叫立即数操作数。⑵操作数存放在CPU的某个内部寄存器中。这种操作数叫寄存器操作数。⑶操作数在内存的数据区中。这种操作数叫存储器操作数。⑷操作数来自或送到I/O端口。这种操作数叫I/O操作数。在8086/8088系统中,操作数又可分为两大类:数据操作数和地址操作数。因此,寻址方式也分为数据寻址方式和地址寻址方式两大类。数据的寻址方式1)立即数寻址方式例如:MOVAL,80HMOVAX,1234HAL3)存储器寻址方式存储器寻址方式的操作数存放在存储器单元中。因此,要存取操作数就必须知道其存储器的单元地址。在指令中可以直接给出或间接给出操作数的地址,以达到存取操作数的目的。指令中给出的地址只是操作数的有效地址(EA),并且是放在方括号(“[]”)中。若要从存储器中存取操作数还须得到实际的地址(物理地址)。物理地址=段地址左移四位+有效地址有效地址可以由以下三种地址分量组成:●位移量:它是存放在指令中的一个8位或16位的数。●基址:它是存放在基址寄存器BX或BP中的内容。●变址:它是存放在变址寄存器SI或DI中的内容。对于某条具体指令,这三个地址分量可有不同的组合。正是因为这三种地址分量有不同的组合,才使得对存储器操作数的寻址产生了若干种不同的方式。⑴直接寻址方式MOVAL,[1064]50⑶寄存器相对寻址MOVCL,[BX+1064H]⑷基址加变址寻址方式MOVAH,[BP][SI]⑸基址加变址相对寻址MOV[BX+DI+1234H],AH存储器寻址方式小结五.举例4)I/O端口寻址方式⑴直接端口寻址方式INAL,21H⑵间接端口寻址方式OUTDX,AL2.地址的寻址方式地址的寻址方式其实是程序转移地址的寻址方式,也就是找出程序转移的目的地址。转移地址可以在段内(称段内转移),也可以跨段(称段间转移)。寻求转移地址的方法有以下四种:1)段内直接寻址转移的地址是当前IP内容和指令规定的8位或16位位移量之和。当位移量是8位时,称为短程转移;位移量是16位时称为近程转移。这种寻址方式适用于条件转移或无条件转移类指令。但条件转移只有8位位移量的短程转移。2)段内间接寻址方式程序转移的地址存放在寄存器或存储器单元中。指令执行时,用寄存器或存储器单元的内容来更新IP的内容。3)段间直接寻址方式这种寻址方式是指令码中直接给出16位的段地址和16位的偏移地址用来更新当前的CS和IP内容。4)段间间接寻址方式这种寻址方式是由指令码的寻址方式字