Live data from Hacker News

An Introduction to x86_64 Assembly Language

hackeradam17.com

51–56 of 56 posts

Re: An Introduction to x86_64 Assembly Language

#51
post #16
post #13

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…

"the overly abstract world of C" I chuckled at that. Looks like you have a fun tutorial though; I'd like to go through it more.

Re: An Introduction to x86_64 Assembly Language

#52
post #15

Learning 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…

I highly recommend Computer Systems - A Programmer's Perspective. I learned a ton from that book. I think chapter 2 or 3 is where x86 is covered in some detail. It's really well written, and the way they present assembly, C, and certain parts of POSIX draws everything together really well such that you come out with a good mix of practical and theoretical knowledge.

Re: An Introduction to x86_64 Assembly Language

#53
post #33
post #26

After 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.

At the time of 6502 you were truly on command. I didn't do as much Z80 but I guess it was similar in this particular respect.

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

#54
post #26

After 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.

I did Z80 back in the day and I think x86 is a mess, ever since 286 at the very least. It's absolutely terrible. Not just because of the ASM itself but because of the whole OS/computing paradigm it grew with.

Re: An Introduction to x86_64 Assembly Language

#55
post #26

After 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.

Well, I always thought that the motorola 6809 was much more attractive. As a compiler writer during those days, the lack of regularity of the 8080, z80, were a pain.

Re: An Introduction to x86_64 Assembly Language

#56
post #14
post #5

I 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

Cheers for that.

Yes, especially Halide looks interesting.

Post reply on HN