当RISC-V核心工作在机器模式时,mret和ret指令有什么区别吗?
-
ret
is a pseudoinstruction, which actually is a jalr
instruction, while mret
is a real instruction.
- 它们用于不同的情况。
ret
用于从普通函数返回,而mret
用于从陷阱(异常或中断)返回,但有一些副作用。
从RISC-V特权文档来看,
MRET、SRET 或 URET 指令用于从 M 模式、S 模式或
分别为U型。当执行xRET指令时,假设xPP保存值y,x IE
设置为 x PIE;特权模式改为y; x PIE 设置为 1; xPP 设置为 U(或 M,如果
不支持用户模式)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)