I found playing with AVR microcontrollers to be a nice intro to assembly, and it can be quite rewarding to get some physical response from your code, like a display or turning a servo. I did already have some electronics experience going in though
Low-Level Programming: C, Assembly, and Program Execution on Intel x86-64 Architecture by Igor Zhirkov.
A chip8 emulator
As in the article, try the hello world example in Hatari emulator.