微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统

微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统

ID:40245967

大小:2.05 MB

页数:67页

时间:2019-07-28

微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统_第1页
微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统_第2页
微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统_第3页
微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统_第4页
微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统_第5页
资源描述:

《微机原理、汇编语言与接口技术 唐瑞庭 第04章 指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章指令系统本章首先介绍计算机的指令格式,叙述基本寻址方式和扩展寻址方式,对第一代微处理器CISC基本指令集归类列表、详细讲解,并佐以实例,最后简要介绍80x86扩展指令、多媒体SIMD指令集以及RISC和CRISC指令。4.1指令格式和寻址方式4.2CISC基本指令集4.3扩展指令集4.4RISC指令集与CRISC指令4.1指令格式和寻址方式4.1.1指令格式4.1.2基本寻址方式4.1.3扩展寻址方式4.1.1指令格式一条指令是一个有意义的二进制代码序列,它是机器语言的一个语句,其基本格式为

2、:操作码字段OP地址码字段A——操作码表明了指令的功能及操作, ——地址码又称操作数字段,指明了参与操作运算的操作数地址。1.指令操作码指令系统中每条指令都有唯一确定的操作码。操作码的位数越多,所能表达的操作种类就越多。(1)规整型操作码字段的长度和位置固定,又称定长编码,编码最简单。 ◆定长编码多用在大中型计算机上,如IBM370机指令操作码都为8bit(位)。RISC指令集采用定长编码。 ◆定长编码有利于简化硬件设计、减少指令译码时间; 但往往造成资源浪费(冗余)。(2)非规整型非规整型操作码

3、的长度不定,且分散在指令字的不同位置上,因此又称变长编码。 变长编码广泛用在小型、微型计算机上,如PDP小型机。CISC指令集是非规整型编码。1.指令操作码(续)扩展操作码法:灵活充分利用指令的各个字段,在不增加指令长度的情况下,扩展操作码能表示更多的指令。80x86微处理器采用扩展操作码法。变长编码增加指令译码的难度,控制器的设计较复杂。2.指令地址码每条指令必须包括CPU执行所需的全部信息。 对双操作数指令,除了操作码OP(Operate)外,还必须包含:第一源操作数地址A1(Address1

4、)、第二源操作数地址A2、操作结果的存放地址A3,以及下条指令在内存中的存放地址A4。程序计数器PC(Programcounter)来指向要执行指令的地址,现代计算机地址码字段有四种结构:三地址、双地址、单地址和零地址。三地址指令格式:OPA1A2A3;操作为:[A1]OP[A2]→A3, PC+1→PC(隐含)三地址指令在小型、微型计算机中很少使用。双地址指令格式:OPA1A2;操作为:[A1]OP[A2]→A1,PC+1→PC(隐含)执行前,A1和A2中各存放一个源操作数,执行后结果存放到A1

5、中,A1中原先的源操作数被冲掉。因此[A2]称源操作数,[A1]称目标操作数(又称目的操作数)。2.指令地址码(续)单地址指令格式:OPA1;操作为:[A1]OPREG(隐含)→REG,PC+1→PC(隐含)单地址指令中只显式地出现一个操作数地址,另一个操作数默认约定、隐含在一个寄存器(如累加器A)中;或者该指令只是单目运算,只需要一个操作数:OP[A1]→A1。零地址指令格式:OP;对0、1或2个隐含操作数执行OP操作,PC自动加1零地址指令没有操作数地址,操作码指明该指令所执行的操作,该操作或

6、者不需要操作数,或者其操作数隐含在寄存器中、由地址指针指向的堆栈或存储单元中。2.指令地址码(续)随着VLSI技术的发展,CPU内集成了较多的通用寄存器,用来暂存操作数或中间结果,大大减少访问存储器的次数,提高了计算机处理速度; ◆比起存储单元,通用寄存器数量有限,只要用很少几个bit就可表示, 存储量很小; ◆二地址R—R(两个寄存器操作数)或R---M(一个寄存器操作数、一个 存储器操作数)地址方式因此在微机中地址码字段大量使用。3.80x86指令格式80x86微机属CISC(复杂指令集计算机

7、),其指令系统采用变长指令。CISC基本指令集的一条指令长度最短1个字节,最长6个字节。 指令中总是用第一个字节表示操作码,第一个字节的最末两位有时还表示操作数的源/目标、字节/字等属性。第二字节描述指令操作数的寻址方式,或者表示扩展操作码。 描述寻址方式时该字节分三段: ▲末三位(D2D1D0)是R/M字段,表示指令中的一个操作数是寄存器 (Register)还是存储器(Memory)操作数以及存储器操作数的寻址方式; ▲中间三位(D5D4D3)是R字段,表示另一个寄存器操作数,三位可表 示8个

8、通用寄存器; ▲头两位(D7D6)是方式字段,表示R/M字段是寄存器还是存储器操作数(及其 偏移量的大小)。3.80x86指令格式(续)第三、四字节表示基址或变址寻址中的偏移量。一个字节表示8位、两个字节表示16位偏移量。第五、六字节表示立即寻址中的立即数。一个字节表示8位、两个字节表示16位立即数。80x86指令系统在8086/8088基本集基础上不断扩展,并保持向上兼容。随着寻址空间的扩大,地址码字段不断加长,32位的80486指令长度为1~12个字节。指令在存储器中连续存放,

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

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

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