Bootstrap

RISC-V汇编简介

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汇编指令编码格式

;