Explain in brief programming model of X-86 Family.
16-bit version of X-86 Family :
(1) The 8088 and 8086 defines basic programming model for X-86 family.
(2) The 16-bit version for programming model is used in 16-bit microprocessor of X-86 family
i.e., in 8088, 8086 and 80286.
(3) The 16 - bit version of programming model of X- 86 family is shown in the following figure.
(5) As shown in above figure the programming model of 16-bit version of X-86 family consists of three register groups.
(6) The first contains 8-general purpose registers called A, B,C,D,SI, DI, SP and BP registers. Al,BL,..... indicates lower bytes and AH, BH, ....... indicates higher bytes. The full 16-bit registers are referred as AX, BX, CX and DX, where X stands for extended SI, DI, BP, SP registers are always treated as 16-bit registers. These are pointer register because they are used to point locations within a segment.
(7) The second group of registers is the segement group of registers. This group consists of code segment, stack segment and two data segment registers. Operation with external memory. Address compulations and data movements are performed here.
(8) The third group of registers consists of instruction pointer (IP) and fla register.
32-bit version of X-86 Family :
(1) The 8088 and 8086 defines the base programming model for the entire X-86 family of advanced microprocessors.
(2) The newer members of X- 86 family have greater computing power because they are faster, theyuse 32-bit registers instead of 16-bit register and they have advanced addressing techniques
(3) Following figure show programming model for 32-bit version of X-86 family used in 32 bit microprocessor family i.e. in 386,486 and pentium.
(4) The programming model of 32-bit version of X-86 family consists of 3 register groups.
(5) The first group contains eight general puropose registers called EX, EBX, ECX, EDX, ESI, EDI, ESP and EBP registers. Where E tells us that these registers have extented length. Each register can be addressed in 1,8,16 or 32- bit models. These registers are used to store data during computations.
(6) The second group of resisters is the segment group. This group consists of code segment, stack segment and four data segment registers. The data segment registers are DS, ES, FS and GS. These registers manage operation with external memory. Address computations and data movements are performed here.
(7) The third set of registers consists of Instruction Pointer (I.P.) and flag register