指令系统
指令系统 格式:操作码+地址码 操作码:用于指明改指令所要完成的操作。 扩展操作码技术:使操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下有效的缩短指令字长。 地址码:用来指出该指令源操作数的地址,结果的地址或是下一条指令的地址。 指令字长取决于操作码的长度,操作数地址的长度和操作数地址的个数。 操作数的类型: 1.地址 2.数字 3.字符 4.逻辑数据 操作类型 1.数据传送 2.数据逻辑单元 3.移位 4.转移 5.输入输出 6.其他
寻址方式 1.指令寻址 顺序寻址通过程序计数器PC+1自动形成下一条指令的地址,跳跃寻址则通过转移类指令实现。 2.数据寻址 1)立即寻址:操作数本身就在指令字内,即形式地址A不是操作数地址而是操作数本身,A的位数限制了立即数的范围; 2)直接寻址:指令字的形式地址A就是操作数的真实地址EA,A的位数限制了操作数的寻址范围; 3)隐含寻址:指令字中不明显地给出操作数的地址,其操作数的地址隐含在操作码或某个寄存器中,有利于缩短指令字长; 4)间接寻址:不直接指出操作数的地址,而是指出操作数有效地址所在的储存单元地址,扩大了操作数范围,便于编程,单访存多次; 5)寄存器寻址:地址码字段直接指出存有操作数的寄存器编号; 6)寄存器间接寻址:地址码字段直接指出存有操作数所在内存单元地址的寄存器编号; 7)基址寻址:操作数有效地址EA等于指令中的形式地址与机制寄存器中的内容相加,EA=A+(BR),可以扩大寻址范围,多用于多道程序; 8)变址寻址:有效地址等于指令中的形式地址A与变址寄存器IX相加,EA=A+IX. 与基址寻址区别:基址地址BR有os或管理系统确定,不可变,而变址中IX由用户确定,可变,常用于处理数组问题; 9)相对寻址:有效地址是程序计数器PC的内容与指令字中的形式地址A相加而成,EA=PC+A,常用于转移指令,有利于浮动编程。 10)堆栈寻址。