文档介绍:第四章指令系统
第一节指令格式和指令编码
第二节指令和数据的寻址方式
第三节指令格式设计
第四节指令集
第五节指令系统分类
第一节指令格式和指令编码
指令格式:操作码,地址码
一、操作码
固定长度操作码:便于译码,扩展性差
可变长度操作码:能缩短指令平均长度
二、地址码
零地址指令,如NOP, CLR
一地址指令,如INR R1
二地址指令,如ADD R1, R2
三地址指令,如ADD R1, R2, R3
第一节指令格式和指令编码
三、指令长度
固定长度:取指快、译码简单。
单字长、双字长、多字长
可变长度:可提高编码效率
四、指令助记符
伪指令、累加器,通用寄存器
第二节指令和数据的寻址方式
一、指令的寻址方式
顺序执行:PC寻址
非顺序执行:转移指令
如jump $1000
bgt R1
——条件转移vs无条件转移
——相对转移vs绝对转移
状态寄存器SR:N, Z, V, C, P
二、操作数寻址方式
1. 隐含方式。如ADD A中的累加器
2. 立即数方式。如INT #3
3. 寄存器方式。如INC R1
二、操作数寻址方式(续)
4. 直接寻址。如INC 1000
二、操作数寻址方式(续) 5. 间接寻址。 寄存器间接如INC (R1), 存储器间接如INC (1000)
二、操作数寻址方式(续)6. 相对寻址如INC 8(PC)
二、操作数寻址方式(续) 7. 变址和基址寻址如INC 8(R1)
变址寻址:便于数组访问
基址寻址:可扩大寻址范围,可实现程序浮动
二、操作数寻址方式(续)8. 复合寻址如INC 8(PC+R1)、INC (R1)(1000)