• Cethin@lemmy.zip
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 months ago

    Anyone who thinks OP asking about Assembly with this meme should play the game Turing Complete. It’s great. You have to design a computer all the way from the most basic logic gates (I think you only get a NAND gate to start), designing an ALU and CPU, creating your own machine language, and writing your own programs in the language you designed, and it’s all simulated the whole time. Machine language is pretty advanced as far as things go.

  • finley@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    I remember watching assembly demos in the early-mid 90s and thinking those guys were wizards

  • HStone32@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    Not exactly accurate, I think. Even machine language is bound by the CPU’s architecture. You can’t do anything in machine language that wasn’t specifically provided for by the CPU architects.

    It would be more accurate to say it’s like creating a new universe using all the same laws of physics, thermodynamics, cosmology, ethics, etc as our existing universe.

        • henfredemars@infosec.pub
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          3 months ago

          There’s actually good reasons for this design. It’s easy to write a Scheme interpreter in assembly, but it’s hard to write a C compiler in assembly that handles everything correctly. Much rather write it in higher level language if possible and Scheme lowers the bar to getting there, so you can get away from using assembly as quickly as possible. Or you can copy somebody else’s Scheme implementation of a C compiler because now you’re platform independent.

          Then you can write your C compiler in C (or steal a better compiler already written in C) and close the loop. For your final step, you use the C compiler to compile itself.

      • davel [he/him]@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        3 months ago

        I never did get very far with the TRS-80 Editor Assembler, but that was my first exposure to such things.

        I also remember the BASIC code for the Dancing Daemon which was replete with PEEKs and POKEs, such that much of it was written in machine code.

  • darklamer@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    It’s now been 18 years since the last time an employer paid me to write assembly, but it’s only been a year or so since the last time I had to read assembly at work (in order to verify what the compiler really was doing).

  • LavenderDay3544@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    OS and embedded dev here. I use assembly all the time. I’ve even worked on firmware that was entirely in assembly of strict requirements that couldn’t be met in C.

    Also even machine code hides a lot about how the underlying machine works so if you really want to do computing from scratch you really do hate to invent the universe because there’s abstractions all the way up the hardware stack just like there is in software.

  • JoYo@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    I get the feeling that all of these assembly jokes are justifications to avoid learning assembly.

    You can still make syscalls in assembly. Assembly isnt magic. It isn’t starting from the creation of matter and energy, it’s just very specific code.

  • jaybone@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    Assembly used to be a required course for CS undergrads in the 90s. Is that no longer the case?

    Also we had to take something called Computer Architecture, which was like an EE class designing circuits with gates and shit.