Microprocessor (BSc CSIT, CSC162): the questions likely to come
82 analyzed questions from 7 past papers (2074-2081), grouped by syllabus unit — each with its probability, how often it's been asked, and where to study the answer.
Write an assembly language program to sort an array of numbers in ascending order. Explain the algorithm used.
Assembly Program to Sort an Array in Ascending Order
Algorithm Used — Bubble Sort
Bubble sort repeatedly steps through the list, compares each pair of adjacent elements and swaps them if they are in the wrong order. After each full pass the largest unsorted element "bubbles" to its correct position. For n elements it needs at most n-1 passes; here we use a simple fixed n-1 outer loop with an inner comparison loop.
8086 Assembly Program (sorts a byte array)
.MODEL SMALL
.DATA
ARR DB 25H, 12H, 56H, 03H, 49H, 18H
N EQU 6 ; number of elements
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV CX, N-1 ; outer loop count = n-1 passes
OUTER:
MOV SI, OFFSET ARR ; point to start of array
MOV DX, CX ; inner loop count (passes shrink)
INNER:
MOV AL, [SI] ; AL = current element
CMP AL, [SI+1] ; compare with next element
JBE NOSWAP ; if AL <= next, no swap (unsigned)
; swap the two adjacent bytes
MOV BL, [SI+1]
MOV [SI+1], AL
MOV [SI], BL
NOSWAP:
INC SI ; move to next pair
DEC DX
JNZ INNER ; repeat inner loop
LOOP OUTER ; repeat outer loop (decrements CX)
MOV AH, 4CH ; terminate program
INT 21H
MAIN ENDP
END MAIN
Working
DSis loaded with the data segment.CXholds the number of passes (n-1).- In each pass
SIscans the array;CMP AL,[SI+1]withJBEkeeps the smaller element first (ascending). IfAL > next, the two bytes are swapped. - After all passes the array
ARRis sorted in ascending order.
(For signed numbers replace JBE with JLE.)
Marking summary: Correct algorithm explanation (3), correct working program with comments (5), explanation of swap/loop logic (2).
Programming Model and Instruction Set of 8085
Write an assembly language program to sort an array of numbers in ascending order. Explain the algorithm used.
Write an assembly language program to add two 16-bit numbers and store the result. Explain the use of registers and flags.
Explain the instruction set of the 8085/8086 microprocessor. Classify the instructions into data transfer, arithmetic, logical, branch and machine control groups with examples.
Write an assembly language program to find the largest number in an array of n numbers. Explain the logic.
What are conditional and unconditional jump instructions?
Explain the rotate and shift instructions.
Explain the different addressing modes of the 8086 microprocessor with suitable examples for each.
List the logical instructions of the 8086.
Write a short note on string instructions in 8086.
Explain the LOOP instruction.
Differentiate between CALL and JMP instructions.
Write a short note on the direct addressing mode.
What is the difference between a macro and a procedure?
Explain the use of the ASSUME directive.
List the data transfer instructions of 8086.
Differentiate between MOV and XCHG instructions.
Explain based indexed addressing mode.
List any four arithmetic instructions of the 8086.
Explain register addressing mode.
Define opcode and operand.
Explain immediate addressing mode with an example.
Explain the term 'addressing mode'.
Sit a probable paper
A full mock exam built from the most likely questions, mirroring the real paper's structure. Every slot is a real past question.
Most Probable Paper
Mirrors the real structure · 60 marks · based on 7 past papers
- 1.[10 marks]
What is the instruction cycle? Explain fetch, decode and execute cycles. Describe the timing diagram for a memory read operation.
This question has recurred in 2 of 7 years; so far only in internal assessments, not the board; and its topic (Microprocessor Architecture and Microcomputer System) appears in 100% of years.
- 2.[10 marks]
Write an assembly language program to sort an array of numbers in ascending order. Explain the algorithm used.
Asked once (2081); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 3.[10 marks]
Write an assembly language program to add two 16-bit numbers and store the result. Explain the use of registers and flags.
Asked once (2079); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 1.[5 marks]
What are conditional and unconditional jump instructions?
Asked once (2081); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 2.[5 marks]
Explain the rotate and shift instructions.
Asked once (2081); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 3.[5 marks]
List the logical instructions of the 8086.
Asked once (2080); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 4.[5 marks]
Write a short note on string instructions in 8086.
Asked once (2080); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 5.[5 marks]
Explain the LOOP instruction.
Asked once (2079); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 6.[5 marks]
Differentiate between CALL and JMP instructions.
Asked once (2079); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 7.[5 marks]
Write a short note on the direct addressing mode.
Asked once (2079); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 8.[5 marks]
What is the difference between a macro and a procedure?
Asked once (2078); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
- 9.[5 marks]
Explain the use of the ASSUME directive.
Asked once (2078); so far only in internal assessments, not the board; and its topic (Programming Model and Instruction Set of 8085) appears in 100% of years.
Behind the numbers
The raw evidence the predictions are computed from: marks per unit per year, syllabus weights, trends, and coverage.
Show the heatmap, topic table and coverage analysis
The receipt: marks per unit, per year
Each row is a syllabus unit, each column an exam year, each cell the marks that unit earned that year. Click any cell to see the actual questions behind it.
| # | Syllabus unit | Probability | Appeared | Avg marks | Syllabus weight | Exam vs syllabus | Trend | Questions |
|---|---|---|---|---|---|---|---|---|
| 1 | U3Programming Model and Instruction Set of 8085 | Very likely100% | 19.3 | 27%12 lecture hrs | Balancedexam 26% · syllabus 27% | Steady | none repeat22 total | |
| 2 | U6Advanced Microprocessors | Very likely100% | 16.4 | 9%4 lecture hrs | Over-examinedexam 22% · syllabus 9% | Steady | 1 recurring16 total | |
| 3 | U5Interrupts and Interfacing | Very likely86% | 21.7 | 18%8 lecture hrs | Over-examinedexam 25% · syllabus 18% | Rising | none repeat19 total | |
| 4 | U2Microprocessor Architecture and Microcomputer System | Very likely100% | 13.6 | 20%9 lecture hrs | Balancedexam 18% · syllabus 20% | Fading | 1 recurring16 total | |
| 5 | U1Introduction | Likely71% | 5 | 13%6 lecture hrs | Under-examinedexam 5% · syllabus 13% | Steady | none repeat5 total | |
| 6 | U4Stack, Subroutines and Code Conversion | Possible43% | 8.3 | 13%6 lecture hrs | Under-examinedexam 5% · syllabus 13% | Steady | none repeat4 total |
Study smart, not hard
Drag the slider: studying the top 4 units in priority order covers ~90% of all observed marks.
- ~80% line
Lecture time vs exam marks
Where the exam pays more than the curriculum spends: ● lectures vs ● exam marks, as a share of the whole course. A long teal-leading bar = high-yield unit.