Exercise 3: What Stays the Same vs. What Genuinely Differs — Possible Solution ==================================================================== CHOSEN ROW: REGISTERS ------------------------------ (Any of the four rows works equally well for this exercise; this solution walks through "Registers" as a representative example.) WHAT STAYS CONCEPTUALLY IDENTICAL ------------------------------ Per assembly1-4, a register is fast, on-chip storage the CPU can read and write far more quickly than memory -- a small working area for whatever a computation is actively using. That basic PURPOSE doesn't change at all moving from LC-3 to the 6502 or Z80: both real chips still use registers as fast, on-chip scratch space, and the general idea of "load a value into a register before you can operate on it" (load/store-style thinking) still applies in spirit. WHAT GENUINELY DIFFERS ------------------------------ Per this chapter's own bridge table, the ORGANIZATION is where things change substantially. LC-3 gave every one of its 8 registers (R0-R7) identical, general-purpose status -- any register could hold any value for any purpose, uniformly. Real 6502/Z80 hardware doesn't work that way: the chapter's own preview already flags the 6502's "famously few registers" and the Z80's contrasting shadow-register and index-register additions (covered in full starting cpu8bit1-3 and cpu8bit1-6) -- meaning many registers on real hardware have SPECIFIC, non-interchangeable jobs, shaped by the same cost and compatibility pressures this chapter already named. A 6502 program can't just pick any register for any purpose the way an LC-3 program could. WHY THE DIFFERENCE EXISTS ------------------------------ This isn't a random inconsistency -- per the chapter's own framing, it's the direct, visible result of the real-world pressures (the 6502's cost target, the Z80's compatibility requirement) that LC-3 was deliberately designed to avoid. Where LC-3 could afford a uniform, elegant register file because it never had to survive a manufacturing budget or a compatibility requirement, real chips' register layouts carry the fingerprints of exactly those pressures. WHY THIS WORKS AS AN ANSWER ------------------------------ It separates the underlying PURPOSE of registers (which carries over unchanged from assembly1) from their specific ORGANIZATION (which genuinely differs), and explains the difference as a direct consequence of the real-world design pressures this chapter already introduced, rather than treating the two systems as simply "different" without a stated reason.