摘要:
$ra寄存器中存入的是pc的值(程序运行处的地址),调用函数时,在跳转前,必须保存当前地址(pc的值),以便后来返回。jal $ra 保存后跳转,jr $ra,返回到跳转前,通过$ra保存进入上层栈地址。jal 直接跳转指令,并带有链接功能,指令的跳转地址在指令中,跳转发生时要把返回地址存放到R31寄存器(ra)中。jr 使用寄存器的跳转指令,跳转地址在寄存器中。所以根据ra定位core位置时,可以直接在ra位置前找jal便可以找到当前正在执行的函数。转自http://user.it.uu.se/~justin/Teaching/NewDarkSlides/lecture5.pdf• As i
阅读全文