各种指令字的结构情况 个字长 一个字长 一个字长 一个字长 地址 地址 地址 地址 指令 I指令指令 指令1 指令1 I+1 H+指令 H+1指令指令 指令2 H+2指令 2 H2指令指令 指令2 I+4 指令3 I+3指令 H+3指令指令 I+6 单字长指令双字长指令 半字长指令 变字长指令 计算机组成原理
计算机组成原理 26 各种指令字的结构情况 地址 I I+1 I+2 I+3 指 令 指 令 指 令 指 令 ┆ 一个字长 ┆ ┆ 指 令 指 令 指 令 指 令 地址 I I+1 I+2 I+3 一个字长 指 令 指 令 指 令 指 令 ┆ 地址 I I+1 I+2 I+3 指令1 指令2 一个字长 ┆ 单字长指令 双字长指令 半字长指令 变字长指令 指令3 一个字长 地址 I I+1 I+2 I+3 I+4 I+5 I+6 指令1 指令2 ┆
4.指令助记符 由于硬件只能识别1和0,所以采用二进制操作码是必要的, 但是我们用二进制来书写程序却非常麻烦。 为了便于书写和阅读程序,每条指令通常用3个或4个英文 缩写字母来表示。这种缩写码叫做指令助记符。 典型的指令助记符 典型指令 指令助记符 二进制操作码 加法 ADD 001 减法 SUB 010 传送 MOV 011 跳转 JMP 100 转子 ISR 101 存储 STR 110 读数 LDA 111 计算机组成原理
计算机组成原理 27 4.指令助记符 由于硬件只能识别1和0,所以采用二进制操作码是必要的, 但是我们用二进制来书写程序却非常麻烦。 为了便于书写和阅读程序,每条指令通常用3个或4个英文 缩写字母来表示。这种缩写码叫做指令助记符。 典 型 指 令 指令助记符 二进制操作码 加 法 ADD 001 减 法 SUB 010 传 送 MOV 011 跳 转 JMP 100 转 子 JSR 101 存 储 STR 110 读 数 LDA 111 典型的指令助记符
5.指令格式举例 八位微型计算机的指令格式 8位微型机字长只有8位,指念结构 种可变字长形式, 包含单字长、双 字长指苓等多种。 单字长指令 操作码 双字长指令 操作码操作数地址 三字长指令 操作码操作数地址1操作数地址2 内存按字节编址,所以单字长指令每执行一条指令后, 指令地址加1。双字长指令或三字长指令每执行一条指令时, 指令地址要加2或加3,可见多字长的指令格式不利于提高机 器速度。 计算机组成原理
计算机组成原理 28 5.指令格式举例 八位微型计算机的指令格式 8位微型机字长只有8位,指令结构是一种可变字长形式, 包含单字长、双字长、三字长指令等多种。 单字长指令 操作码 双字长指令 操作码 操作数地址 三字长指令 操作码 操作数地址1 操作数地址2 内存按字节编址,所以单字长指令每执行一条指令后, 指令地址加1。双字长指令或三字长指令每执行一条指令时, 指令地址要加2或加3,可见多字长的指令格式不利于提高机 器速度
PDP/11系列机指令格式 PDP/1l系列机指令字长16位,其指令格式如下表所示。 指令位 指令类型 1514131211109876543210 单操作数指令 操作码(10位) 目标地址(6位) 双操作数指令操作码(4位) 源地址(6位) 目标地址(6位) 转移指令 操作码(8位) 位移量(8位) 转子指令 操作码(7位) 寄存器号 子程序返回指令 操作码(13位) 条件码操作指令 操作码(11位) 在PDP/1中,操作码字段是不固定的,其长度也是不相 同的。这样做可以扩展操作码以包含较多的指令。但是操作 码字段不固定,对控制器的设计来说必将复杂化。 计算机组成原理
计算机组成原理 29 PDP/11系列机指令格式 PDP/11系列机指令字长16位,其指令格式如下表所示。 在PDP/11中,操作码字段是不固定的,其长度也是不相 同的。这样做可以扩展操作码以包含较多的指令。但是操作 码字段不固定,对控制器的设计来说必将复杂化
Pentium指令格式 0或1 0或1 0或1 0或1(字节数) 指令前缀段取代操作数长度取代地址长度取代 (a)前缀 字节数) 1或20或1 0或1 0,1,2 操作码 Mod RegER/M比例S变址I基址B位移量立即数 2位3位 3位2位3位3位 (b)指令 Mod-RM字段:规定了存储器操作数的寻址方式,给出了寄存 器操作数的存器地址号。 SIB字段:和Mod-R/M字段一起,对操作数来源进行完整的说 明 计算机组成原理
计算机组成原理 30 Pentium指令格式 0或1 0或1 0或1 0或1 (字节数) 指令前缀 段取代 操作数长度取代 地址长度取代 Mod-R/M字段:规定了存储器操作数的寻址方式,给出了寄存 器操作数的存器地址号。 SIB字段:和Mod-R/M字段一起,对操作数来源进行完整的说 明。 (a) 前缀 1或2 0或1 0或1 0,1,2,4 0,1,2,4 操作码 Mod Reg或 操作码 R/M 比例S 变址I 基址B 位移量 立即数 2位 3位 3位 2位 3位 3位 (字节数) (b) 指令