故意在 RISC-V 中提出非法指令
Raise an Illegal Instruction in RISC-V on Purpose
故意在 RISC-V 中引发非法指令的最简单、最易读和最直接的方法是什么?
我知道根据规范任何“全零”指令(所以 32/16 位只有零)是“定义的非法指令”(第 12.5 节,用户规范)。但是我不知道是否存在一个 asm shorthand(至少我找不到)然后我可以在 C 代码的内联 asm 中使用。
肯定有一种可移植且可靠的方法总是导致非法指令异常?我个人发现写入只读寄存器或类似的 hack 非常令人反感,因为它们不是很明确。但也许这就是它的做法?
提前致谢
它的助记符是unimp
。它是documented in the RISC-V asm manual,所以它应该是便携的。
故意在 RISC-V 中引发非法指令的最简单、最易读和最直接的方法是什么?
我知道根据规范任何“全零”指令(所以 32/16 位只有零)是“定义的非法指令”(第 12.5 节,用户规范)。但是我不知道是否存在一个 asm shorthand(至少我找不到)然后我可以在 C 代码的内联 asm 中使用。
肯定有一种可移植且可靠的方法总是导致非法指令异常?我个人发现写入只读寄存器或类似的 hack 非常令人反感,因为它们不是很明确。但也许这就是它的做法?
提前致谢
它的助记符是unimp
。它是documented in the RISC-V asm manual,所以它应该是便携的。