this post was submitted on 17 Oct 2024
1368 points (98.9% liked)

RetroGaming

19596 readers
417 users here now

Vintage gaming community.

Rules:

  1. Be kind.
  2. No spam or soliciting for money.
  3. No racism or other bigotry allowed.
  4. Obviously nothing illegal.

If you see these please report them.

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Dubiousx99@lemmy.world 23 points 1 month ago (1 children)

Assembly requires a knowledge of the cpu architecture pipeline and memory storage addressing. Those concepts are generally abstracted away in modern languages

[–] WolfLink@sh.itjust.works 12 points 1 month ago* (last edited 1 month ago) (1 children)

You don’t need to know the details of the CPU architecture and pipeline, just the instruction set.

Memory addressing is barely abstracted in C, and indexing in some form of list is common in most programming languages, so I don’t think that’s too hard to learn.

You might need to learn the details of the OS. That would get more complicated.

[–] Dubiousx99@lemmy.world 7 points 1 month ago

I said modern programming languages. I do not consider C a modern language. The point still stands about abstraction in modern languages. You don’t need to understand memory allocation to code in modern languages, but the understanding will greatly benefit you.

I still contend that knowledge of the cpu pipeline is important or else your code will wind up with a bunch of code that is constantly resulting in CPU interrupts. I guess you could say you can code in assembly without knowledge of the cpu architecture, but you won’t be making any code that runs better the output code from other languages.