8051 has the following features they are:
1.4096 bytes of on-chip program memory
2.128 bytes on-chip data memory
3.Four register banks
4.128 user defined software software flags
5.32 bidirectional I/O lines organised as four 8-bit ports
6.Two multiple modes ,16-bit timers/counters
7.Two level prioritized interrupt structure
8.Binary or decimal arthematic
8086 has powerful set of registers .It includes general purpose registers,segment registers,pointers and index registers and flag registers
GENERAL PURPOSE REGISTERS:8086 has four 16-bit general purpose registers.They are labeled as AX,BX,CX,DX.Each 16-bit register can be split into 28bit registers.For example BX can be split into BH and BL.The general purpose registers are either used for holding data,variables and intermediate results temporarily.
- AX-used as accumulator
- BX-used as offset storage for generating physical address
- CX-used as a default counter in case of string and loop instruction.
SEGMENT REGISTER: the physical address of 8086 is 20-bit wdide to access 1 mbyte memory locations .8086 uses memory segmentation.It treats the 1mbyte of memory as divided into segments with a max size of 64kbyte.There are 4 active segments.They are code segment,data segment,stack segment and extra segment.
- cs register holds the upper 16-bit of starting address of the segment from which the BIU is currently fetching code byte
- ss register holds for the upper 16-bit of the starting address for the program stack
- es and ds registers are used to hold the upper 16-bits of starting address of the two memory segments which are used for data
POINTERS AND INDEXED REGISTERS: To get 20-bit physical address one or more pointer or indexed registers are associated with each segment registers.The pointer rgister IP,BP,and SP are associated with code,data and stack segments .The index registers DI and SI are used as a general purpose registers as well as for offset storage in case of indexed,base indexed and relative based indexed addressing modes.
FLAG REGISTER: flag register contains the following active flags
carry flag(CF),parity flag(PF),auxiliary flag(AF),zero flag(ZF),sign flag(SF),overflow flag(OF),trap flag(TF),interrupt flag(IF),direction flag(DF).