4.1 机器指令
计算机系统的CPU能够直接识别并且执行的操作命令。
处理器能够执行的所有的机器指令构成的集合,称为指令集,或称为指令系统。
CISC:指令系统庞大;采用了大量使用频率很低的复杂指令而造成硬件资源浪费,不易调试维护。
RISC:指令条数少;指令长度固定,易于调试;指令执行过程访问存储器(访存)的次数少。
指令系统的性能要求
完备性:完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。
有效性:有效性是指利用该指令系统所编写的程序能够高效率地运行。
规整性:规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。
兼容性:基本软件在各种机器上是可以通用的。
一、指令的一般格式
1. 操作码:反映机器做什么操作
(1)长度固定
用于指令字长较长的情况
(2) 长度可变
操作码分散在指令字的不同字段中
(3) 扩展操作码技术
操作码的位数随地址数的减少而增加
扩展操作码技术是一种指令优化技术,即让操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同的操作码长度。
2. 地址码
(1) 四地址
(2) 三地址
(3) 二地址
(4) 一地址
(5) 零地址 无地址码
二、指令字长
指令字长决定于
操作码的长度
操作数地址的长度
操作数地址的个数
1. 指令字长 固定
指令集中所有指令的长度都一样
指令字长 = 存储字长
2. 指令字长 可变
指令集中的指令的长度有多种。
指令字长按字节的倍数变化
4.2 操作数类型
一、操作数类型
地址 无符号整数
数字 定点数 浮点数 十进制数
字符 ASCII码
逻辑数 逻辑运算
二、数据在存储器中的存放方式
数据 12345678H 的存放方式
4.3 寻址方式
寻址方式
确定 本条指令 的 操作数地址 或 下一条 欲执行 指令 的 指令地址
寻址方式即如何找到指令或数据的地址。
一、指令寻址
顺序:( PC ) + 1 ==> PC
跳跃:由转移指令给出下一条待执行指令的地址。
二、数据寻址
有效地址(EA):操作数的真实地址
由形式地址和寻址方式经过转换得到
指令字长 = 存储字长 = 机器字长
1. 立即寻址
形式地址 A 就是操作数
指令执行阶段不访存
A 的位数限制了立即数的范围
2. 直接寻址
EA = A 有效地址由形式地址直接给出
执行阶段访问一次存储器
A 的位数决定了该指令操作数的寻址范围
操作数的地址不易修改(必须修改A)
3. 隐含寻址
操作数地址隐含在操作码中
如 8086
MOVS 指令 源操作数的地址隐含在 SI(源变址寄存器)中
目的操作数的地址隐含在DI(目的变址寄存器)中
指令字中少了一个地址字段,可缩短指令字长
4. 间接寻址
EA =(A) 有效地址由形式地址间接提供 多次访存
执行指令阶段 2 次访存
可扩大寻址范围
便于编制程序