Live data from Hacker News

Some Assembly Required: An approachable introduction to assembly

github.com

71–80 of 131 posts

Re: Some Assembly Required: An approachable introduction to assembly

#71

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 :)

Echoing other's comments... I'm happy you did this and hope to see more content like it!

Re: Some Assembly Required: An approachable introduction to assembly

#72

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 :)

I gotta say, it's pretty cool how nice young people have it these days with what's available in terms of stuff like Hack Club. The whole scene has become WAY more inclusive as a result of things like that, and the acerbic hacker archetype who snaps at you for not knowing things the way they do is so dead as a result - that to me is great, I don't miss those guys and their gatekeeping.

If you want to check out some fun assembly code in a larger program, I suggest checking out the leaked furby source code. [1] The assembly for the lunar landing modules from the 1960s is also pretty wild [2]

[1] https://www.seanriddle.com/furbysource.pdf

[2] https://github.com/chrislgarry/Apollo-11

Re: Some Assembly Required: An approachable introduction to assembly

#73

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

MASM and the Intel assembler were already rather high-level compared to other assemblers, with a type system, procedures, records, etc. Those later versions of MASM added things like automatic allocation of structs on the stack and for loops. Depends on what features Sawyer used, but that assenbler in particular is a pretty advanced tool.

Re: Some Assembly Required: An approachable introduction to assembly

#74

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 :)

I gotta say, it's pretty cool how nice young people have it these days with what's available in terms of stuff like Hack Club. The whole scene has become WAY more inclusive as a result of things like that, and the acerbic hacker archetype who snaps at you for not knowing things the way they do is so dead as a result - that to me is great, I don't miss those guys and their gatekeeping. If you want to check out some fu…

It's so amazing, I completely agree! It's really inspiring honestly.

And... OH MY GOD FURBY SOURCECODE THIS IS AWESOME THANK YOU

Re: Some Assembly Required: An approachable introduction to assembly

#75

Earlier quoted context omitted.

I gotta say, it's pretty cool how nice young people have it these days with what's available in terms of stuff like Hack Club. The whole scene has become WAY more inclusive as a result of things like that, and the acerbic hacker archetype who snaps at you for not knowing things the way they do is so dead as a result - that to me is great, I don't miss those guys and their gatekeeping. If you want to check out some fu…

It's so amazing, I completely agree! It's really inspiring honestly. And... OH MY GOD FURBY SOURCECODE THIS IS AWESOME THANK YOU

Glad you find joy in it. It's 6502 assembly, in case you were wondering - Though the chip was a low-voltage 6502-alike called the Sunplus.

Those things were pretty crazy when they glitched out, my friend had one which would get thrown in into a loop where it just open and close its eyes looking from side to side going WEAOWEAOWEAOWEAO like some kind of possessed demon until you took the batteries out.

Oh yeah, obligatory picture of what I'm pretty sure is Margaret Hamilton standing next to a printout of that lunar lander code [1]

[1] https://www.nasa.gov/sites/default/files/thumbnails/image/ma...

Re: Some Assembly Required: An approachable introduction to assembly

#76
post #31

Earlier quoted context omitted.

This is like saying chess is simple stuff because you can learn how the pieces move in five minutes. If all you want is a basic understanding of how things work, that level is ok. If you want to play/program, it is a completely different story. I'd even go so far to say: Why do assembly if your goal is not to be better than the compiler, at least in some respect? Beating the compiler, now tell me that it's simple stu…

But chess is approachable because you can learn how the pieces move in five minutes. Contrast that with some German board games where going over the instructions is the first hour and even then you aren't sure if you understand. Why learn assembly?, well for one, the non-abstract aspect of assembly is less abstract, and arguably easier to understand than even the simplest high level languages. Secondly, learning asse…

I only read assembly these days, not write it. Usually when looking at profiling outputs for my hot path. So knowing assembly is still very valuable when you routinely find your code isn't keeping up with your data, and scaling isn't an option.

Re: Some Assembly Required: An approachable introduction to assembly

#77
post #26

My favorite part is the heavily commented code examples. Those are much more useful for increasing my understanding than most other resources. To me, that level of information density just works better for my brain than articles or sites that try to explain things. Something about being _in the code_ while stepping through lines one by one with explanations is just so much easier to follow. I wish more learning resou…

Ahhhh thank you for mentioning this! This was _really_ important to us, because it was hard for us to find real code examples that worked, and when we did, they were hard to parse. It's also why we put it in GitHub, so it could live alongside the code examples :)

Yes! I think two things with code examples have a significant impact, at least for me personally- 1) the examples are complete and work and 2) line-by-line explanation.

A lot of resources show a snippet of code, followed by an impenetrable paragraph that tries to explain multiple concepts from the snippet all at once. Maybe that works for others, but for me it makes it impossible to parse and overwhelms me, so nothing sticks.

Post reply on HN