1.对于一般的双操作数运算类指令来说,除去操作码之外,指令还应包含第一操作数地址,第二操作数地址,操作结果保存地址,下一条指令保存地址。
2.PC用于存放指令地址,每执行一条指令,PC就自动加1。
3.执行一条三地址指令,至少需要访问四次主存。取指令;取第一操作数;取第二操作数;保存运算结果。二地址指令,同样至少需要访问四次主存。一地址指令,只需访问两次主存。第一次取指令本身,第二次取第二操作数(第一操作数与运算结果都放在累加寄存器中)。零地址指令,访问主存次数受堆栈类型影响。如果是软堆栈,则需要访问4次内存;如果是硬堆栈,则需要访问1次内存。
4.用一组专门的寄存器构成的寄存器堆栈称为硬堆栈。这种堆栈的栈顶是固定的(所以不必设置栈顶指针),各个寄存器是相互连接的。k个寄存器最多只能压入k个数据。从主存中划出一段区域来作为堆栈,这称为软堆栈。需要一个专门的硬件寄存器作为堆栈栈定指针(SP),软堆栈又分为2种:自底向上生成堆栈(向低地址方向生成),自顶向下生成堆栈(向高地址方向生成)。进栈:先修改栈指针,再将数据压入栈中。出栈:先弹出栈顶元素,再修改栈指针。
5.指令基本格式为:操作码+地址码
6.操作码分为规整型(定长编码)与非规整型(变长编码),变长编码中,不允许短码是长码的前缀,即短码不能与长码开始部分的代码相同。
7.基本的数据寻址方式:立即寻址,寄存器寻址,直接寻址,间接寻址,寄存器间接寻址,变址寻址(用于数组,字符串;面向用户),基址寻址(面向系统),相对寻址(PC;多道程序设计),页面寻址。
8.MOV指令可以实现寄存器与寄存器之间,寄存器与主存单元之间的数据传输,也可以立即将立即数传送到寄存器。(必须有一个是寄存器)
9.PUSH可以分别将寄存器,主存,段寄存器,状态标志寄存器和全部寄存器的内容嚯立即数压入到堆栈中。
10.CMP指令的功能仅设置相应的标志位。
11.指令系统也称指令集。
12.简化地址结构的基本方法是尽量利用隐地址
13.采用跳跃寻址方式可以实现程序的无条件转移和条件转移
15.RISC(精简指令系统计算机):指令条数一般小于100条,指令字长固定,只有Load与Store可以访问主存(有利于实现指令流水线),绝大多数指令在在一个周期内完成,通用寄存器数量比较多,绝大多数为组合逻辑控制(CISC为微程序控制),必须实现指令流水线。