打印
[RISC-V MCU 应用开发]

RISC指令能不能直接处理立即数呢?

[复制链接]
1815|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2022-6-16 09:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RISC是定长的,这样看来似乎RISC指令就不能包含立即数了啊。一个32位的处理器,数据、地址、指令、寄存器和存储单元这些都是32位的吧,那么32位指令还怎么装得下32位立即数、32位地址码呢?好纠结啊!

使用特权

评论回复
沙发
吾要单片机| | 2022-6-16 12:11 | 只看该作者
不能直接处理32位立即数,只能处理12位立即数。

使用特权

评论回复
板凳
xinxianshi| | 2022-6-16 18:54 | 只看该作者
直接C语言操作,就不讲究这底层了。

使用特权

评论回复
地板
icecut| | 2022-6-16 19:28 | 只看该作者
两条指令. 一条处理一半

使用特权

评论回复
5
desertsailor| | 2022-6-16 21:16 | 只看该作者
简单立即数可以通过移位的方法压缩在32位指令里;通用的32位立即数通过文字池加载,多一条LD加载指令

使用特权

评论回复
6
fxyc87| | 2022-6-17 08:58 | 只看该作者
ARM不也是这样,也不能处理大的立即数,只有51指令后边可以跟上立即数。

使用特权

评论回复
7
吾要单片机| | 2022-6-17 12:08 | 只看该作者
酷能指令集就可以携带32位立即数。

使用特权

评论回复
8
lzmm| | 2022-7-4 15:59 | 只看该作者
不能的。   

使用特权

评论回复
9
uiint| | 2022-7-5 16:08 | 只看该作者
查看一下汇编指令吧。   

使用特权

评论回复
10
fentianyou| | 2022-7-5 18:42 | 只看该作者
汇编语言吗  

使用特权

评论回复
11
maqianqu| | 2022-7-5 21:55 | 只看该作者
这个不知道。   

使用特权

评论回复
12
haohao96| | 2022-7-11 08:53 | 只看该作者
采用两条指令来完成32位数据的加载,一条加载其中的12个BIT,另一条加载其余剩余的20BIT,耗费两个时钟周期。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

655

主题

2736

帖子

0

粉丝