Some Assembly Required: Assembly Language Programming with the AVR Microcontroller