ebreak
lyszt.net охоплює ebreak та інші інструкції RISC-V більш детально.
Опис
ebreak зупиняє програму. Назва — скорочення від environment break (переривання середовища). Він позначає точку, у якій керування бере на себе налагоджувач, і цей симулятор зупиняє виконання на цьому рядку. Форма не приймає операндів.
ebreak
Процесор зупиняється там, і рядки після неї не виконуються. Регістри та пам'ять зберігають свої значення, тому стан у точці зупинки можна дослідити згодом. ecall із сервісом 10 завершує програму звичайним чином, а ebreak зупиняє її у вибраному місці.
Посібник RISC-V описує ebreak як повернення керування середовищу налагодження і визначає його разом з ecall, який просить у середовища сервіс. Обидва спричиняють точну запитану пастку — навмисну передачу керування середовищу.
Приклад встановлює t0 у 1 і виконує ebreak. Наступна за нею li ніколи не виконується, тому t0 залишається рівним 1.
Приклад
li t0, 1 ebreak # the program stops here li t0, 2 # never reached
