Well, I’ve finally done something that I’ve been meaning to do for a long time. I’ve written some non-trivial assembly language code. Up until recently I wasn’t expecting this to be embedded assembly, but it actually seems like a sensible way to get into this low level stuff. Programming an 8bit RISC microcontroller in assembly is considerably easier than trying to do something with a PC. The chips are cheap (as chips), the tools are free, there’s an active user community and the electronics required is relatively simple.
Right now the code is heavily based one someone else’s code; but heh, isn’t that the way we always start out. The good thing is that I have the complete development system working, a VM with the tool chain, simulator and programmer all working. I have a breadboarded circuit with my Atmel ATTiny2313 in it and I have a challenging project to keep me interested.
Already I can see how this new project will change how I think about the coding that I do for my day job. Testing embedded assembly could be interesting, for once I’m working on code where performance really does matter and it’s relatively easy to reason about it. It’s interesting stuff!