QB MP 8086, Microprocessor Lab Manual Viva Questions
QB MP 8086, Microprocessor Lab Manual Viva Questions
QB MP 8086, Microprocessor Lab Manual Viva Questions
iii)
iv)
Q5. What is stack? Explain the use and operation of stack and stack pointer?
Ans. A stack is a portion of the memory used for the temporary storage. A stack is a last
In first Out memory. A stack grows in the decreasing order. A stack will hold the
temporary informations push and pop are the instructions used for storing and
accessing data from the stack. Contents can be moved as 16 bit only using push and
pop instructions.
Q11. The 2s complement signed data contents of AL equal -1 and the contents of CL
are
-2. What result is produced in AX by executing the following instructions:
i) MUL CL ii) IMUL CL
Ans. As binary data, the contents of AL and CL are
(AL) = -1 (as 2s complement) = 111111112 = FFH
(CL) = -2 (as 2s complement) = 111111102 = FEH
Executing the MUL instruction gives
(AX) = 111111112 * 111111102 = 11111101000000102
= FD02H
The second instruction multiplies the two numbers as signed numbers to generate
the signed result. That is,
(AX) = -1H * -2H
= 2H = 0002H
Q12. Explain different types of registers in 8086 microprocessor arch.
Ans. Most of the registers contain data/instruction offsets within 64 KB memory
segment. There are four different 64 KB segments for instructions, stack, data and extra
data. To specify where in 1 MB of processor memory these 4 segments are located the
processor uses four segment registers:
Code segment (CS) is a 16-bit register containing address of 64 KB segment with
processor instructions. The processor uses CS segment for all accesses to instructions
referenced by instruction pointer (IP) register. CS register cannot be changed directly.
The CS register is automatically updated during far jump, far call and far return
instructions.
Stack segment (SS) is a 16-bit register containing address of 64KB segment with
program stack. By default, the processor assumes that all data referenced by the stack
pointer (SP) and base pointer (BP) registers is located in the stack segment. SS register
can be changed directly using POP instruction.
Data segment (DS) is a 16-bit register containing address of 64KB segment with
program data. By default, the processor assumes that all data referenced by general
registers (AX, BX, CX, DX) and index register (SI, DI) is located in the data segment.
DS register can be changed directly using POP and LDS instructions.
Extra segment (ES) is a 16-bit register containing address of 64KB segment, usually
with program data. By default, the processor assumes that the DI register references the
ES segment in string manipulation instructions. ES register can be changed directly using
POP and LES instructions.
It is possible to change default segments used by general and index registers by prefixing
instructions with a CS, SS, DS or ES prefix.
All general registers of the 8086 microprocessor can be used for arithmetic and logic
operations. The general registers are:
Accumulator register consists of 2 8-bit registers AL and AH, which can be combined
together and used as a 16-bit register AX. AL in this case contains the low-order byte of
the word, and AH contains the high-order byte. Accumulator can be used for I/O
operations and string manipulation.
Base register consists of 2 8-bit registers BL and BH, which can be combined together
and used as a 16-bit register BX. BL in this case contains the low-order byte of the word,
and BH contains the high-order byte. BX register usually contains a data pointer used for
based, based indexed or register indirect addressing.
Count register consists of 2 8-bit registers CL and CH, which can be combined together
and used as a 16-bit register CX. When combined, CL register contains the low-order
byte of the word, and CH contains the high-order byte. Count register can be used as a
counter in string manipulation and shift/rotate instructions.
Data register consists of 2 8-bit registers DL and DH, which can be combined together
and used as a 16-bit register DX. When combined, DL register contains the low-order
byte of the word, and DH contains the high-order byte. Data register can be used as a port
number in I/O operations. In integer 32-bit multiply and divide instruction the DX
register contains high-order word of the initial or resulting number.
The following registers are both general and index registers:
Stack Pointer (SP) is a 16-bit register pointing to program stack.
Base Pointer (BP) is a 16-bit register pointing to data in stack segment. BP register is
usually used for based, based indexed or register indirect addressing.
Source Index (SI) is a 16-bit register. SI is used for indexed, based indexed and register
indirect addressing, as well as a source data address in string manipulation instructions.
Destination Index (DI) is a 16-bit register. DI is used for indexed, based indexed and
register indirect addressing, as well as a destination data address in string manipulation
instructions.
Note, the only difference in 80186/88 vs. 8086/88 is in the generation of ALE which
is asserted one-half clock cycle earlier
ly two units)
Q8. Explain the evolution of 80286.
Ans. The 80286 was introduced by Intel on February 1, 1982. As the 80186/80188 CPUs
were not really significant to personal computing, the 80286 was Intel's next step
processor for micro computers.
Intel added four more address lines to the 8086/80186 design. The 8086, 8088, 80186,
and 80188 all contained 20 address lines, giving these processors one megabyte of
addressibility (2^20 = 1MB). The 80286, with its 24 address lines, gives 16 megabytes of
addressibility (2^24 = 16 MB).
The most substantial difference between the 80286 and the 8086/8088 is the addition of a
protected mode. In protected mode, segment registers became pointers into a table of
memory descriptors rather than being a direct part of the address. Among other things,
protected mode allows safe execution of multiple programs at once by protecting each
program in memory. DOS normally operates in real mode, in which segment registers act
just as they do in the 8086/8088. Protected mode is used by Microsoft Windows, IBM's
OS/2 and UNIX. (For an introduction to protected mode please refer to this source)
The 80286 is a much more powerful CPU than the 8086, offering 3-6 times the
performance of it. The 6 MHz 80286 is the CPU of the IBM AT (Advanced Technology),
which also introduced a 16-bit motherboard and 16-bit expansion bus to the PC world.
The IBM AT was introduced in 1985 - three years after introduction of the 80286.
With the 80286, the first "chipsets" were introduced. The computer chipset is a set of
chips that replaced dozens of other peripheral chips while maintaining identical
functionality. Chips and Technologies became one of the first popular chipset companies.
Intel second-sourced the 80286 to ensure an adequate supply of chips to the computer
industry. AMD, IBM, and Harris were known to produce 80286 chips as OEM products;
while Siemens, Fujitsu, and Kruger either cloned it or was also second-sources. Between
these various manufacturers, the 80286 was offered in speeds ranging from 6 MHz to 25
MHz:
Intel:6-12.5MHz
Siemens:8-16MHz
AMD:8-20MHz
Harris:10-25MHz
The 80286 was typically made in 3 package versions, each with 68 contacts: a PGA-,
CLCC-and a PLCC-package.
Q9. Is there any instruction added to 80286 instruction set? If yes, mention.
Ans. Yes, in 80286 few instruction is added with 80186 instruction set.
They are written below: ARPL - Adjust RPL Field of Segment Selector
Q14. What are the comparisons between 8086, 80286, 80386, Pentium?
Ans.
8086
80286
80386
Pentium
Introduced
78
82
85
95
Clock Speed
510 MHz
6-12MHz
16-33MHz
150-200 MHz
Bus width
16 bits
16 bits
32 bits
64 bits
No.of transistor 29000
134000
275000
5.5 million
Addressable
1 MB
16 megabytes
4 gigabytes
64 gigabytes
Memory
Virtual memory
1 gigabyte
64 terabytes
64 terabytes