微机原理与应用电子课件.ppt

微机原理与应用电子课件.ppt

ID:58793031

大小:939.00 KB

页数:120页

时间:2020-10-03

微机原理与应用电子课件.ppt_第1页
微机原理与应用电子课件.ppt_第2页
微机原理与应用电子课件.ppt_第3页
微机原理与应用电子课件.ppt_第4页
微机原理与应用电子课件.ppt_第5页
资源描述:

《微机原理与应用电子课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章80x86微处理器的指令系统内容提要:本章以8086/8088为例,介绍微型计算机的指令系统,指令格式和基本的寻址方式及有效地址的计算。指令系统包括数据传送指令、算术运算指令、位操作指令、串操作指令、控制转移指令和处理器控制指令。只所以采用8086/8088CPU的指令系统,是因为8086/8088指令系统是所有80X86系列CPU指令系统的基础,80286、80386、80486乃至Pentium等新型CPU的指令系统仅是在这个基础上做了一些补充。用8086/8088指令系统编写的程序可以

2、毫无改动地在80286、80386、80486、Pentium等CPU上运行。学习要求:熟练掌握8086/8088微处理器的指令系统,6种基本寻址方式和各种常用指令。返回主目录本章目录4.1Intelx86的寻址方式4.2Intelx86指令系统小结第4章80x86微处理器的指令系统4.1Intelx86的寻址方式指令的一般格式:计算机中的指令由操作码字段和操作数字段组成。操作码:指计算机所要执行的操作,是一种助记符。操作数:指在指令执行操作的过程中所需要的操作数。分目标操作数、源操作数。该字段除

3、可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。操作码操作数指令举例:寻址方式就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。寻址方式一般是针对源操作数而言的。在8086/8088系统中,一般将寻址方式分为两种不同的类型,一类是寻找操作数的地址,另一类是寻找要执行的下一条指令的地址,即程序的地址。8086/8088的基本寻址方式有六种,下面我们来讨论这六种寻址方式。ADDCL,BH;CL←CL+BH所提供的操作数

4、直接包含在指令中,这种寻址方式就叫立即寻址,这个操作数叫立即数。所谓立即数是指具有固定数值的操作数,即常数。它紧跟在操作码的后面,与操作码一起放在代码段区域中。如图4-1所示。例如:4.1.1立即寻址MOVAX,2345H;AX←2345H立即数若是8位的,可以是无符号数,取值范围是00H-0FFH,也可以是带符号数,取值范围是80H-7FH。立即数若是16位的,可以是无符号数,取值范围是0000H-0FFFFH,也可以是带符号数,取值范围是8000H-7FFFFH。若是16位的,则存储时低位在前

5、,高位在后。在指令中,立即数操作数只能作源操作数,而不能作目的操作数。立即寻址主要用来给寄存器或存储单元赋初值。操作数地址的16位偏移量直接包含在指令中,所以这种寻址方式叫直接寻址。16位偏移量与操作码一起存放在代码段区域,操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位地址偏移量。如图4-2所示。例如:MOVAX,DS:[3000H];AX←(DS:3000H)4.1.2直接寻址设DS=1000H。直接寻址方式如图所示。(对DS来讲可以省略成MOVAX,[3000H],系统默认为

6、数据段)这种寻址方式是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。这种寻址方式允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。此时只要在指令中指明是段超越的,则16位地址偏移量可以与CS或SS或ES相加,作为操作数的地址。MOVAX,[2000H];数据段MOVBX,ES:[3000H];段超越,操作数在附加段即绝对地址=(ES)×16+3000H操作数包含在CPU的内部寄存器中,所以这种寻址方式叫寄存器寻址。它们可以是数据寄存器(8位或16位),也可以是地址指针

7、寄存器、变址寄存器或段寄存器,如寄存器AX、BX、CX、DX、SI等。如图4-3所示。例如:4.1.3寄存器寻址MOVBX,AX;BX←AXMOVAL,BH;AL←BH操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄存器SI、DI、BP、BX之一中,所以这种寻址方式叫寄存器间接寻址。可以分成两种情况:1)以SI、DI、BX间接寻址,则通常操作数在现行数据段区域中,即数据段寄存器(DS)×16(或10H)加上SI、DI、BX中的16位偏移量,为操作数的地址,如图4-4所示。4.1.

8、4寄存器间接寻址例如:MOVAX,[SI];操作数地址是:(DS)×16+(SI)2)以寄存器BP间接寻址,则操作数在堆栈段区域中。即堆栈段寄存器(SS)×16与BP的内容相加作为操作数的地址。例如:MOVAX,[BP];操作数地址是:(SS)×16+(BP)若在指令中规定是段超越的,则BP的内容也可以与其它的段寄存器相加,形成操作数地址。例如:MOVAX,DS:[BP];操作数地址是:(DS)×16+(BP)由指定的寄存器内容,加上指令中给出8位或16位的偏移量(当然要由一个段寄

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。