完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
RISC-V汇编简介
汇编语言有3类指令组成: a.汇编指令:机器码的助记符,有对应的机器码,可以翻译成对应的二进制机器码。 b.伪指令:没有对应的机器码,由汇编器解释执行,可以翻译成多条汇编指令,也可以没有对应汇编指令, c.其他符合:如+、-、*、/等,由编译器识别,没有对应的机器码。 汇编语法介绍: [LABEL:][OPERATION][COMMENT] LABEL:GNU汇编中,以冒号结尾的标识符都被认为是一个标号 OPERATION:操作,可以有以下几种类型: 1).汇编指令 2).伪指令 3).directive:通过类似指令的形式(以 “.” 开头),通知汇编器如何控制代码的产生等,不对应具体的指令。如:.text .global _start 4).macro: 采用.macro/.endm自定义的宏 COMMENT:注释,常用#开始到当前行结束。 RISC-V汇编指令操作对象: a.寄存器: 32个通用寄存器X0-X31,以及cpu 各个模式下的专用寄存器CSR 在RISC-V中,Hart在执行算术逻辑运算时所操作的数据必须直接来自寄存器 b.内存: Hart可以执行在寄存器和内存之间的数据读写操作; 读写操作使用字节为基本单位进行寻址 RV32可以访问最多2^32个字节的内存空间 RISC-V汇编指令编码格式 6种指令格式(format) R-type:(Register),每条指令中有三个 fields,用于指定 3 个 寄存器参数 I-type: Immediate),每条指令除了带有两个寄存器参数外,还带有一个立即数参数 (宽度为 12 bits)。 S-type: (Store),每条指令除了带有两个寄存器参数外,还带有一个立即数参数(宽 度为 12 bits,但 fields 的组织方式不同于 I-type) B-type: (Branch),每条指令除了带有两个寄存器参数外,还带有一个立即数参数(宽度 为 12 bits,但取值为 2 的倍数)。 U-type: (Upper),每条指令含有一个寄存器参数再加上一个立即数参数(宽度为 20 bits,用于表示一个立即数的高 20 位) J-type: (Jump),每条指令含有一个寄存器参数再加上一个立即数参数(宽度为 20 bits)。 |
|
|
|
只有小组成员才能发言,加入小组>>
3254 浏览 9 评论
2937 浏览 16 评论
3439 浏览 1 评论
8941 浏览 16 评论
4030 浏览 18 评论
1072浏览 3评论
557浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
550浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2285浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1843浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 13:24 , Processed in 1.074925 second(s), Total 47, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号