ebreak

ebreak

Ensamblador RISC-V Referencia

lyszt.net cubre ebreak y otras instrucciones RISC-V con más detalle.

Descripción

ebreak detiene el programa. El nombre es la abreviatura de environment break (interrupción del entorno). Marca un punto en el que un depurador toma el control, y este simulador detiene la ejecución en esa línea. La forma no toma operandos.

ebreak

El procesador se detiene ahí y las líneas posteriores no se ejecutan. Los registros y la memoria conservan sus valores, por lo que el estado en el punto de interrupción se puede inspeccionar después. ecall con el servicio 10 termina un programa normalmente, y ebreak lo detiene en un punto elegido.

El manual de RISC-V describe ebreak como una devolución del control a un entorno de depuración, y lo define junto con ecall, que solicita un servicio al entorno. Ambos provocan una trap precisa solicitada, una transferencia deliberada de control al entorno.

El ejemplo establece t0 en 1 y ejecuta ebreak. El li posterior nunca se ejecuta, por lo que t0 permanece en 1.

Ejemplo

li t0, 1
ebreak   # the program stops here
li t0, 2   # never reached