05指令系统.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南理工紫金学院 第5章 指令系统 本章学习内容 指令格式 寻址方式 指令类型及功能 §5.1 机器指令 一、指令与指令系统的基本概念 指令(机器指令):控制计算机执行某种操作的命令。 指令字(指令码):表示一条指令的一串二进制代码。 机器语言:用机器指令设计的编程语言,是计算机硬件实体直接表示控制信息的语言。 机器语言程序:用机器语言编制的程序。任何用其它语言编制的程序,都必须经过 “翻译”,翻译为机器语言程序,才能在机器中正确的运行。 指令系统(指令集):一台计算机所能执行的全部指令的集合。 操作码:指定指令所要完成的操作; 操作数的来源; 结果去向; 下一条指令的地址。 因此,一条指令的基本格式为: 操作码 地址码 三、指令字的长度 1. 定长指令字——指令字长固定 结构简单、便于控制,不易扩展,平均指令长度长。 2. 变长指令字——指令字长可变 指令长度为字节的整数倍,如单字长指令、双字长指令、半字长指令等。 平均指令长度短,易于扩展,但不同指令执行时间不一致,控制比较复杂。 ① 主存:访存时要给出存储器单元地址。 ② CPU寄存器:包括通用寄存器和专用寄存器。 ③ I/O接口寄存器:数据的输入/输出必须与I/O接口寄存器打交道,所以必须给出被访问的I/O端口地址。 ④ 堆栈:寄存器堆栈、存储器堆栈 存储器堆栈:按后进先出原则存取数据的存储单元的集合。 栈底( 固定):第一个压入数据的堆栈单元。 栈顶(浮动):最后压入数据的堆栈单元。用堆栈指针寄存器SP记录栈顶单元的地址。 堆栈的生成方式 自底向上生成堆栈的工作过程 1.四地址指令 四地址指令格式: OP A1 A2 A3 A4 A1:第一源操作数的地址; A2:第二源操作数的地址; A3:存放操作结果的地址; A4:指示下一条要执行指令的地址。 指令功能:(A1)OP(A2)→A3;A4指示下条指令地址。 2.三地址指令 格式: OP A1 A2 A3 A1:第一源操作数的地址; A2:第二源操作数的地址; A3:存放操作结果的地址; 指令功能: (A1)OP(A2)→A3;程序计数器PC指示下条指令地址。 格式为: OP A1 A2 A1、A2:是操作数所在的地址。 指令功能:(A1)OP(A2)→A1 或 (A1)OP(A2)→A2 源地址:仅提供操作数的地址 目的地址:既提供一个操作数,又是存放结果的地址。 二地址指令的几种形式 ① 存储器—存储器型(S—S型)指令 ② 寄存器—寄存器型(R—R型)指令 ③ 寄存器—存储器型(R—S型)指令 4.一地址指令(单地址指令) 格式: OP A A提供操作数的地址。 一地址指令有两种情况: ① 只需一个操作数,其功能为:OP(A)→A ,如INC、DEC、NEG等。 ② 涉及双操作数:另一个操作数通常采用隐含寻址的方法,将操作数隐含在约定的累加器AC中,其指令功能为:(AC)OP(A)→AC。 5.零地址指令 格式: OP 零地址指令有两种情况: ① 不需操作数的控制型指令,如HLT、WAIT、NOP等。 ② 堆栈支持的零地址指令:操作数隐含在堆栈中,其地址隐含在SP中。如RET(过程返回)、IRET(中断返回)。 1. 定长编码:所有指令的操作码长度相同。指令译码简单,易于硬件设计。 2. 可变长编码:不同指令的操作码长度可以不同,通常采用扩展操作码技术。 扩展操作码技术:当指令长度一定时,将操作数地址多的指令选择短的操作码,操作数地址少的指令选择较长操作码。从而在不增加指令长度的情况下扩展操作码长度,使其能表示更多的指令。 例:设某机的指令长度为16位。操作码为4位,具有三个地址字段,每个地址字段长为4位。要求有15条三地址指令,15条二地址指令, 15条一地址指令和16条零地址指令。 §5.2 寻址方式 一、寻址的基本概念 寻址方式 操作数的寻址方式: 指令的寻址方式: 有效地址EA: 形式地址: 操作数寻址就是按一定的寻址方式由形式地址得到有效地址。 1、立即寻址 指令字中的地址码部分直接给出操作数。 DATA = A 例如:MOV AX, 1000H 操作数在指令字中,取指令时即取出操作数,不必访存取操作数 2、直接寻址 地址码部分直接给出操作数在内存中的有效地址EA。 EA = A DATA = (EA) = (A) 例如:MOV AX, [1000H] 无需计算EA,执行指令时,需一次访存取操作数 指令字中的地址码部分给出的是操作数地址的地址或是指示操作数地址的地址指示字。 EA

文档评论(0)

younaifcg + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档