欢迎来到天天文库
浏览记录
ID:49932316
大小:805.00 KB
页数:150页
时间:2020-03-04
《微机原理与接口技术课件岳爱菊 ISBN9787811349429PPT第5章 指令系统与寻址方式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章指令系统与寻址方式5.1指令格式及操作数类型5.2寻址方式5.3Intel8086的指令系统1【重点难点】1.8086操作数寻址方式;2.堆栈和子程序调用;3.转移指令和循环结构。本章以8086/8088CPU为例介绍80x86微型计算机的指令系统。包括指令的基本格式、指令的寻址方式和各类指令的功能。25.1指令格式及操作数类型5.1.1指令格式指令是指示计算机完成特定操作的命令。指令系统是计算机能够执行全部命令的集合,它取决于计算机的硬件设计。指令系统因机而异,没有通用性。微型计算机的指令由操作码(OP)和操
2、作数两部分组成,如图5.1所示。操作码部分决定指令的操作类型,告诉计算机这条指令是让它做什么,比如加法、取数等;操作数部分可以是指令所需的操作数,也可以是操作数的地址或关于操作数地址的其他信息。3指令在机器中用若干位二进制数表示。8086/8088指令为1~6个字节。第1个字节和第2个字节(部分位)表示操作码,其余为操作数。操作数不同的指令有所区别,通常一条指令包含一个或两个操作数,前者称为单操作数指令,后者称为双操作数指令。双操作数分别称为源操作数(SRC)和目的操作数(DST)。图5.1指令格式45.1.2操作数类
3、型8086/8088系统中操作数有三种可能的存放位置,分别称为三种类型的操作数:立即数、寄存器操作数和存储器操作数。1.立即数。作为指令代码的一部分出现在指令中,可以用数值,也可以用有确定值的表达式,通常作为源操作数使用。计算机取指令时就把操作数读出来了,执行时无需再去访问内存取操作数,得到操作数的速度快。52.寄存器操作数。把操作数放在寄存器中,即用微处理器中的寄存器存放源操作数或目的操作数。有的指令给出寄存器名字,而有的指令则隐含在某个通用寄存器中。因寄存器在微处理器中,执行指令时也无需访问内存就可以获取操作数。3
4、.存储器操作数。把操作数存放在存储器的某个单元中,执行指令时如需操作数,计算机必须按20位的物理地址去访问内存取得操作数。20位物理地址=段基址×16+偏移量偏移量也叫逻辑地址或有效地址其中的段基址由由段寄存器给出,而存放操作数单元的偏移量由寻址方式计算得到。65.2寻址方式计算机可以对存储器、寄存器中的数据进行各种操作,如取数、存数、加运算、减运算等,这就需要找到数据的存放地址,再对其中的数据执行相应的操作,最后将运算结果送往指定的地址单元或寄存器。寻址方式就是寻找指令操作数所在地址的方式,以确定数据的来源和去处。寻
5、址方式越多,灵活性就越大,使用时越方便。熟练地掌握寻址方式对学习指令系统和汇编语言程序设计具有重要作用。下面对三种操作数对应的寻址方式分别介绍,如不指明均指源操作数寻址。75.2.1立即数寻址方式此方式中指令操作数部分直接给出指令的操作数,它与指令操作码相接,顺序存放在代码段中。立即数有8位和16位之分。[例5.1]MOVAH,36H;立即数36H送CPU寄存器AHCS:IP机器码指令0100:0000B436MOVAH,036h图5.28位立即数寻址图5.316位立即数寻址8该指令为两字节指令,指令逻辑地址为0100
6、:0000,其中B4为操作码,说明指令的功能,36为源操作数,目的操作数AH隐含在操作码中,即将指令中所含操作数36H送寄存器AH,所需8位源操作数在指令代码中,CPU在取得指令后即取到了操作数,不需要访问主存。指令执行后AH内容为36H,目的操作数AH为寄存器器寻址,如图5.2所示。在debug调试状态下单步执行后CPU状态如下:AX=3600BX=0000CX=0000DX=0000SP=FFFEBP=0000SI=0000DI=0000DS=0100ES=0100SS=0100CS=0100IP=0002NVUP
7、EIPLNZNAPONC可见,指令执行后,AX寄存器高字节AH更新为36H。9[例5.2]MOVAX,1234H;立即数1234H送CPU寄存器AXCS:IP机器码指令0100:0002BB3412MOVBX,01234h该指令为三字节指令,指令逻辑地址为0100:0002,其中BB为操作码,说明指令的功能,3412为源操作数,分别为源操作数据的低字节和高字节,如图5.3所示,目的操作数BX隐含在操作码BB中,即将指令中操作码下16位字数据1234H送寄存器BX,因为16位源操作数在指令代码中,CPU在取得指令后即取到
8、了操作数,不需要访问主存。目的操作数BX为寄存器器寻址,指令执行后BX寄存器内容更新为1234H。10单步执行后CPU状态如下:AX=3600BX=1234CX=0000DX=0000SP=FFFEBP=0000SI=0000DI=0000DS=0100ES=0100SS=0100CS=0100IP=0005NVUPEIPLNZN
此文档下载收益归作者所有