I've been following the NandToTetris course and am fascinated by the low level programming parts, especially the Assembly language parts.<p>I already know 3 high-level languages, and C.<p>What kind of programs can I write in ARM assembly:<p>- Where Assembly is the "right" choice?<p>- The program is super fun to reason about?<p>- I can feel like a Wizard<p>- I have to think about optimisations by hand<p>Basically I want to play around, and think about computer architectures.<p>Alternatively I have a Raspberry Pi Zero, so could write on that too.