ebreak

ebreak

Assembly RISC-V Riferimento

lyszt.net tratta ebreak e altre istruzioni RISC-V in modo più dettagliato.

Descrizione

ebreak ferma il programma. Il nome è l'abbreviazione di environment break. Contrassegna un punto in cui un debugger prende il controllo, e questo simulatore interrompe l'esecuzione a quella riga. La forma non accetta operandi.

ebreak

Il processore si ferma lì e le righe successive non vengono eseguite. I registri e la memoria mantengono i loro valori, quindi lo stato al punto di interruzione può essere ispezionato in seguito. ecall con il servizio 10 termina un programma normalmente, e ebreak lo ferma in un punto scelto.

Il manuale RISC-V descrive ebreak come il ritorno del controllo a un ambiente di debug, e lo definisce insieme a ecall, che richiede un servizio all'ambiente. Entrambi causano un trap preciso richiesto, un trasferimento deliberato del controllo all'ambiente.

L'esempio imposta t0 a 1 ed esegue ebreak. Il li successivo non viene mai eseguito, quindi t0 resta 1.

Esempio

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