REGISTER ORGANIZATION Flashcards
The 14 registers of 8086 microprocessor are categorized into four groups.
1) purpose data registers 2) Pointer registers
3) Index registers
4) Segment registers
5) Flag registers and
6) Instruction pointer register
There are four 16-bit general purpose registers:
- AX,
- BX,
- CX,
- DX
There are four 8-bit general purpose registers:
- AL and AH
- BL and BH
- CL and CH
- DL and DH
There are two 16-bit Pointer registers:
1) Stack Pointer (SP)
2) Base Pointer (BP)
There are two 16-bit Index registers:
a) Source Index (SI)
b) Destination index (DI)
There are four 16-bit microprocessors:
1) Code Segment (CS)
2) Data Segement (DS)
3) Stack Segment (SS)
4) Extra Segment (ES)
The 16-bit instruction register is called: Instruction Pointer (IP)
The 16-bit flag register (PSW) is called:
Flag register
There are four 16-bit 4 general purpose registers namely (AH, AL);(BH,BL); (CH,CL); (and DH,DL) which are part of Execution unit.
These registers can be used individually for storing 16-bit data temporarily .
The AL register is also called the accumulator.
The pairs of general purpose registers can be used together to store 16-bit data words.
It is always advantageous to store the data in the general purpose registers because the data can be accessed much more easily as these registers are already in the execution unit.
Here L indicates the lower byte and H indicates the higher byte. X indicates the extended register.
The general purpose data registers are used for data manipulations.
The use of these registers is more dependent on the mode of addressing also.
The other four registers of EU are referred to as index / pointer registers. They are : -Stack Pointer register , -Base Pointer register, -Source Index register and -Destination Index registers.
The pointer registers contain the offset within a particular segment.
The BP & SP registers holds the offsets within the data and stack segments respectively.
The Index registers are used as general purpose registers as well as for holding the offset in case of indexed based and relative indexed addressing modes.
The source Index register is generally used to store the offset of source data in data segment while the Destination Index register used to store the offset of destination in data or extra segment.
These index registers are specifically used in string manipulations.
There are four 16-bit segment registers namely code segment register(CS),Stack segment register(SS),Data segment register(DS) and Extra segment register(ES).
The code segment register is used for addressing the 64kB memory location in the code segment of the memory ,where the code of the executable program is stored.
Similarly the DS register points to the data segment of the 64kB memory where the data is stored.
The Extra segment register also refers to essentially another data segment of the memory space.
The SS register is useful for addressing stack segment of memory. So, the CS,DS,SS and ES segment registers respectively contains the segment addresses for the code, data, stack and extra segments of the memory.
Instruction Pointer Register is a 16-bit register which always points to the next instruction to be executed within the currently executing code segment.
The IP register contains the 16-bit offset address pointing to the next instruction code within the 64kB of the code segment area.