Problem: Implement this function above in assembly language. In general, be prepared to use the B, BL, BX, PUSH, POP, AND, OR, ADD, SUB, CBNZ, CBZ, LDR, and STR operations. Also make sure you are prepared to use the byte and half-word modifiers and to use pre- and post-modifiers for data operations.
Understand why the assembly code for putsUart0() uses a POP{PC} instead of the usual BX LR to return from the function. Also understand why R4 is pushed and why R4 is used to store the value in R0.