45 points

I bought a PC kit and it said “some assembly required” so I always try to link at least one asm file in my projects.

permalink
report
reply
6 points

Hahahaha 🤣

permalink
report
parent
reply
17 points

Generally speaking the OS is your universe and you interact via syscalls. Linking libc is also an option.

In some instances you may need to roll your own, but it’s likely to be small and specialized.

permalink
report
reply
16 points

:stares in genX:

That’s not assembly, that’s ikea.

Back in my day…

permalink
report
parent
reply
5 points

Remember before .dlls were a thing and you had to write your own config files for every game that you installed on DOS?

permalink
report
parent
reply
15 points
*

I was taught assembler in my second year at school

It’s kind of like construction work

With a toothpick, for a tool

~ The Eternal Flame, by Bob Kanefsky

permalink
report
reply
15 points

My old job had a lot of embedded programming - hard real-time Z80 programming, for processors like Z800s and eZ80s to control industrial devices. Actually quite pleasant languages to do bit-twiddling in, and it’s great to be able to step through the debugger and see that what the CPU is running is literally your source code, opcode by opcode.

Back when a computers were very simple things - I’m thinking a ZX Spectrum, where you can read directly from the input ports and write directly into the framebuffer, no OS in your way just code, then assembly made a lot of sense, was even fun. On modem computers, it is not so fun:

  • x64 is just a fucking mess

  • you cannot just read and write what you want, the kernel won’t let you. So you’re going to be spending a lot of your time calling system routines.

  • 99% of your code will just be arranging data to suit the calling convention of your OS, and doing pointless busywork like stack pointer alignment. Writing some macros to do it for you makes your code look like C. Might as well just use C, in that case.

Writing assembly makes some sense sometimes - required for embedded, you might be writing something very security conscious where timing is essential, or you might be lining up some data for vectorisation where higher-level languages don’t have the constructs to get it right - but these are very small bits of code. You would be mad to consider “making the whole apple pie” in assembly.

permalink
report
reply
12 points

I have. Mostly on embedded devices that have no OS and you need something very specific.

… Or that one time i was reverse engineering a console kernel. I wrote arm asm then. Was actually fun to do tbh

permalink
report
reply
5 points

ARM assembly is so lovely to work with compared to the old CISC garbage.

permalink
report
parent
reply
1 point

m68k assembly was my favorite back in the day.

permalink
report
parent
reply
1 point

I love ARM assembly so much that I’m looking at it right now.

permalink
report
parent
reply
3 points

IOS right?

permalink
report
parent
reply
2 points
*

Haha ye. It is super interesting to see all those OS principals and seeing how nintendo implemented them. Stuff i will never forget either and some design patterns i have implemented in my actual job too

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7K

    Monthly active users

  • 950

    Posts

  • 35K

    Comments