This seems like a great start, but it's lacking something that every assembly programming resource that I've ever come across lacks too: How can I experiment? How do I go from instructions in a text file, to compiling, to getting input in some form? What programs do I use (on Linux)? What commands do I run? What are fun projects that are worthwhile doing with assembly? Beyond that, what are good applications of assem…
You might like the assembly tutorial I am writing: https://plus.google.com/111794994501300143213/posts/9gxSUZMJ... It's focused on actually doing rather than how stuff works. In order to succinctly be able to present this, I had to choose a target platform, which unfortunately seems not to be the one that you prefer. My tutorial targets OS X, and there is great similarity between coding assembly on OS X and Linux. Th…
An Introduction to x86_64 Assembly Language
51–56 of 56 posts
Re: An Introduction to x86_64 Assembly Language
#52Learning Assembly language has been on my list of "want to do" for a long time now but as I have never had a need for it professionally I kept putting it off. I actually have time for myself now and outside of learning to cook properly and cycle a lot I would really like to finally tick this off my bucket list. The problem is I am not too sure where to actually start. I want something that starts from the bottom and…
Re: An Introduction to x86_64 Assembly Language
#53After learning 6502 assembly when I was a teenager, I was floored by the beauty and straightforward cleanliness of the 68000 used by Macs and then the similar assembly of the VAX. x86_64 is just plain ugly. While I admire the backward compatibility, it's sad that this nasty-looking architecture won out. I'm really glad that the compiler handles it.
I was not there at the time of 6502, but imo ARM assembly is simpler (relative to x86_64). I would go as far to say I really love debug things on RISC instruction set.
Things got really out of hand from AT on (80286). IMO that's not Personal Computing anymore, but rather Home Computer. You are mostly a consumer, even if you develop in ASM. You delegate control of your hardware completely.
I'd recommend anyone to learn Commodore 64 coding inside out. Or maybe Spectrum 48K. These are not the simplest machines of their time but they allow you to do a lot and were popular enough that almost everything that truly matters in computing exists for these architectures. And you can fathomably grok them inside out to such a level it will blow your mind.
Re: An Introduction to x86_64 Assembly Language
#54After learning 6502 assembly when I was a teenager, I was floored by the beauty and straightforward cleanliness of the 68000 used by Macs and then the similar assembly of the VAX. x86_64 is just plain ugly. While I admire the backward compatibility, it's sad that this nasty-looking architecture won out. I'm really glad that the compiler handles it.
If you start from 8080/Z80 and work your way up, you will have a very different perspective. 16-bit (and especially 32-bit) x86 looks quite regular if you see it in the right way; although IMHO the 64-bit extension wasn't designed as well as the move to 32-bit.
Re: An Introduction to x86_64 Assembly Language
#55After learning 6502 assembly when I was a teenager, I was floored by the beauty and straightforward cleanliness of the 68000 used by Macs and then the similar assembly of the VAX. x86_64 is just plain ugly. While I admire the backward compatibility, it's sad that this nasty-looking architecture won out. I'm really glad that the compiler handles it.
If you start from 8080/Z80 and work your way up, you will have a very different perspective. 16-bit (and especially 32-bit) x86 looks quite regular if you see it in the right way; although IMHO the 64-bit extension wasn't designed as well as the move to 32-bit.
Re: An Introduction to x86_64 Assembly Language
#56I am trying to develop a JIT for array processing [1]. Here are some resources I found useful so far * Dr Paul Carter's tutorial [2] * Intel processor reference [3] * C ABI standard [4] [1] https://github.com/wedesoft/aiscm [2] http://www.drpaulcarter.com/pcasm/ [3] http://www.intel.com/content/www/us/en/processors/architectu... [4] http://www.sco.com/developers/devspecs/abi386-4.pdf
You might find these interesting. https://code.google.com/p/vfuncs/ http://terralang.org/ https://github.com/halide/Halide
Yes, especially Halide looks interesting.