• Data Registers
- “General purpose” registers that can only be used while
manipulating data. (Specialized).
- May not be used in the calculation of an effective address.
… User-Visible Registers
• Address Registers
- May be used “General purpose” as well as addressing.
(Specialized).
- Ex: Segment Pointers, Stack Pointer, etc
8
AC
16
8 8
B C Data registers that can be
D E combined in pairs to form
H L Address registers
16
PC
User-visible control register
SP
Flags
… Example Register Organizations
• Intel 8086 Microprocessor (16-bit)
• Every register is special purpose.
AX Accumulator
- Some are usable as general General BX Base
purpose Registers CX Count
DX Data
• 4 16-bit data registers
- Usable as 8-bit and 16-bit SP Stack Pointer
Pointers
• 4 16-bit pointer & index registers & BP Base Pointer
SI Source Index
Index
• 4 16-bit segment registers DI Destination Index
CS
• These registers acquire implicit Segment DS
meanings when used with some Pointers SS
instructions. ES
- Example, AX becomes
accumulator when arithmetic IP Instruction Pointer
PSW
instructions are being executed. Flags
… Example Register Organizations
• Motorolla 68000 Microprocessor (16-bit)
• Seventeen 32-bit registers
- 8 Data and 9 Address
- Data registers are used for data manipulation allowing 8, 16 and 32 bit
operations.
- Address registers are used for 32-bit addressing.
– No segmentation.
- Two registers are used for stack pointers (A7 and A7’).
– One for user stack and the other for system stack.
D0 A0
D1 A1
D2 A2
D3 A3
D4 A4
D5 A5
D6 A6
D7 A7 User SP
A7’ System SP
Program Counter
Status Reg.
… Example Register Organizations
• Intel 80386 Microprocessor (32-bit)
• The 8086 design is embedded into the new 32-bit register
design.
EAX AX
EBX BX
ECX CX
EDX DX
ESP SP
EBP BP
ESI SI
EDI DI
Instr. Pointer
Flags