If you are interested in assembly language concepts and don't mind something slightly archaic, I thoroughly enjoyed this book: https://www.amazon.com/Peter-Nortons-Assembly-Language-Book/...
It goes through lessons that build up to a pretty good interactive disk editor (DSKPATCH) written entirely in x86 assembly.
Its the book that got 12 year old me out of the BASIC ghetto.