COA QB answers
1. Explain Von Neumann Model with diagram.
The von Neumann architecture also known as the von Neumann model or Princeton
architecture is a computer architecture based on a 1945 description by
Hungarian-American mathematician and physicist John von Neumann
• A processing unit that contains an arithmetic logic unit and processor registers
• A control unit that contains an instruction register and program counter
• Memory that stores data and instructions
• External mass storage
• Input and output mechanisms
2. Convert decimal to any number system
Eg.
3. Differentiate between Restoring and Non-Restoring Division
algorithms.
4. Analyze the architecture of the 8086 processor and explain how its
registers support program execution.
The 8086 processor architecture employs segmented memory organization:
● Code Segment (CS)
● Data Segment (DS)
● Stack Segment (SS)
● Extra Segment (ES)
A. General Purpose Registers: Normally used for storing temporary results. Each of the
registers is 16 bits wide (AX, BX, CX, DX).
AX - the Accumulator
BX - the Base Register
CX - the Count Register
DX - the Data Register.
B. Pointer and Index Registers: All 16 bits wide, L/H bytes are not accessible
Used as memory pointers
Example: MOV AH, [SI]
C. Flag Register:
Status of arithmetic logic operations
D. Segment Registers:
Segment registers are used to store the Base address of the segment.
4 Segments in 8086:
– Code Segment (CS)
– Data Segment (DS)
– Stack Segment (SS)
– Extra Segment (ES).
E. Stack registers:
The stack register has the address that points the stack top
5. Analyze different addressing modes of 8086 with suitable
examples, and comment on their efficiency.
Addressing Modes
1. Register Addressing – Operand is in a register.
Example: Add contents of R4 to R3.
Advantage: Very fast (no memory access).
Disadvantage: Limited number of registers.
2. Direct Addressing – Instruction gives the memory address directly.
Example: Add contents of memory A to R2.
Advantage: Very simple.
Disadvantage: Limited address space.
3. Immediate Addressing – Operand value is given inside the instruction.
Example: Add number 100 to R2.
Advantage: No memory access.
Disadvantage: Value size is limited.
4. Register Indirect Addressing – Register holds the memory address of operand.
Example: Load into R3 the value from memory location stored in R2.
Advantage: Flexible, can access many locations.
Disadvantage: Requires extra memory access.
5. Index Addressing – Effective address = register + constant, useful for arrays.
Example: Load value from (R2 + 4) into R4.
Advantage: Good for arrays.
Disadvantage: More complex to implement.
6. Relative Addressing – Address is relative to the program counter (PC).
Example: Jump to PC + 100.
Advantage: Useful for jumps and loops.
Disadvantage: Works only within a limited range.