Image
Image

9dome猫

+ 关注

粉丝 2     |     主题 142     |     回帖 1593

从零开始设计RISC-V处理器——指令系统
2022-5-28 16:08
  • RISC-V
  • 88
  • 4232
  31.ADDI:addi指令将操作数寄存器rs1的整数值与12位立即数进行加法操作, 结果写回寄存器rd。 如: addi x1 ...  
  30.SUB:sub指令将寄存器(rs1)与寄存器(rs2)中的值相减,并写回(rd)寄存器中。 ...  
  29.ADD:add指令将寄存器(rs1)与寄存器(rs2)中的值相加,并写回(rd)寄存器中。 ...  
  如: addi x2,x0,-0xf0 slli x3,x2,4 srli x4,x2,4 srai x5,x2,4 汇编器执行结果如下: ...  
  28.SRAI:srai指令根据5位立即数的移位量对寄存器(rs1)中的值执行算数右移(高位补入符号位),并存储在( ...  
  27.SRLI:srli指令根据5位立即数的移位量对寄存器(rs1)中的值执行逻辑右移(高位补零),并存储在(rd)寄 ...  
  26.SLLI:slli指令根据5位立即数的移位量对寄存器(rs1)中的值执行逻辑左移(低位补零),并存储在(rd)寄 ...  
  25.SRA:算数右移(SRA)根据寄存器(rs2)中的移位量对寄存器(rs1)中的值执行算数右移,左边空出来的位 ...  
  24.SRL:逻辑右移(SRL)根据寄存器(rs2)中的移位量对寄存器(rs1)中的值执行逻辑右移,左边空出来的位 ...  
  23.SLL:逻辑左移(SLL)根据寄存器(rs2)中的移位量对寄存器(rs1)中的值执行逻辑左移,并存储在(rd)寄 ...  
  22.SLTIU:sltiu指令将操作数寄存器rs1中的数值与12位立即数当作无符号数进行比较,如果rs1中的值小于立即数 ...  
  如: addi x1,x0,-1 slti x2,x1,1 汇编器执行结果如下:  
  21.SLTI:slti指令将操作数寄存器rs1中的数值与12位立即数当作有符号数进行比较,如果rs1中的值小于立即数的 ...  
  汇编器执行结果如下:  
  如: addi x1,x0,-1 addi x2,x0,1 sltu x3,x1,x2  
  20.SLTU:sltu指令将操作数寄存器rs1中的数值与寄存器rs2当作无符号数进行比。如果rs1中的值小于rs2中的值, ...  
  汇编器执行结果如下:  
  如: addi x1,x0,-1 addi x2,x0,1 slt x3,x1,x2  
  19.SLT:slt指令将操作数寄存器rs1中的数值与寄存器rs2当作有符号数进行比较。小于则置一,即如果rs1中的值 ...  
  汇编器执行结果如下: 数据存储器:  
2
3