
Programming from the Ground Up
by Jonathan Bartlett · first published 2009
56mentions
36recommended by
48HN commenters
2009–2026first – last mentioned
75% recommend25% neutral
Why HN recommends it
Free, accessible introduction to x86 assembly on Linux, built from CPU architecture upward with small sample programs to try. Suits beginners who want to understand how a computer really works.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








For any 'Early coders' like my self who want to learn more about linkers and loaders based on this write up, Programming from the Ground Up by Jonathan Bartlett is a good book.
on “Docker: Not Even a Linker” ↗If anyone finds this interesting, and would like to drill down into this type of low level code, I highly recomment "Programming from the Ground Up" by Jonathan Bartlett [1]. It is an excellent introduction to assembler, and programming in general. [1] http://freecomputerbooks.com/Programming-from-the-Ground-Up....
on “Show HN: Servasm – Literate web server in x86 assembler” ↗If you're interested in learning assembly language, I recommend checking out "Programming from the Ground Up" by Jonathan Bartlett [0]. It's a great introduction to ASM and how computers work at the low level. It's also used in universities such as Princeton to teach introductory CS classes [1]. Definitely worth…
on “A Crash Course in X86 Assembly for Reverse Engineers (2013) [pdf]” ↗Before deep diving into CS theory, I would go deeper into programming first to better understand how a computer really works. The best intro on this topic I found is "Programming from the Ground Up" by Jonathan Bartlett [1]. "Programming from the Ground Up" starts at the bottom with CPU architecture and goes up from there to how functions work, dealing with files, code libraries, high-level languages,…
on “Ask HN: What book to read to get a footing in CS theory?” ↗…http://x86asm.net/articles/what-i-dislike-about-gas/ Neither/both: http://www.ibm.com/developerworks/linux/library/l-gas-nasm/i... Neither: http://webster.cs.ucr.edu/AsmTools/WhichAsm.html If you decide to go with AT&T/gas, check out "Programming from the Ground Up", by Jonathan Bartlett: http://download.savannah.gnu.org/releases/pgubook/ If you decide to go with Intel/nasm, see "PC Assembly Language" by Paul A. Carter: http://www.drpaulcarter.com/pcasm/ Also,…
on “The Art of Assembly Language Programming (Linux edition) [book]” ↗…assembly (and working my way through SICP) gave me both the confidence and a deeper understanding of computer programming. If you're looking for a book, the best one I've found is Jonathan Bartlett's Programming from the Ground Up. I can't recommend this book highly enough. You can get a free copy from here: http://savannah.nongnu.org/projects/pgubook/
on “Is learning Assembly Language worth the effort?” ↗I like Bartlett's Programming from the Ground Up, though it might be too simple for some. It's available online in a few places: https://www.google.com/search?q=Bartlett+programming+from+th...
on “Linux Assembly How To: “Hello, World”” ↗Programming from the Ground Up teaches x86 assembler from first principles. All on a free OS (Linux using asm). There is a free version available online, but if you want to support the author you can buy it from amazon. https://www.amazon.com/Programming-Ground-Up-Jonathan-Bartle...
on “Ask HN: What are some books where the reader learns by building one project?” ↗I'm coming from a similar background and asked myself that exact question :) These two books helped me much already: Programming from the Ground Up by Jonathan Bartlett - A very good introduction to assembly Learning Computer Architecture with Raspberry Pi by Eben Upton - Great read about the inner working of memory and the CPU, with reference to…
on “Ask HN: Best way to learn about computing history?” ↗…I've been teaching myself assembly recently and have found Learn to Program with Assembly (2021) [0] by Johnathan Bartlett to be really valuable. I had initially looked through his freely available book Programming From the Ground Up (2003) [1], which covers x86 assembly, and ended up buying the updated book after finding the old one to be well written but out of date. I've been programming in C for a long time and it's been very…
on “Learn x86-64 assembly by writing a GUI from scratch” ↗You are probably thinking about Programming from the Ground Up by Jonathan Bartlett. There are many others in the same style though. He also has a newer book if I recall right. https://www.amazon.com/Programming-Ground-Up-Jonathan-Bartle... https://download-mirror.savannah.gnu.org/releases/pgubook/
on “A whirlwind tutorial on creating teensy ELF executables for Linux (1999)” ↗…large-scale programs/systems in it is. But almost nobody does this nowadays; it is generally C & Assembly. So you need to know/understand just enough assembly to get along. Start with Jonathan Bartlett's Programming from the Ground Up for a nice introduction - https://news.ycombinator.com/item?id=11702025 Then look at Daniel Kusswurm's and Larry Pyeatt's books. Also https://news.ycombinator.com/item?id=45782206
on “How I stopped worrying and started loving the Assembly” ↗Programming from the Ground Up by Jonathan Bartlett.
on “Which programming book you just couldn’t stop reading from start to end?” ↗Does anyone, (the author?), know the best reference for x86-64 assembly? I have been a loath to teach it to students because there I haven't found great material for it. I use "Programming from the Ground Up"* as my main text for 32 x86 but haven't found anything comparable for 64 bit. I also use: * http://download.savannah.gnu.org/releases/pgubook/Programmin... http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in...…
on “Say hello to x86_64 assembly, part 4” ↗…In a CompSci academic setting i think learning assembly first (that is first programming language but in parallel with the other classes such as computer architecture etc.) is also a valid approach. Programming from the Ground Up [1] is a very accessible introduction to x86 ASM and even supposing you don't go any further than the examples in this book, you'll still feel the benefits. [1] http://ftp.igh.cnrs.fr/pub/nongnu/pgubook/ProgrammingGroundU...
on “Essential C” ↗