Started on my C64, not being able to get my head around it at all. Then on my Amiga I didn't get very far, but I would have a mess with my Action Replay and played with bits of code I found. Was sort of forced into learning assembler properly (see
this). Later got into Blitz Basic for a while. Went back to asm and wrote a Gameboy music driver. Then got a job doing C++. Documentation + experimentation is the key.