Computer Architecture

Addressing Modes — Practice MCQs for CCAT

25 Questions Section C: Hardware Computer Architecture

Practice 25 Addressing Modes multiple-choice questions designed for CDAC CCAT exam preparation. Click "Show Answer" to reveal the correct option with detailed explanation.

Q1.
Immediate addressing:
AOperand is in register
BOperand is in instruction itself
COperand is in memory
DIndirect access
Show Answer & Explanation

Correct Answer: B — Operand is in instruction itself

Immediate: operand value is directly in the instruction.

Q2.
Register addressing:
AData in memory
BData in a register
CData in instruction
DData on stack
Show Answer & Explanation

Correct Answer: B — Data in a register

Register addressing: operand is in a CPU register.

Q3.
Direct addressing:
AAddress in instruction points to memory
BData in instruction
CUses register
DUses pointer
Show Answer & Explanation

Correct Answer: A — Address in instruction points to memory

Direct: instruction contains memory address of operand.

Q4.
Indirect addressing:
AInstruction has data
BInstruction has address of address
CRegister has data
DImmediate data
Show Answer & Explanation

Correct Answer: B — Instruction has address of address

Indirect: address in instruction points to another address.

Q5.
Indexed addressing:
AUses index register + base
BNo register used
COnly immediate
DStack based
Show Answer & Explanation

Correct Answer: A — Uses index register + base

Indexed: effective address = base + index register.

Q6.
Base register addressing is useful for:
AConstants
BRelocatable code
CImmediate values
DDirect access only
Show Answer & Explanation

Correct Answer: B — Relocatable code

Base addressing helps make code position-independent.

Q7.
Stack addressing:
AUses memory address
BOperand on top of stack
CUses base register
DImmediate mode
Show Answer & Explanation

Correct Answer: B — Operand on top of stack

Stack addressing: operand implicitly on top of stack.

Q8.
Which mode is fastest?
ADirect
BIndirect
CRegister
DMemory
Show Answer & Explanation

Correct Answer: C — Register

Register mode is fastest - no memory access needed.

Q9.
Relative addressing uses:
AAbsolute address
BPC + offset
COnly registers
DStack pointer
Show Answer & Explanation

Correct Answer: B — PC + offset

Relative: address = Program Counter + displacement.

Q10.
Auto-increment mode:
ADecrements register
BIncrements register after use
CNo register change
DUses constant
Show Answer & Explanation

Correct Answer: B — Increments register after use

Auto-increment: register value used then incremented.

Q11.
In immediate addressing mode, where is the operand located?
AIn a register
BIn memory
CIn the instruction itself
DIn the stack
Show Answer & Explanation

Correct Answer: C — In the instruction itself

In immediate addressing, the operand value is part of the instruction itself, not in a register or memory.

Q12.
What is register indirect addressing?
ARegister contains the operand
BRegister contains the memory address of operand
CMemory contains register address
DOperand is in instruction
Show Answer & Explanation

Correct Answer: B — Register contains the memory address of operand

In register indirect addressing, a register contains the memory address where the operand is located.

Q13.
In indexed addressing mode, how is the effective address calculated?
ABase address only
BIndex register value only
CBase address + index register value
DStack pointer + offset
Show Answer & Explanation

Correct Answer: C — Base address + index register value

In indexed addressing, effective address = base address + contents of index register.

Q14.
What is base-register addressing mode?
AAddress in base register only
BEffective address = base register + displacement in instruction
CBase is always zero
DUses program counter as base
Show Answer & Explanation

Correct Answer: B — Effective address = base register + displacement in instruction

In base-register addressing, effective address = contents of base register + displacement value in instruction.

Q15.
What is relative addressing mode commonly used for?
AArray access
BBranch and jump instructions
CStack operations
DI/O operations
Show Answer & Explanation

Correct Answer: B — Branch and jump instructions

Relative addressing uses PC + offset to calculate address, commonly used for branch instructions to create position-independent code.

Q16.
What is the advantage of immediate addressing mode?
ASaves memory
BNo memory reference needed, fastest for constants
CAllows large operands
DFlexible addressing
Show Answer & Explanation

Correct Answer: B — No memory reference needed, fastest for constants

Immediate addressing requires no memory access to fetch operand as it is part of instruction, making it very fast for constants.

Q17.
Which addressing mode is best suited for accessing array elements?
AImmediate
BDirect
CIndexed
DRegister
Show Answer & Explanation

Correct Answer: C — Indexed

Indexed addressing is ideal for arrays as base address points to array start and index register holds element offset.

Q18.
What is auto-decrement addressing mode?
ARegister is decremented before accessing operand
BOperand is decremented
CAddress is decremented after use
DLoop counter decrements
Show Answer & Explanation

Correct Answer: A — Register is decremented before accessing operand

In auto-decrement mode, the register is decremented before it is used to access the operand.

Q19.
Which addressing mode provides position-independent code?
ADirect addressing
BImmediate addressing
CRelative (PC-relative) addressing
DAbsolute addressing
Show Answer & Explanation

Correct Answer: C — Relative (PC-relative) addressing

Relative addressing uses offset from PC, so code can be loaded anywhere in memory and still work correctly.

Q20.
What is effective address?
AAddress in the instruction
BThe actual memory address computed by the addressing mode
CAddress of the instruction
DBase address
Show Answer & Explanation

Correct Answer: B — The actual memory address computed by the addressing mode

Effective address is the final memory address calculated after applying the addressing mode calculations.

Q21.
What is implied/inherent addressing?
AAddress is in instruction
BOperand is implied by opcode, no address needed
CUses registers
DUses stack
Show Answer & Explanation

Correct Answer: B — Operand is implied by opcode, no address needed

In implied addressing, the operand is implicit in the instruction itself (e.g., CLA - clear accumulator).

Q22.
What is the limitation of direct addressing?
AToo fast
BLimited address space determined by instruction size
CCannot access memory
DOnly works with registers
Show Answer & Explanation

Correct Answer: B — Limited address space determined by instruction size

Direct addressing is limited by the number of bits available for the address field in the instruction format.

Q23.
What is displacement addressing?
ASame as direct
BUses base or PC plus displacement to calculate address
CNo displacement used
DStack-based
Show Answer & Explanation

Correct Answer: B — Uses base or PC plus displacement to calculate address

Displacement addressing combines a register (base or PC) with a displacement value to compute effective address.

Q24.
In multilevel indirect addressing:
AOnly one level of indirection
BMultiple levels of pointers are followed
CNo memory access needed
DSame as direct
Show Answer & Explanation

Correct Answer: B — Multiple levels of pointers are followed

Multilevel indirect addressing follows multiple pointer references to reach the final operand.

Q25.
Scaled index addressing multiplies index by:
A1 only
BScale factor (size of data element)
CBase address
DZero
Show Answer & Explanation

Correct Answer: B — Scale factor (size of data element)

Scaled index addressing multiplies the index by the size of each element (1, 2, 4, or 8 bytes) for efficient array access.