I’m trying to write a small program in Assembly to blink with LED(s) without a CPU loop, but using WFI (wait for interrupt), which should save some energy.
Also, it’s good you remembered to use .balign 4 for each entry in the jump (vector) table, lines 30-54. You could equivalently prefix the table with .option push and then .option norvc, following the table with .option pop. That way you don’t have a whole bunch of .balign’s to repeat; you’d need only one of them before the push. Of course, it would make assembled code longer–extra credit for analogue forcing use of only compressed, 16-bit jump instruction forms, albeit with limited jump range.