ebreak
lyszt.net couvre ebreak et d'autres instructions RISC-V plus en détail.
Description
ebreak arrête le programme. Ce nom est l'abréviation de environment break. Il marque un point où un débogueur prend le contrôle, et ce simulateur interrompt l'exécution à cette ligne. La forme ne prend aucun opérande.
ebreak
Le processeur s'arrête là et les lignes qui suivent ne s'exécutent pas. Les registres et la mémoire conservent leurs valeurs, de sorte que l'état au point d'arrêt peut être inspecté par la suite. ecall avec le service 10 termine un programme normalement, et ebreak l'arrête à un endroit choisi.
Le manuel RISC-V décrit ebreak comme rendant le contrôle à un environnement de débogage, et il le définit avec ecall, qui demande un service à l'environnement. Les deux provoquent un trap précis demandé, un transfert délibéré du contrôle vers l'environnement.
L'exemple met t0 à 1 et exécute ebreak. Le li qui suit ne s'exécute jamais, donc t0 reste à 1.
Exemple
li t0, 1 ebreak # the program stops here li t0, 2 # never reached
