TODO Этау задачу нельзя решить в RARS: uepc в обработчике будет содержать ошибочный адрес (уже после перехода), например, после jr zero там будет 0
Написать обработчик исключения, которое возникает при попытке вызвать инструкцию «jalr» (и соответствующие псевдоинструкции, например, jr) на запрещённый адрес. В этом случае переход игнорируется. Все остальные исключения, включая ситуацию, когда то же исключение возникает при выполнении другой инструкции, должны считаться фатальными и приводить к останову программы с диагностикой «Exception №», где № — это десятичный номер исключения. К обработчику будет приписана такая проверяющая программа: (например. такая TODO), не использующая регистров CSR. Метка обработчика должна зазываться handler:.
10
На всякий случай: для экстренного выхода пользоваться ecall 10, а не ecall 93
10