• @[email protected]
    link
    fedilink
    441 month ago

    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.

  • TunaCowboy
    link
    fedilink
    161 month ago

    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.

      • @[email protected]
        link
        fedilink
        51 month ago

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

  • @[email protected]
    link
    fedilink
    151 month ago

    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.

  • @[email protected]
    link
    fedilink
    14
    edit-2
    1 month ago

    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

  • DacoTaco
    link
    fedilink
    111 month ago

    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

  • zitrone 🍋
    link
    fedilink
    31 month ago

    If everything above ASM is the Universe, what is below? What is the ALU, CU and everything else that goes into Processor design? What comes before the Universe?

  • Alex
    link
    fedilink
    31 month ago

    I write assembly for test cases and early setup code. I read far more assembly than I write.