Live data from Hacker News

Some Assembly Required: An approachable introduction to assembly

github.com

41–50 of 131 posts

Re: Some Assembly Required: An approachable introduction to assembly

#41

It was so fun working with Hack Clubbers on this project! Hack Club is a group of teenagers from all over the world, and we decided to learn assembly together from scratch and see what happened. We ended up making this guide as we learned, since a lot of the resources we were working with weren't the easiest to parse. Happy to answer any questions :)

This is really wonderful. And I like how simple and clean the pages look, even through markdown+github. Cheers.

Thank you so much!! We really wanted to try to make it live alongside the code examples in GitHub, but still feel almost e-book like. We definitely hacked around the GH Markdown a bit to achieve this. Thanks for noticing!

Re: Some Assembly Required: An approachable introduction to assembly

#42

Earlier quoted context omitted.

I'm glad you liked it! By a teenagers' guide I meant it was written by teens (including me: I'm 17). What do you think of the warehouse analogy?

What a remarkable group of people you are. Also I didn’t realize Rollercoaster Tycoon was primarily written in Assembly. That’s nuts.

Steve Gibson (grc.com) uses assembly for most (all?) of the software he distributes.

For example, his DNS Nameserver Benchmarking utility[1] is 160 KB and when you download it, it's a single uncompressed executable and has a decent win32 UI. It will run any version of Windows going back to Windows 95.

Could you even run a mid-90's era macOS or KDE+Linux executable on a current Mac or Linux machine? (I don't think Gnome even existed yet).

[1]: https://www.grc.com/dns/benchmark.htm

Re: Some Assembly Required: An approachable introduction to assembly

#43
There was a coding competition at a local podunk BBS back in ~’91. I figured I would use it as an excuse to learn some assembly. The goal of the challenge i entered was to find all of the prime numbers between one and a million. Of course my goal with the assembly approach was speed and executable size. In both of those I smoked the competition by 3 to 4 orders of magnitude.

But the scoring mechanism was heavily weighted towards lines of code and the turbo Pascal entry one even though it took about six minutes to complete.

That pissed me off so much I never really messed with assembly again.

Re: Some Assembly Required: An approachable introduction to assembly

#44
This is making me wonder just how raw Sawyer’s code for Rollercoaster Tycoon was. The source doesn’t seem to be out there but a page on his site (http://www.chrissawyergames.com/faq3.htm) says he used “MS Macro Assembler V6.11c” so it’s probably safe to assume he didn’t type out every single instruction in the game by hand. Depending on how many macros he’d built up at this point in his career it might have felt more like programming in C, except with a lower conceptual barrier to switching to inline assembly functions when stuff needed to be optimized.

Re: Some Assembly Required: An approachable introduction to assembly

#45

Good job. Some constructive criticism: There's quite a big difficulty spike so to speak in the later section as you go towards the code examples. The beginning explains relatively simple concepts like binary, then basically jmps into an instruction table which won't make sense to anyone who hasn't done some form of programming (they would know binary then, right?). The tone is also a bit off putting, although I might…

> When I was learning asm as a teen I learned it from grungy 1337 h4x0r sites (well, they didn't actually use 1337speak except ironically, much like today) which were at least a great deal.. meaner? less nice?.. than the tone of the article.

Which ones?

Re: Some Assembly Required: An approachable introduction to assembly

#46
post #12

Good job. Some constructive criticism: There's quite a big difficulty spike so to speak in the later section as you go towards the code examples. The beginning explains relatively simple concepts like binary, then basically jmps into an instruction table which won't make sense to anyone who hasn't done some form of programming (they would know binary then, right?). The tone is also a bit off putting, although I might…

Quoted post unavailable.

What do you mean by "pronoun-hedonism"?

Re: Some Assembly Required: An approachable introduction to assembly

#48

Pardon, but the assembly code on the "Loop de Loop" chapter currently seems broken. "rax" is acting as all three variables somehow.

Nice catch! Just to be clear, it was that we were incrementing our exponent but not our counter, is that right? I pushed up a fix, but let me know if there were other issues.

Re: Some Assembly Required: An approachable introduction to assembly

#50

It was so fun working with Hack Clubbers on this project! Hack Club is a group of teenagers from all over the world, and we decided to learn assembly together from scratch and see what happened. We ended up making this guide as we learned, since a lot of the resources we were working with weren't the easiest to parse. Happy to answer any questions :)

Bravo! Great to see stuff like this! Hopefully you made some new friends too.

Thank you so much! It was so fun working with the teenagers in the community.
Post reply on HN