How is C.EBREAK related to EBREAK?
C.EBREAK performs the same environment-break semantics as EBREAK, encoded as a 16-bit compressed form.
Compressed breakpoint instruction that performs the same environment-break operation as EBREAK.
C.EBREAK is the 16-bit CR-format breakpoint instruction in the C extension and performs the same operation as EBREAK. Unless an external debug environment overrides it, it raises a synchronous Breakpoint exception and performs no other operation. It has no operands and does not read or write GPRs.
Starts from the 16-bit CR encoding, then shows fixed fields, execution context, synchronous exception, and EPC/cause state update.
This animation shows only ISA-visible synchronous exception and state recording; syscall ABI, debugger action, trap-handler policy, and timing are execution-environment or privileged-architecture matters.
C.EBREAK is the compressed encoding form of EBREAK for breakpoint/debug entry; it is not an ignorable hint.
Understand this scenario with real code like «c.ebreak # trigger debug exception».
Understand this scenario with real code like «c.ebreak # trigger debug exception».
C.EBREAK performs the same environment-break semantics as EBREAK, encoded as a 16-bit compressed form.
No. It is a breakpoint instruction.