I think my approach to trying to learn 6502 Assembly language programming has been all wrong so far.
Pretty much every book or guide I’ve come across that was written back in the 80′s (all of ‘em?) starts off with a very basic – and wholly inadequate – primer on binary and hexadecimal math. This is immediately followed up with dire warnings that to continue without understanding is to court disaster. Consider the following quote from Software Masters’ ‘The Visible Computer: 6502′ manual in the opening chapter on alternate numbering systems:
“If you are fuzzy on the hex and binary numbering systems, do not skip this chapter. Learning machine language is a cumulative process and skipping a critical part of the foundation is a good way to build an unstable building.”
The other manuals have similar dark prophecies of disaster for those who would careen headlong into the Apple II mini-assembler without knowing how to add 1011 0110 1010 to 0011 0011 1001 by hand, or convert $EA into binary and then to decimal and back again without the aid of a calculator.
Sure, there’s probably some geek cred points to be awarded for being able to handle such calculations using only the evolution-given wetware that exists between our ears, but to be honest, this has been the one sticking point for me every time I’ve tried to dive into learning assembly. ‘VC:6502′s opening chapter, and the similar text that appears in other manuals of the day has been a formidable gate-keeper for me and, I imagine, many curious would-be programmers just like, for too long now.
To be clear, this is the fault neither of the books themselves or their (mostly) excellent authors, rather it is a quirk in my learning skills that I don’t easily extrapolate new illuminations from basic ideas, no matter how well laid out.
And so I decide to take the ultimate risk and sally forth into the unknown of the ‘language of the computer gods’ without the aid of a binary math net. Wish me luck, dear friends and should I not survive the night and meet my grisly fate at the hands of a grue in a dark corner somewhere, or more likely suffer synapse failure fall trying to understand the vagaries of bit shifting, hoist a flagon of ale in remembrance.
In the meantime, I’ll be over here.