首页/指令库/C-EBREAK
C.EBREAK

RISC-V C.EBREAK 指令详解

指令手册C-type

压缩断点指令,执行与 EBREAK 相同的环境断点操作。

指令语法

c.ebreak
操作数说明
压缩指令仅 16 位,寄存器选择通常限制在 x8–x15。
立即数字段较窄,查看特定压缩指令的完整编码。
C压缩指令

指令行为说明

C.EBREAK 是 C 扩展中的 16 位压缩断点指令,语义等同于 EBREAK,用于把控制交给调试环境或触发环境断点异常。它不带操作数,不读写通用寄存器。

快速理解与检索要点

C.EBREAK 是 EBREAK 的压缩编码形式,用于断点/调试进入;它不是可忽略提示。

官方 C 扩展定义它无操作数。
具体是否进入调试模式或异常处理由执行环境决定。

常见使用场景

系统与特权

结合 «c.ebreak # trigger debug exception» 等实际代码理解该场景。

调试与监控

结合 «c.ebreak # trigger debug exception» 等实际代码理解该场景。

使用前检查清单

语法检查
  • 确认当前指令格式为 C-type。
  • 确认操作数排列顺序与示例一致。
语义检查
  • 确认目标寄存器用途和调用约定兼容。
  • 确认该指令不是伪指令展开后的底层形式。

容易混淆 / 常见误区

C.EBREAK 不是普通 NOP;执行会产生断点/调试相关控制转移。
它没有 rd/rs 操作数;不要按 C.ADD 的寄存器语义解释。
异常/调试处理取决于执行环境和调试支持。

常见问题

C.EBREAK 和 EBREAK 的关系是什么?

C.EBREAK 执行与 EBREAK 相同的环境断点语义,只是编码为 16 位压缩形式。

C.EBREAK 可以当作 NOP 吗?

不可以。它是断点指令。