指令(又称机器指令):
是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。
一条指令通常要包括操作码字段和地址码字段两部分:
A1这个地址里面的值 与 A2这个地址里面的值 执行OP操作后,将结果存到A3这个地址中
指令含义:(A1)OP(A2)——>A3,A4=下一条将要执行指令的地址
设指令字长为32位,操作码占8位,4个地址码字段各占6位
设存储字长为32位,即4B
定长指令字结构:指令长度固定 指令字长=存储字长
变长指令字结构:指令长度不等 按字节的倍数变化
定长操作码:n位——>2^n条指令
扩展操作码:操作码长度可变
指令含义:(A1)OP(A2)→A3,A4=下一条将要执行指令的地址
4个地址码字段各占6位,指令操作数直接寻址范围为2^6=64;完成一条指令需要访存4次
指令含义:(A1)OP(A2)→A3
3个地址码字段各占8位,指令操作数直接寻址范围为2^8=256;完成一条指令需要访存4次
指令含义:(A1)OP(A2)→A1
2个地址码字段各占12位,指令操作数直接寻址范围为2^12=4K;完成一条指令需要访存4次
指令含义:
小结:
当用一些硬件资源代替指令字中的地址码字段后
在设计扩展操作码指令格式时,必须注意以下两点:
1)不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。
2)各指令的操作码一定不能重复。
通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。也还有其他扩展操作码设计方法。
操作码指出指令中该指令应该执行什么性质的操作和具有何种功能。
操作码是识别指令、了解指令功能与区分操作数地址内容的组成和使用方法等的关键信息。例如,指出是算术加运算,还是减运算;是程序转移,还是返回操作。
操作码分类: