Thank you Professor for the introduction to this section of the course. I have a request. Please prepare and upload two more presentations (or more, if you could) on inline assembly programming and techniques for optimizing the program better than compilers and other IDE tools, when project's constraints require such actions be done manually, ie on how can an embedded C programmer use assembly instructions to write better and faster programs.
Was there a reason to push R4 and LR at all? Wouldn't you just be able to do this: ADD R0, R0, R1 ADD R0, R0, R2 ADD R0, R0, R3 MOV PC, LR Or is PUSH {R4, LR}/POP {R4,PC} just a calling convention and we do it whether it's needed or not