User-Visible Register
Introduced to this through SE350.
Enable programmer to minimize main memory references by optimizing register use.
User-visible registers are available to all programs – application programs and system programs.
- Depend on computer architecture
- May be referenced by machine language
- Usually the compiler controls them
Can be user controlled:
- register keyword in C
- volatile keyword in C
- Clobber list in ASM
Two categories of visible registers:
- Data registers: store data (e.g., results from calculations; D0-D7 in M68k processors)
- Address register: point to memory
- Indexed addressing (Adding an index to a base value to get the effective address)
- Segment pointer (When memory is divided into segments, memory is referenced by a segment and an offset)
- Stack pointer (Points to top of stack for pop & push)