• hbm
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    The fact that x86. Hasn’t changed its foundation much, isn’t that just a combination of hardware making up for original design shortcomings, while economy keeping better solutions at bay? (Not a chip guy, I’m likely wrong.)

  • hbm
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    Never did SPARC assembly, but ISTR their registers were basically a ring of groups of registers allowing fast context switches as long as the call depth stayed shallow (fsvo shallow). When the ring was exhausted, you had to stash away in memory.

  • PhilipTheBucket@ponder.cat
    link
    fedilink
    arrow-up
    6
    ·
    8 days ago

    I knew it, man.

    I learned MIPS assembly first, and it was like the registers were all a baseball team, with everyone trained and doing their part to try to get the job done.

    When I learned about x86 assembly it was like the registers were a tiny band of wacky misfits who were going around in a van trying to solve mysteries.

    • Code segment: fine
    • Data segment: It’s weird that you even do “segments” but fine
    • Extra segment: …
    • F segment: Please stop
    • G segment: Stop it
    • paulh@lemmy.sdf.org
      link
      fedilink
      arrow-up
      4
      ·
      8 days ago

      Fantastic description!

      Z-80 was much the same: djnz uses C as the loop counter (like the 8086 LOOP used CX iirc), H and L combine to make a 16-bit pointer…