Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Monday May 22, @05:31PM   Printer-friendly

https://www.devever.net/~hl/regmap

If you've ever had to write a program which interfaces directly with hardware — perhaps while writing a program for an MCU or embedded system or a kernel driver — you may have noticed a few common patterns in register map behaviour and design. I'm not sure anyone has ever really collected them together, so I decided to make a list of all the ones I can think of.


Original Submission

 
This discussion was created by janrinok (52) for logged-in users only. Log in and try again!
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Informative) by VLM on Monday May 22, @06:22PM (1 child)

    by VLM (445) on Monday May 22, @06:22PM (#1307409)

    Some old timer stuff you don't see much after 1980 or so...

    autoincrement indirect access registers like the pdp-8. If you're always going to inc after an indirect read, heck, make it automatic. The pdp-8 had 8.

    The registers connected to each other. 6809 has 8 bit reg A and B connected to D. In a sense, rotate and shift can be done with registers connected to each other. Some architectures had the carry register as a literal register not a condition code register.

    The article mentions "special" registers to do status/wait/done but there are more extreme examples where ALU register r0 is not just some random ALU register, its also the program counter. Almost as "interesting" as designs where the PC is also memory location 0x0000 or similar. Also along the lines of "special" register see various large memory schemes looking like segment registers or fancier MMU registers.

    Starting Score:    1  point
    Moderation   +1  
       Informative=1, Total=1
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 4, Informative) by stormreaver on Monday May 22, @09:29PM

    by stormreaver (5101) on Monday May 22, @09:29PM (#1307466)

    6809 has 8 bit reg A and B connected to D.

    A more elegant CPU for a more civilized age. I had a CoCo 3 (which had the 6809) and an IBM Compatible (remember those?) with an 8088. The 6809 ran rings around the 8088, and did so at a small fraction of the CPU speed. The 6809 was a pleasure to program, and the 8088 was close to nightmarish by comparison. There were many times when programming the 8088 that I said out loud, "That's idiotic!" about the Intel instruction set.