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.
Restore fixed compressed fields, calculate the exception address, then commit receiving-mode EPC/cause.
Assumes successful fetch, IALIGN=16 (16-bit instruction alignment), no H-extension virtualization, and no external-debug override of EBREAK. Only receiving-mode EPC/cause are illustrated; delegation, trap target address, and handler policy are outside this example.
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 # Breakpoint unless overridden by external debug».
Understand this scenario with real code like «c.ebreak # Breakpoint unless overridden by external debug».
C.EBREAK performs the same environment-break semantics as EBREAK, encoded as a 16-bit compressed form.
No. It is a breakpoint instruction.