通俗些来说,我们设计计算机,就是来执行指令。
指令系统就是一台计算机能直接理解与执行的全部指令的集合称为该计算机的指令系统,也叫机器语言。
需要注意的是,不同的类型的cpu指令系统是不能混用与兼容的。
典型的指令格式
操作码 OP——指明操作性质的命令码,提供指令的操作控制信息。
操作对象——说明操作数存放的地址,有时则就是操作数本身。
微机中常使用变长操作码,在不增加指令字长度的情况下可表示更多的指令,但增加了译码和分析难度,需更多硬件支持
操作数个数的类型
零地址指令,也叫无操作数指令。例:空操作NOP、停机HLT
一地址指令 , 例:递增,移位,取反,INC AX,NOT BX
二地址指令, 例:[A1]+[A2]→[A1],[A2]为源地址,[A1]为目的地址。
三地址指令,例: [A1]+[A2]→[A3],其中[A1]、[A2]为源地址,[A3]为目的地址,操作后源地址内容不变,仅被拷贝。
例:在边界对齐的32位(4B)字长的计算机中,存放和访问存储器数据时,可按字、半字、字节或双字的方式进行。
“双字”地址为8的整数倍,最低3位:000
“字”地址为4的整数倍,最低两位:00
“半字”地址为2的整数倍,最低位:0
寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令的地址的方式,与硬件结构密切相关,分为指令寻址和数据寻址两大类。
指令寻址分为顺序寻址和跳跃寻址两种。
顺序寻址:可以通过程序计数器PC加1自动形成下一条指令的地址。
跳跃寻址:通过转移类指令实现,是通过对PC的运算得到新的下一条指令的地址。
数据寻址方式:是指寻找操作数地址或操作数的方式。即规定如何对地址字段作出解释以找到操作数。
形式地址:指令中地址码给出的地址,用A表示。
有效地址:形式地址经过某种运算而得到的能直接访问主存中操作数的地址,记做EA,是寻址方式和形式地址共同来决定的。