Complex and Relative Addressing Modes MCQs: 11 Solved COA Questions with Explanations
Solve 11 published COA questions by writing the effective-address rule first. Each answer traces the registers, displacement, pointer or update that produces the result.
KnowledgeGate Team
Exam prep & CS education

Start each calculation with the effective-address rule. Addressing Modes and Instruction Formats MCQs is the broader practice set for basic modes and instruction-format encoding. Multi-term addresses, relocation, segment arithmetic, stack side effects and indirect-memory cycles require a separate trace for every register, pointer and update.
Related reading: instruction formats and addressing and COA addressing mode questions.
1. Build one address-formation sheet before solving
Notation: A is an address or displacement; R, register content; M[x], memory; PC_next, post-fetch PC; EA, effective address.
Mode | Rule | Worked value |
|---|---|---|
Indexed or displacement |
|
|
Base plus index plus displacement |
|
|
PC-relative |
|
|
Register indirect |
| If |
Memory indirect |
| If |
8086 real-mode physical address |
|
|
Follow the stem's rule because textbook names overlap.
2. Indexed, base and displacement MCQs
Q1. Constant added to a register
ISRO 2009. Open the live solved question.
In which addressing mode, the effective address of the operand is generated by adding a constant value to the content of a register?
(a) Absolute mode
(b)
Indirect mode(c)
Immediate mode(d) Index mode
Answer: (d) Index mode. EA = R + A. For R = 1200 and A = 36, EA = 1200 + 36 = 1236.
Q2. Array access in contiguous memory
Which of the following addressing mode is best suited to accesses elements of an array of contiguous memory location?
(a) Indexed addressing mode
(b) Base register addressing mode
(c) Relative addressing mode
(d) None of these.
Answer: (a) Indexed addressing mode. For base 4000, width 4, and index 6, EA = 4000 + 6 x 4 = 4000 + 24 = 4024.
Q3. Register indirect plus an offset
UGC NET 2016. Open the live solved question.
The _____ addressing mode is similar to register indirect addressing mode, except that an offset is added to the contents of the register. The offset and register are specified in the instruction.
(a) Base indexed
(b) Base indexed plus displacement
(c) Indexed
(d) Displacement
Answer: (d) Displacement. One explicit offset added to one named register gives EA = R + A. For R = 5000 and A = 28, EA = 5028.
Q4. Two registers and a displacement
The effective address of the following instruction is MUL 5(R1,R2).
(a) 5+R1+R2
(b) 5+(R1*R2)
(c) 5+[R1]+[R2]
(d) 5*([R1]+[R2])
Answer: (c) 5+[R1]+[R2]. With [R1] = 1000 and [R2] = 24, EA = 5 + 1000 + 24 = 1029.
3. PC-relative addressing, relocation and position independence
Q5. The false claim about relative addressing
ISRO 2009. Open the live solved question.
Which of the following statements about relative addressing mode is FALSE?
(a) It enables reduced instruction size
(b) It allows indexing of array element with same instruction
(c) It enables easy relocation of data
(d) It enables faster address calculation than absolute addressing
Answer: (d) It enables faster address calculation than absolute addressing. Relative addressing adds a displacement. If PC_next = 2000 and displacement is -20, EA = 1980. Move the code by 1000: PC_next = 3000, so EA = 2980. The distance remains -20. Option (b) uses relative addressing in the broader base-plus-displacement sense, where changing the displacement selects another array element; PC-relative terminology is narrower.
Q6. What PC-relative addressing is best for
GATE 1996. Open the live solved question. This question also appears in Addressing Modes and Instruction Formats MCQs, where it checks general mode recognition; here the unchanged displacement is traced across two PC locations to explain position-independent code.
Relative mode of addressing is most relevant to writing
(a) co-routines
(b) position-independent code
(c) shareable code
(d) interrupt handlers
Answer: (b) position-independent code. PC_next = 4096 plus 32 gives 4128; PC_next = 8192 plus the same displacement gives 8224.
Q7. Remember that the PC has advanced
A Program Counter contains a number 825 and address part of the instruction contains the number 24. The effective address in the relative address mode, when an instruction is read from the memory is
(a) 849
(b) 850
(c) 801
(d) 802
Answer: (b) 850. Fetch advances 825 to 826, so EA = PC_next + A = 826 + 24 = 850.

4. Segmented real-mode address calculation
Q8. Convert CS:IP into a physical address
ISRO 2011. Open the live solved question.
Find the memory address of the next instruction executed by the microprocessor (8086), when operated in real mode for CS=1000 and IP=E000
(a) 10E00
(b) 1E000
(c) F000
(d) 1000E
Answer: (b) 1E000. 1000H x 10H = 10000H, then 10000H + E000H = 1E000H.
5. Auto-decrement and stack effects
Q9. Pop two stack values, add and push once
GATE 2008. Open the live solved question.
Assume that EA = (X)+ is the effective address equal to the contents of location X, with X incremented by one word length after the effective address is calculated; EA = −(X) is the effective address equal to the contents of location X, with X decremented by one word length before the effective address is calculated; EA = (X)− is the effective address equal to the contents of location X, with X decremented by one word length after the effective address is calculated. The format of the instruction is (opcode, source, destination), which means (destination ← source op destination). Using X as a stack pointer, which of the following instructions can pop the top two elements from the stack, perform the addition operation and push the result back to the stack.
(a) ADD (X)−, (X)
(b) ADD (X), (X)−
(c) ADD −(X), (X)+
(d) ADD −(X), (X)
Answer: (a) ADD (X)−, (X). With word length 4, start at X = 1000, M[1000] = 9, and M[996] = 6. Source (X)− reads 9 and sets X = 996; destination (X) reads 6. Store 9 + 6 = 15 at M[996]. Final X = 996 points to the result.
6. Mixed modes and execution-cycle memory references
Q10. Match four modes to four effective addresses
An instruction is stored at location 1200 with its address field at location 1201. The address field has the value 600. A processor register R1 contains the number 800. Match the addressing mode (List-I) given below with effective address(EA) (List-II) for the given instruction: List-I List-II i. Direct a. 1400 ii. Relative b. 800 iii. Indexed, with R1 as the index register c. 600 iv. Register Indirect d. 1802
(a) i-c, ii-d, iii-a, iv-b
(b) i-c, ii-a, iii-d, iv-b
(c) i-d, ii-c, iii-b, iv-a
(d) i-c, ii-d, iii-b, iv-a
Answer: (a) i-c, ii-d, iii-a, iv-b. Direct: EA = 600. After 1200 and 1201, PC_next = 1202; relative: 1202 + 600 = 1802; indexed: 800 + 600 = 1400; register indirect: EA = 800.
Q11. Count only execution-cycle memory references
GATE 2005. Open the live solved question. This question also appears in Addressing Modes and Instruction Formats MCQs, where it contributes to a broad mode survey; here the indexed destination, indirect pointer read, source read and write-back are traced as four separate execution cycles.
Consider a three word machine instruction ADD A[R0], @ B The first operand (destination) "A [R0]" uses indexed addressing mode with R0 as the index register. The second operand (source) "@ B" uses indirect addressing mode. A and B are memory addresses residing at the second and the third words, respectively. The first word of the instruction specifies the opcode, the index register designation and the source and destination addressing modes. During execution of ADD instruction, the two operands are added and stored in the destination (first operand). The number of memory cycles needed during the execution cycle of the instruction is
(a) 3
(b) 4
(c) 5
(d) 6
Answer: (b) 4. Excluding fetches, let A = 1000, R0 = 20, B = 2000, M[1020] = 7, M[2000] = 3000, and M[3000] = 5.
Read destination
M[1000 + 20] = M[1020] = 7.Read pointer
M[2000] = 3000.Read source
M[3000] = 5.Write
7 + 5 = 12toM[1020].
Total: 1 + 1 + 1 + 1 = 4 memory cycles.
![Q9 pops M[1000]=9 and M[996]=6 to store 15 at M[996]; Q11 needs four execution memory cycles ending with 12 at M[1020].](https://cdn.knowledgegate.ai/blog-assets/blog_asset_1784204453712_vn8ry2.jpg)
7. Error log, exam use and next step
Question family | First line to write | Common trap | Self-check |
|---|---|---|---|
Indexed |
| Treating the offset as an operand | Q1 gives |
Base-index-displacement |
| Multiplying registers | Q4 gives |
PC-relative |
| Using the pre-fetch PC | Q7 uses |
8086 real mode |
| Concatenating | Q8 gives |
Auto-increment/decrement | State whether update is before or after access | Updating at the wrong time | Q9 ends at |
Indirect source | Count pointer read plus operand read | Counting only the operand | Q11 reads |
Execution-cycle memory references | Exclude fetch only when the stem says so | Counting instruction fetches | Q11 has four cycles and writes |
Use the GATE CS category to revisit other COA fundamentals. GATE Guidance by Sanchit Sir provides a structured revision path, and the GATE Test Series is the next timed check. Redo Q4, Q7, Q9, Q10 and Q11 without looking at the table.
Keep learning

Instruction Formats and Addressing Modes MCQs: 12 Solved Cross-Concept Questions
Solve 12 cross-concept COA questions that connect addressing-mode choices with PC rules, memory references, opcode fields, and byte-aligned instructions.

Interrupt-Driven I/O MCQs: 12 Solved Questions with Explanations
Attempt 12 previous-year interrupt-driven I/O questions, then check each answer with a concise explanation. The set covers ISR order, vectoring, priority, and CPU-time numericals.

Bitmap and Pixmap MCQs: 12 Solved Pixel Depth and Memory Questions
Build a reliable pixel-memory method through 12 live MCQs covering bitmaps, pixmaps, lookup tables, uncompressed storage, refresh rates, masks, and dithering.

Assembly & Assembler Design MCQs: 11 Solved PYQs Explained
Attempt 11 published PYQs on assembler directives, language levels, tables, register-pair instructions, debugging and fixed-width arithmetic, then check each worked explanation.