I started with the following book: http://www.z80.info/zip/zaks_book.pdf Wonderful book from which a lot of knowledge is applicable to other architectures straight away. It teaches you about planning, control structure implementation and the maths behind it all as well.
The glorious, good old Z80. Highly recommended. Also, if you get one of those Z80-powered Texas Instruments calculator, you could do pretty neat things.
Where should I start learning Assembly?
41–50 of 54 posts
Re: Where should I start learning Assembly?
#42I enjoyed Jeff Duntemann's "Assembly Language Step-by-Step". I see there is a 3rd edition. Nice writing style and overall fun read.
Re: Where should I start learning Assembly?
#43Re: Where should I start learning Assembly?
#44Although I cannot claim to know a lot, http://microcorruption.com was a very nice "fun" way to at least start with a small, easy to grasp instruction set.
Re: Where should I start learning Assembly?
#45Reverse engineering is quite a different skill set from assembly. Unless you are reverse engineering malware, whatever you are analyzing is unlikely to have been written in assembly or to be heavily obfuscated. Then it's more about knowing how certain high-level programming constructs (think virtual function calls in C++) will be translated into assembly by a compiler, what residual information there might be left in…
Re: Where should I start learning Assembly?
#46Code by Charles Petzold [1] is a fantastic introduction. It isn't so much the nitty gritty "this opcode performs this operation, and these are all the tricks to making it do things, edge cases and things you should worry about" and more along the lines of "what opcodes should a CPU have, and how do those translate into electricity flowing through physical wires?" I feel like really thinking through that book made MIP…
It's much shorter than "Code" but covers basically the same ground much more quickly, but Code might be better first because it really explains it thoroughly.
Re: Where should I start learning Assembly?
#47I would also grab a copy of Art of Assembly Language.
Re: Where should I start learning Assembly?
#48Re: Where should I start learning Assembly?
#49It also depends how steep of a learning curve you want to encounter. I, personally, have not yet played with x86 assembly because the documentation for them is so unfriendly for beginners. To that end, when I want to play around in Assembly and learn techniques for that level of programming, I usually play with the DCPU (http://dcpu.com/dcpu-16/). It's fake and was designed for a (sadly) not-to-be-made game. But it is an absolute joy to program in.
Play around with that until you're comfortable and THEN tackle x86.