第5章指令系统
第5章 指令系统
51基本概念 ■指令就是要计算机执行某种操作的命令。 ■指令系统是一台计算机中所有机器指令的集合。 ■系列计算机是指基本指令系统相同,基本体系 结构相同的一系列计算机。系列机能解决软件 兼容问题的必要条件是该系列的各机种有共同 的指令集,而且新推出的机种的指令系统一定 包含旧机种的所有指令,因此在旧机种上运行 的各种软件可以不加任何修改地在新机种上运 行
5.1 基本概念 指令就是要计算机执行某种操作的命令。 指令系统是一台计算机中所有机器指令的集合。 系列计算机是指基本指令系统相同,基本体系 结构相同的一系列计算机。系列机能解决软件 兼容问题的必要条件是该系列的各机种有共同 的指令集,而且新推出的机种的指令系统一定 包含旧机种的所有指令,因此在旧机种上运行 的各种软件可以不加任何修改地在新机种上运 行
52指令格式 ■521指令格式 指令由表示操作性质的操作码和表示操 作对象的地址码两部分组成。即: 作码字段地址码字段
5.2 指令格式 5.2.1 指令格式 指令由表示操作性质的操作码和表示操 作对象的地址码两部分组成。即: 操作码字段 地址码字段
■操作码指出指令中该指令应该执行什么 性质的操作和具有何种功能。 ■地址码指出该操作数所在的存储器地址 或寄存器地址。 ■根据指令中的操作数地址码的数目的不 同,可将指令分成零地址指令、一地址 指令、二地址指令、三地址指令和多地 址指令等多种格式
操作码指出指令中该指令应该执行什么 性质的操作和具有何种功能。 地址码指出该操作数所在的存储器地址 或寄存器地址。 根据指令中的操作数地址码的数目的不 同,可将指令分成零地址指令、一地址 指令、二地址指令、三地址指令和多地 址指令等多种格式
a(1)琴地址指令格式OP 指令中只给出操作码,没有显地址 这种指令有两种可能: ①不需要操作数的指令 ②隐含对累加器AC内容进行操作
(1) 零地址指令格式 OP 指令中只给出操作码,没有显地址。 这种指令有两种可能: ①不需要操作数的指令。 ②隐含对累加器AC内容进行操作
(2)一地址指令格式:OPA其功 能:OP(A)→A或(AC)OP(A1)→AC 地址指令有两种常见的形态,根据操 作码含义确定它究竞是哪一种。 n①只有目的操作数的单操作数指令 ②隐含约定目的地址双操作数指令
(2)一地址指令格式: OP A 其功 能:OP(A)→A 或(AC)OP(A1)→AC 一地址指令有两种常见的形态,根据操 作码含义确定它究竟是哪一种。 ①只有目的操作数的单操作数指令 ②隐含约定目的地址双操作数指令
(3)地址指令格式:OP|AA2其 功能:(A1)OP(A2)→A1 2(4)三地址指令格式:OPA1A2A3 其功能:(Al)OFP(A2)→A3 n(5)多地址指令
(3)二地址指令格式: O P A 1 A 2 其 功能:(A1)OP(A2) →A1 (4)三地址指令格式: OP A1 A2 A3 其功能:(A1)OP(A2) →A3 (5)多地址指令
■在某些性能较好的大、中型机甚至高档小型机 中,往往设置一些功能很强的,用于处理成批 数据的指令,如字符串处理指令,向量、矩阵 运算指令等。为了描述一批数据,指令中需要 多个地址来指出数据存放的首地址、长度和下 标等信息。 ■注意:采用隐地址(隐含约定)可以简化指令地 址结构,即减少指令中的显地址数
在某些性能较好的大、中型机甚至高档小型机 中,往往设置一些功能很强的,用于处理成批 数据的指令,如字符串处理指令,向量、矩阵 运算指令等。为了描述一批数据,指令中需要 多个地址来指出数据存放的首地址、长度和下 标等信息。 注意:采用隐地址(隐含约定)可以简化指令地 址结构,即减少指令中的显地址数
■零地址、一地址和两地址指令具有指令短,执 行速度快,硬件实现简单等特点,多为结构较 简单,字长较短的小型、微型机所采用; ■两地址、三地址和多地址指令具有功能强,便 于编程等特点,多为字长较长的大、中型机所 米用。 n指令的地址是由程序计数器(PC规定的,而数 据的地址是由指令规定的
零地址、一地址和两地址指令具有指令短,执 行速度快,硬件实现简单等特点,多为结构较 简单,字长较短的小型、微型机所采用; 两地址、三地址和多地址指令具有功能强,便 于编程等特点,多为字长较长的大、中型机所 采用。 指令的地址是由程序计数器(PC)规定的,而数 据的地址是由指令规定的
522指令操作码的扩展技术 ■通常在指令字中用一个固定长度的字段来表示 基本操作码,而对于一部分不需要某个地址码 的指令,把它们的操作码扩充到该地址字段, 这样既能充分地利用指令字的各个字段,又能 在不增加指令长度的情况下扩展操作码的长度, 使它能表示更多的指令 见P131例题
5.2.2 指令操作码的扩展技术 通常在指令字中用一个固定长度的字段来表示 基本操作码,而对于一部分不需要某个地址码 的指令,把它们的操作码扩充到该地址字段, 这样既能充分地利用指令字的各个字段,又能 在不增加指令长度的情况下扩展操作码的长度, 使它能表示更多的指令。 见P131例题