- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 指令系统 6.1 指令格式 6.2 寻址方式 6.3 指令类型 6.4 指令系统的设计技术 6.5 指令系统举例 6.6 指令系统的发展 课堂练习 本章小结 作业 6.1 指令格式 一、指令的基本格式 二、指令格式分类 三、操作数类型 一、指令的基本格式 指令是由操作码和地址码两部分组成的: 二、指令格式分类 1、按照操作码分类 2、按照地址码分类 3、按照指令字长分类 1、按照操作码分类 操作码长度固定:将操作码集中放在指令字的一个字段内。 这种格式便于硬件设计,指令译码时间短,广泛应用于字长较长的、大中型计算机和超级小型计算机以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX-11系列机,操作码长度均为8位。 操作码长度不固定:指令操作码分散在指令字的不同字段中。 这种格式可有效地压缩操作码的平均长度,在字长较短的微机中被广泛采用。如PDP-11,Intel8086/80386等。 2、按照地址码分类 (1)三地址指令: (A1)OP(A2)→A3 2、按照地址码分类 (4)零地址指令 不涉及操作数:如NOP、HLT指令 操作数隐含:如PUSH、POP指令 对于寄存器类型的操作数,地址A指寄存器编号。 3、按照指令字长分类 按指令长度固定与否可以分为: 固定指令字长的指令:所有指令的字长均相等,一般等于机器字长。 可变指令字长的指令:指令字长不固定,通常取字节的整数倍。 按照指令字长与机器字长的关系分类: 短格式指令:指令字长小于或等于机器字长。 长格式指令:指令字长大于机器字长。 一个机器的指令系统中,短格式指令和长格式指令可以并存,通常将最常用的指令设计成短格式指令,可以节省存储空间、提高指令的执行速度。 三、操作数类型 按照指令处理的操作数存放位置分: 存储器类型:操作数存放在主存中,A为其地址信息 寄存器类型:操作数存放在CPU的通用寄存器中,A为寄存器号 立即数类型:操作数存放在指令(地址字段)中 按照指令处理的操作数性质分: 地址(addresses):存储器地址,是无符号整数。 数字(numbers):整数、浮点数、十进制数。 字符(characters) 逻辑数据:真假两种状态 Pentium指令系统所支持的数据类型 Pentium浮点部件所支持的数据类型 6.2 寻址方式 一、指令寻址 二、数据寻址 一、指令寻址 1、 顺序寻址方式 控制器中使用程序计数器PC来指示指令在内存中的地址。在程序顺序执行时,指令的地址码由PC自加1得出。 指令在内存中按顺序存放,当顺序执行一段程序时,根据PC从存储器取出当前指令, PC自动+1,然后执行这条指令;接着又根据PC指示从存储器取出下一条指令, PC自动+1, 执行……。 2、跳跃寻址方式 当程序执行转移指令时,程序不再顺序执行,而是跳转到另一个地址去执行,此时,由该条转移指令的地址码字段可以得到新指令地址,然后将其置入PC中。 二、数据寻址 1、立即寻址(Immediate Addressing) 2、直接寻址(Direct Addressing) 3、间接寻址( Indirect Addressing ) 4、寄存器寻址方式 ( Register Addressing ) 5、寄存器间接寻址方式 ( Register Indirect Addressing ) 6、变址寻址(Indexed Addressing) 7、基址寻址 ( Based Addressing ) 8、相对寻址 ( Relative Addressing ) 9、堆栈寻址 ( Stack Addressing ) 1、立即寻址(Immediate Addressing) 操作数在指令的地址码字段,即: DATA=A 例如: MOV AL, 5 MOV AX, 3064H MOV AL, ‘A’ 2.直接寻址(Direct Addressing) 操作数位于存储器中,操作数所在的存储器单元的地址存放在指令的地址字段A中,即: DATA=(EA) EA=A 3、间接寻址( Indirect Addressing ) 操作数位于存储器中,操作数所在的存储器单元地址也存放在存储器中,该存储器地址则存放在指令的地址字段中,即: DATA=(EA) EA=(A) 即:A为操作数地址的地址 4、寄存器寻址方式 ( Register Addressing ) 操作数位于寄存器中,操作数所在的寄存器编号存放在指令的地址字段A中,即: DATA=(Ri) MOV AX, BX MOV AL, BH 5、寄存器间接寻址方式 ( Register Indirect Addressing ) 操作数位于存储器中,操作数所
文档评论(0)