组成原理——指令格式(操作码)

操作码

  • 指令的操作码OP表示该指令应进行什么性质的操作,如进行加、减、乘、除、取数、存数等等。
  • 组成操作码字段的位数一般取决于计算机指令系统的规模。
定长操作码指令格式

操作码的长度固定
在定长操作码格式下若操作码长度为K位,最多只能有 2 k 2^k 2k条不同指令。
●优点:指令规整,译码简单
●缺点:信息的冗余极大,使程序的总长度增加

扩展操作码指令格式

即操作码的长度可变,且分散地放在指令字的不同字段中。通常是在指令字中用一一个固定长度的字段来表示基本操作码,而对于一部分不需要某 个地址码的指令,把它们的操作码扩充到该地址码字段。

  • 可变长度
  • 其中一种扩展方式
    在这里插入图片描述
  • 假设指令字长为16位:前4位为基本操作码字段OP,另有3个4位长的地址字段A1、A2和A3。
  • 若4位基本操作码若全部用于三地址指令,则有16条。
  • 若1111留作扩展操作码之用,(即识别到前四位为1111的时候,知道要往下继续判断它那哪些为操作码,哪些为地址码)此时三地址指令为15条;
  • 若将1111 111留作扩展操作码之用,二地址指令为15条;
  • 若将1111 1111 1111留作扩展操作码之用,一地址指 令为15条;
  • 零地址指令为16条。
    在这里插入图片描述
    设计扩展操作码的注意事项:
  • 1)不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。
  • 2)各指令的操作码一定不能重复。
  • 3)通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值