ebreak

ebreak

Asembler RISC-V Referencja

lyszt.net obejmuje ebreak i inne instrukcje RISC-V w większych szczegółach.

Opis

ebreak zatrzymuje program. Nazwa jest skrótem od environment break (przerwanie środowiska). Oznacza punkt, w którym kontrolę przejmuje debugger, a ten symulator zatrzymuje wykonywanie w tej linii. Ta forma nie przyjmuje operandów.

ebreak

Procesor zatrzymuje się tam, a linie po niej nie są wykonywane. Rejestry i pamięć zachowują swoje wartości, więc stan w punkcie przerwania można później zbadać. ecall z usługą 10 kończy program normalnie, a ebreak zatrzymuje go w wybranym miejscu.

Podręcznik RISC-V opisuje ebreak jako zwrócenie kontroli do środowiska debugowania i definiuje go razem z ecall, który prosi środowisko o usługę. Oba powodują dokładny żądany trap, celowe przekazanie kontroli do środowiska.

Przykład ustawia t0 na 1 i wykonuje ebreak. Następujące po niej li nigdy się nie wykonuje, więc t0 pozostaje równe 1.

Przykład

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