* The true programmer's model of any processor shows its internal registers, number of address lines, number of data lines, memory map & port addresses which we need to write programs. * However, memory map & port addresses are depend on the system configuration. * So usually internal registers, number of address lines & number of data lines are shown in the programmer's model of the processor. * The basic programming model consists of the following aspects: * Registers
* Instruction Set
* Addressing Modes
* Data Types
* Memory Organization
* Interrupts and Exceptions
* The Fig.1 shows the programmer's model of 8086 microprocessor.
* 8086 microprocessor includes:
* Fourteen 16-bit registers.
* Four data registers, AX, BX, CX, DX
* The status register, SR, with nine of its bits implemented for status and control flags. * The instruction pointer, IP
* Two pointer registers, BP, SP ??
* Two index registers, SI, DI ??
* Four segment registers, CS, DS, SS, ES
* The memory address space is 1 Mbytes and the I/O address space is 64 Kbytes in length.
* Register Organization of 8086 microprocessor:
a) General Purpose Registers
i) The 8086 has 4 16-bit general purpose registers labelled AX, BX, CX & DX. Each 16-bit general purpose register can be split into two 8-bit registers. The letters L & H specify the lower & higher bytes of a particular register. The letter X is used to specify the complete 16-bit register. ii) General purpose registers are either used for holding data, variables & intermediate results temporarily. They can also be used as counters or for storing offset address. iii) Refer Fig. 2(a).
b) Segment Registers
iv) The 1Mb of memory is dividen into segments, with a max size of segment as 64Kb. 8086 allows only four active...