欢迎来到天天文库
浏览记录
ID:51594953
大小:527.50 KB
页数:91页
时间:2020-03-25
《微型计算机原理与汇编语言 第4章 80x86指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教学内容本章重点介绍8086指令格式和寻址方式,包括操作数的寻址方式和转移地址的寻址方式;然后介绍8086指令系统,包括数据传送、算术运算、位操作、串操作、控制转移以及处理器控制等六大类指令。具体内容如下:1、8086/8088指令格式2、8086/8088指令系统的寻址方式3、8086/8088指令系统第4章80x86指令系统学习要求指令系统是程序员编写程序的基础,因此很好地掌握本章内容是后续进一步学习汇编语言程序设计的关键。通过本章学习,应该达到如下要求:1、了解8086/8088指令格式。2、熟练掌握8086/8088的寻址方式。3、掌握8086/8088指令系统中的各种指令的名
2、称、功能及对操作数寻址方式的约定。第4章80x86指令系统4.18086/8088指令系统4.1.18086/8088指令格式4.1.28086/8088指令系统的寻址方式4.1.38086/8088指令系统计算机是通过执行指令序列来完成用户的特定任务的,因此每种计算机都有一组指令集供用户使用。这组指令集就称为计算机的指令系统。指令系统中的每一条指令都对应着微处理器要完成的一种规定的操作,这在设计微处理器时就事先规定好了,所以指令系统是表征一台计算机性能的重要因素,它的格式与规模将直接影响到机器的硬件结构。指令系统是程序员编写程序的基础,因此很好地掌握指令系统的有关知识是后续进一步学习
3、的关键。4.18086/8088指令系统用汇编语言编写的汇编语言程序输入计算机后,必须由“汇编程序”将它翻译成由机器指令(指令码)组成的机器语言程序,才能由计算机识别并执行。因此汇编语言程序需由汇编程序翻译成可执行的机器语言程序,一般来说,这一过程不必由人来干预。我们这里只介绍一下基本原理,以便在必要时也可以手工完成类似的工作。4.1.18086/8088指令格式一般来说指令是由两部分组成,即操作码和操作数。在指令中操作码是不可缺少的,但操作数可以没有,也可以有一个操作数或两个操作数。操作码操作数用来描述该指令的操作对象给出该指令应完成何种操作根据操作数的个数,指令格式可分为以下几种:
4、1.零操作数指令指令格式中没有操作数或操作数是隐含约定的。2.一操作数指令指令格式中有一个操作数,或还有一个隐含的操作数(实际上是双操作数)。3.二操作数指令指令中有两个操作数,其中一个为目的操作数,另一个为源操作数。由此可见,操作数可分为源操作数和目的操作数。源操作数:只能读取的操作数。目的操作数:即可读取又可写入(存放操作结果)的操作数。操作数又可分为两大类:数据操作数和地址操作数。一条指令中的信息按其含义分成若干个信息段,每一信息段占一个字节或多个字节,且按一定的顺序排列,这便于CPU解释执行。以8086/8088指令编码格式为例,它采用1~6个字节的变字长指令格式:其指令由1~
5、6个字节组成,它包括操作码(第一字节)、寻址方式(第二字节)和操作数(第三到第六字节)三部分组成。opcodeopcodeMod字节opcodeMod字节opcodeMod字节opcodeMod字节opcodeMod字节Data/dispdisp(低)Data/disp(低)Data/disp(高)disp(高)disp(低)disp(高)DataData(低)Data(高)操作码部分寻址方式部分操作数部分disp(低)/Data(低)disp(高)/Data(高)Data(低)Data(高)modregr/mWDOP765432100172目的操作数源操作数源操作数目的操作数D=1D
6、=0000001010011100101110111ALCLDLBLAHCHDHBHAXCXDXBXSPBPSIDIregW=0W=1寄存器寻址BX+SI+disp8BX+DI+disp8BP+SI+disp8BP+DI+disp8SI+disp8DI+disp8BP+disp8BX+disp8BX+SI+disp16BX+DI+disp16BP+SI+disp16BP+DI+disp16SI+disp16DI+disp16BP+disp16BX+disp16BX+SIBX+DIBP+SIBP+DISIDI直接地址BX000001010011100101110111ALCLDLBLAH
7、CHDHBHAXCXDXBXSPBPSIDIW=0W=1寄存器寻址mod=11modr/m存储器地址有效地址的计算公式mod=00mod=01mod=10双操作数指令中各字段定义例4.1写出下面指令的机器语言编码。MOV[BX+DI-6H],CL指令码为:88H、49H、FAHOPCODEDWmodr/mregdisp8100010010010010011111010例4.2写出下面指令的机器语言编码。ADDAX,[BX+DI+0826H]00
此文档下载收益归作者所有