伪指令ret & 真实指令jalr x0,x1,0

伪指令&真实指令

伪指令:

  • 没有对应的机器码
  • 可以被汇编器翻译成一条/多条真实指令
  • 方便程序员编写/阅读代码
  • 简化常用操作

真实指令:

  • RV32I
  • RV32F等

ret&jalr x0,x1,0

ret:

  • 伪指令
  • 从一个子程序返回到调用该子程序的地方

jalr x0,x1,0:

  • 真实指令
  • 把x1(即ra)寄存器中的值作为跳转目标地址,同时把x0寄存器(即0)作为返回地址寄存器
  • 相当于跳转到返回地址,且不保存新的返回地址 

jalr基本用法 

指令格式:jalr rd,rs1,imm

说明:

  • rd是跳转返回地址寄存器
  • rs1是跳转目标基地址寄存器
  • imm是跳转目标偏移地址立即数

过程:

  • 把当前pc+4存入rd寄存器(这样 程序就可以在执行完子程序后,通过rd寄存器中的值返回到调用它的地方)
  • 把rs1+imm的值作为新的pc值

 

你可能感兴趣的:(RISC-V,RISC-V,汇编器)