首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指令集编码

指令集编码
EN

Stack Overflow用户
提问于 2014-01-27 09:25:13
回答 1查看 373关注 0票数 0

我正在尝试解决这个练习:

您将为具有32个寄存器(R0-R31)的处理器编码指令集。算术逻辑指令的形式如下:

代码语言:javascript
复制
Ri<-Rj op Rk

并且有22比特可用于它们的编码。

读写说明的形式如下:

代码语言:javascript
复制
Ri<-memory[Rj+offset] (i,j = 0...31)
Ri->memory[Rj+offset] (i,j = 0...31)

并且有30比特可用于它们的编码。

i)你能编码多少条算术逻辑指令?ii)计算偏移量的最大长度。

我试着寻找解决方案,找了几个小时,但什么也没找到。任何帮助都是很棒的!

EN

回答 1

Stack Overflow用户

发布于 2014-02-21 20:30:30

如果您的ISA中有32个寄存器,那么您就知道每个寄存器说明符占用了多少空间(每个寄存器说明符5位)。剩余的位可用于指定特定类型的指令(“操作码”)和立即数(在ld/st指令的情况下为“偏移”)。

寄存器/寄存器指令需要3个说明符,所以这是15位。剩余的位可以全部用于指定指令的类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21371577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档