制作一个RISC-V的操作系统五-RISC-V汇编语言编程二

文章目录

  • RISC-V汇编指令操作对象
  • RISC-V汇编指令编码格式
  • 小端序的概念
  • RISC-V汇编指令分类
  • RISC-V汇编伪指令

RISC-V汇编指令操作对象

RV32I:RISC-V32位机器整数指令集
指令集分非特权指令集和特权指令集
XLEN:变量代表当前机器的字长(32位 64位 128位)
x0:不能写,只能读,读出来的是0
PC:不能直接访问
ALU能直接交互的是寄存器
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第1张图片

RISC-V汇编指令编码格式

指令对齐:下图中是4个字节的倍数。错位可能会导致程序允许异常

funct7:占7个比特
funct3:占3个比特
一个寄存器有5个比特对应32个通用寄存器
rs:源寄存器
rd:目的寄存器
imm:立即数
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第2张图片
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第3张图片

opcode编码格式
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第4张图片
指令编码格式
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第5张图片

小端序的概念

多字节才有字节序这种概念
主机默认小端序
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第6张图片
大端序:

  • 数据高位放地址低位
  • 数据低位放地址高位
    制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第7张图片

RISC-V汇编指令分类

制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第8张图片

RISC-V汇编伪指令

Pseudoinstruction:伪指令
被翻译为基本机器指令
制作一个RISC-V的操作系统五-RISC-V汇编语言编程二_第9张图片

你可能感兴趣的:(从零自制操作系统,risc-v)