ebreak

ebreak

Асемблер RISC-V Посилання

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