x86指令系统和寻址方式.ppt

x86指令系统和寻址方式.ppt

ID:52064127

大小:3.00 MB

页数:96页

时间:2020-03-31

x86指令系统和寻址方式.ppt_第1页
x86指令系统和寻址方式.ppt_第2页
x86指令系统和寻址方式.ppt_第3页
x86指令系统和寻址方式.ppt_第4页
x86指令系统和寻址方式.ppt_第5页
资源描述:

《x86指令系统和寻址方式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章80x86指令系统和寻址方式1.指令和指令系统指令是指计算机进行某种操作的命令。指令系统是指令的集合。助记符是指用英文字母规定的指令符号3.1概述2.指令的组成由操作码和操作数组成。指令的一般格式如下:操作码[操作数],[操作数]操作码又称指令码,是指指令要进行的是什么样的操作。操作数是指参加本指令运算的数据。操作数可以是一个,也可以是两个,还可以没有操作数或隐含操作数。操作数分为三类:立即数操作数、寄存器操作数和存储器操作数。(1)立即数操作数立即数是指具有固定数值的操作数。操作数跟随指令操

2、作码一起存放在指令区,故又称为指令区操作数。(2)寄存器操作数操作数事先存放在某寄存器中(CPU的通用寄存器、专用寄存器或段寄存器)。(3)存储器操作数操作数存放在存储器中,知道存储器的地址即可寻到操作数。3.指令的表示方法指令用一组二进制编码来表示,计算机根据二进制代码去完成所需的操作。常用助记符与操作数来表示指令。寻址方式是指如何求出操作数有效地址的方法。寻址操作是指计算机按照指令给出的寻址方式求出操作数有效地址的过程。根据操作数的类型及来源大致分为三类:数据寻址、转移地址寻址、I/O寻址。3.

3、28086/8088寻址方式7种基本的数据寻址方式(1)立即寻址(2)寄存器寻址(3)直接寻址(4)寄存器间接寻址(5)寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址1.立即寻址操作数直接包含在指令中。跟在操作码的后面,与操作码一起放在代码段区域中。例如:MOVAX,3000H立即数可以是8位的,也可以是16位的。若是16位的,则存储时低位在前,高位在后。立即寻址主要用来给寄存器或存储器赋初值。2.直接寻址操作数地址的16位偏移量直接包含在指令中。它与操作码—起存放在代码段区域例如:MOVA

4、X,DS:[2000H];00偏移量低字节20偏移量高字节这种寻址方法是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。MOVAX,[2000H];数据段MOVBX,ES:[3000H];段超越,操作数在附加段即绝对地址=(ES)×16+3000H3.寄存器寻址寄存器寻址是指操作数存放在寄存器中。对于16位操作数,寄存器可以是:AX,BX,CX,DX,SI,DI,SP,BP,CS,DS,SS,ES;对8位操作数,寄存器可以

5、是:AH,AL,BH,BL,CH,CL,DH,DL。例如:MOVDS,AXMOVAL,BH特点:(1)操作数在寄存器中,寄存器在CPU内部,指令执行时,操作就在CPU的内部进行,不需要访问存储器来取得操作数,因而执行速度快。(2)寄存器符号比内存地址短,汇编后机器码长度最短。(3)寄存器寻址方式既可用于源操作数,也可用于目标操作数,还可以两者都用寄存器寻址方式。4.寄存器间接寻址操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄存器SI,DI,BP,BX之一中。可以分成两种情况:(1

6、)以SI,DI,BX间接寻址,则通常操作数在现行数据段区域中,即数据段寄存器(DS)×16加上SI,DI,BX中的16位偏移量,为操作数的地址例如:MOVAX,[SI]操作数地址是:(DS)×16+(SI)00偏移量低字节20偏移量高字节(2)寄存器BP间接寻址,则操作数在堆栈段区域中。即堆栈段寄存器(SS)×16与BP的内容相加作为操作数的地址例如:MOVAX,[BP]操作数地址是:(SS)×16+(BP)若在指令中规定是段超越的,则BP的内容也可以与其他的段寄存器相加,形成操作数地址。例如:MO

7、VAX,DS:[BP]操作数地址是:(DS)×16+(BP)5.寄存器相对寻址(变址寻址)由指定的寄存器内容,加上指令中给出的8位或16位偏移量作为操作数的偏移地址。可以作为寄存器变址寻址的四个寄存器是SI,DI,BX,BP。(1)若用SI,DI和BX作为变址,则与数据段寄存器相加,形成操作数的地址即默认在数据段;(2)若用BP变址,则与堆栈段寄存器相加,形成操作数的地址即默认在堆栈段。例如:MOVAX,COUNT[SI];操作数地址是:(DS)×16+(SI)+COUNT6.基址变址寻址把BX和B

8、P看成是基址寄存器,把SI,DI看着是变址寄存器,把一个基址寄存器的内容加上一个变址寄存器的内容,再加上指令中指定的8位或16位偏移量作为操作数的偏移地址操作数在存储器中,其偏移地址由(基址寄存器(变址寄存器)+相对偏移量形成。例如:MOVAX,[BX][SI]或MOVAX,[BX+SI]也可放置一个相对偏移量,如COUNT,MASK等,用于表示相对寻址。MOVAX,MASK[BX][SI]MOVBH,COUNT[DI][BP];MOVBH,COUNT[BP+DI]若

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

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

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