OP: 指令的操作码OP表示该指令应进行什么性质的操作,如进行加、减、乘、除、取数、存数等等。
An: (A1)表示A1所指向的地址中的内容(指针所指位置的内容)
1.四地址指令 | OP | A1 | A2 | A3 | A4 |
解释: 指令含义:(A1)OP(A2)->A3,
A4=下一条将要执行指令的地址
完成一条指令需要访存4次,取指->读A1->读A2->写A3 正常情况下:取指令之后PC+1,指向下一条指令四地址指令:执行指令后,将PC的值修改位A4所指地址(跳着执行指令)
2.三地址指令 | OP | A1 | A2 | A3 |
解释:常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:(A1)OP(A2)->A3
完成一条指令需要访存4次,取指->读A1->读A2->写A3
3.二地址指令 | OP | A1 | A2 |
常用于需要两个操作数的算术运算、逻辑运算相关指令
指令含义:(A1)OP(A2)->A1
完成一条指令需要访存4次,取指->读A1->读A2->写A2
4.一地址指令 | OP | A1 |
只需要单操作数,如加1、减1、取反、求补等
指令含义:OP(A1)->A1, 完成一条指令需要3次访存:取指->读A1->写A1
需要两个操作数,但其中一个操作数隐含在某个寄存器中(如隐含在ACC)
指令含义:(ACC)OP(A1)->ACC 完成一条指定需要2次访存:取指->读A1
定长操作码
定长操作码:在指令字的最高位部分分配固定的若干位(定长)表示操作码。
-一般n为操作码字段的指令系统最大能够表示2^{n}条指令
定长操作码
优点:计算机的硬件设计简里,指令译码和执行的速度快。
缺点:当指令数量增多、指令学单独为操作码划分出固定的多位后,留给表示操作数 地址的位数就会严重不足。
适用环境:适用于字长较长的计算机系统,如32位或32位以上。
变长操作码
优点:在比较短的指令字中,既能表示出比较多的指令条数又能尽量满足操作数地址 的要求。
缺点:计算机的硬件设计复杂,指令译码和执行速度较慢;
适用环境:适用于字长较短的计算机系统,如16位或16位以下。
扩展操作码
(不定长操作码):全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置上。
留下1111作为扩展窗口与后四位组成一个8位操作码字段;
留下1111作为扩展窗口与后四位组成一个12位的操作码字段;
留下1111作为扩展窗口与后四位组成一个16位的操作码字段;
注意:操作码编码的时候,短码不能是长码的前缀;扩展窗口可以留下多个。
例题1:
解答:
例题2.
A1,A2,A3 和 A4 都进行了一个访存 故一共访存4次
例题3.
例题4.
例题5.
例题6.
例题7.