Back to Practice Computer Architecture

Addressing Modes - Practice MCQs for CCAT

50 Questions Section C: Hardware Computer Architecture

Addressing Modes Question Bank for C-CAT

Topic-wise Addressing Modes MCQs for CDAC C-CAT preparation with answers and explanations.

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

Correct Answer: C - 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:
AUses pointer
BData in instruction
CUses register
DAddress in instruction points to memory
Show Answer & Explanation

Correct Answer: D - 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:
AStack based
BNo register used
COnly immediate
DUses index register + base
Show Answer & Explanation

Correct Answer: D - Uses index register + base

Indexed: effective address = base + index register.

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

Correct Answer: A - Relocatable code

Base addressing helps make code position-independent.

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

Correct Answer: C - Operand on top of stack

Stack addressing: operand implicitly on top of stack.

Q8.
Which mode is fastest?
ADirect
BIndirect
CMemory
DRegister
Show Answer & Explanation

Correct Answer: D - Register

Register mode is fastest - no memory access needed.

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

Correct Answer: D - PC + offset

Relative: address = Program Counter + displacement.

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

Correct Answer: C - 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 the instruction itself
CIn memory
DIn the stack
Show Answer & Explanation

Correct Answer: B - 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
BBase address + index register value
CIndex register value only
DStack pointer + offset
Show Answer & Explanation

Correct Answer: B - 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
BBase is always zero
CEffective address = base register + displacement in instruction
DUses program counter as base
Show Answer & Explanation

Correct Answer: C - 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
BIndexed
CDirect
DRegister
Show Answer & Explanation

Correct Answer: B - 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?
ARelative (PC-relative) addressing
BImmediate addressing
CDirect addressing
DAbsolute addressing
Show Answer & Explanation

Correct Answer: A - 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
BBase address
CAddress of the instruction
DThe actual memory address computed by the addressing mode
Show Answer & Explanation

Correct Answer: D - 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
BOnly works with registers
CCannot access memory
DLimited address space determined by instruction size
Show Answer & Explanation

Correct Answer: D - 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
BNo displacement used
CUses base or PC plus displacement to calculate address
DStack-based
Show Answer & Explanation

Correct Answer: C - 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
BSame as direct
CNo memory access needed
DMultiple levels of pointers are followed
Show Answer & Explanation

Correct Answer: D - 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:
AScale factor (size of data element)
B1 only
CBase address
DZero
Show Answer & Explanation

Correct Answer: A - 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.

Q26.
In immediate addressing mode, the operand is:
AStored in a register
BSpecified directly in the instruction itself
CLocated in memory at a specified address
DOn the stack
Show Answer & Explanation

Correct Answer: B - Specified directly in the instruction itself

In immediate addressing mode, the operand value is directly included as part of the instruction. For example, MOV R1, #5 moves the value 5 directly into register R1.

Q27.
In direct (absolute) addressing mode, the instruction contains:
AThe operand value itself
BAn offset value
CA register number
DThe memory address where the operand is stored
Show Answer & Explanation

Correct Answer: D - The memory address where the operand is stored

In direct addressing mode, the instruction contains the actual memory address of the operand. The CPU directly accesses the specified memory location to get the data.

Q28.
What is indirect addressing mode?
AThe instruction contains a register or memory location that holds the address of the operand
BThe instruction contains the operand
CThe instruction uses an offset from a base address
DThe address is calculated from an index
Show Answer & Explanation

Correct Answer: A - The instruction contains a register or memory location that holds the address of the operand

In indirect addressing mode, the instruction specifies a register or memory location that contains the address of the operand, requiring an additional memory access to get the actual data.

Q29.
Register addressing mode uses:
AMemory addresses to access operands
BImmediate values in the instruction
CCPU registers to hold operands
DStack for operand access
Show Answer & Explanation

Correct Answer: C - CPU registers to hold operands

In register addressing mode, the operand is located in a CPU register specified in the instruction. This is the fastest addressing mode as no memory access is needed.

Q30.
In indexed addressing mode, the effective address is calculated by:
AUsing the operand directly
BAdding the content of an index register to a base address in the instruction
CUsing the program counter
DLooking up a table in memory
Show Answer & Explanation

Correct Answer: B - Adding the content of an index register to a base address in the instruction

In indexed addressing mode, the effective address = Base address (given in instruction) + Content of index register. This is useful for accessing array elements sequentially.

Q31.
Base register addressing mode is useful for:
AAccessing immediate values
BRelocating programs in memory
CReducing instruction size
DAccessing I/O ports
Show Answer & Explanation

Correct Answer: B - Relocating programs in memory

Base register addressing calculates the effective address by adding an offset to a base register value. This facilitates program relocation since only the base register needs to change.

Q32.
What is the effective address in the context of addressing modes?
AThe actual memory address of the operand after address calculation
BThe address of the instruction
CThe address of the next instruction
DThe address stored in the program counter
Show Answer & Explanation

Correct Answer: A - The actual memory address of the operand after address calculation

The effective address (EA) is the final computed memory address that is used to access the actual operand. Different addressing modes use different methods to calculate it.

Q33.
In register indirect addressing mode:
AThe register contains the operand
BThe instruction contains the operand
CThe register contains the memory address of the operand
DTwo registers are used
Show Answer & Explanation

Correct Answer: C - The register contains the memory address of the operand

In register indirect addressing, the specified register holds the memory address where the operand is stored. The CPU first reads the register to get the address, then accesses that memory location.

Q34.
Relative addressing mode calculates the effective address relative to:
AThe base register
BThe index register
CThe stack pointer
DThe Program Counter (PC)
Show Answer & Explanation

Correct Answer: D - The Program Counter (PC)

In relative addressing (PC-relative), the effective address = Program Counter + Offset. This is commonly used for branch instructions as it allows position-independent code.

Q35.
Which addressing mode is most suitable for accessing elements of an array?
AImmediate
BDirect
CRegister
DIndexed
Show Answer & Explanation

Correct Answer: D - Indexed

Indexed addressing mode is ideal for array access. The base address points to the start of the array, and the index register holds the element offset, which can be incremented in a loop.

Q36.
Stack addressing mode (implicit addressing) uses:
AThe stack pointer register to access the top of stack
BA memory address in the instruction
CAn immediate value
DAn index register
Show Answer & Explanation

Correct Answer: A - The stack pointer register to access the top of stack

In stack (implicit) addressing, operations like PUSH and POP implicitly use the stack pointer to access the top of the stack. No explicit address is needed in the instruction.

Q37.
In auto-increment addressing mode, after accessing the operand:
AThe register value is decremented
BThe stack pointer is updated
CThe program counter is reset
DThe register value is automatically incremented
Show Answer & Explanation

Correct Answer: D - The register value is automatically incremented

In auto-increment mode, the register used for addressing is automatically incremented after the operand is accessed. This is useful for traversing arrays or sequential memory locations.

Q38.
Auto-decrement addressing mode decrements the register:
AAfter accessing the operand
BOnly when an overflow occurs
CBefore accessing the operand
DAt the end of the program
Show Answer & Explanation

Correct Answer: C - Before accessing the operand

In auto-decrement mode, the register value is decremented before the operand is accessed. This is commonly used with stack operations (push) where the stack grows downward.

Q39.
Which addressing mode results in the fastest operand access?
ADirect addressing
BIndirect addressing
CRegister addressing
DIndexed addressing
Show Answer & Explanation

Correct Answer: C - Register addressing

Register addressing is the fastest because the operand is already in a CPU register, requiring no memory access. All other modes need at least one memory access.

Q40.
Displacement addressing mode computes the effective address as:
AContent of a register + displacement value in instruction
BOperand value in the instruction
CDirect memory address
DProgram Counter value only
Show Answer & Explanation

Correct Answer: A - Content of a register + displacement value in instruction

In displacement addressing, the effective address = Register content + Displacement (offset given in instruction). Base register, indexed, and relative addressing are all variants of displacement addressing.

Q41.
What is the advantage of immediate addressing mode?
ACan access any memory location
BAllows indirect access
CSupports large operand values
DNo memory access needed to fetch the operand
Show Answer & Explanation

Correct Answer: D - No memory access needed to fetch the operand

Immediate addressing is fast because the operand is part of the instruction itself, so no additional memory access is required to fetch it. However, the operand size is limited by the instruction format.

Q42.
In the instruction MOV R1, [R2], what addressing mode is used for the source operand?
ARegister direct
BImmediate
CRegister indirect
DDirect
Show Answer & Explanation

Correct Answer: C - Register indirect

The brackets [R2] indicate register indirect addressing. R2 contains the memory address, and the data at that address is moved to R1. The CPU uses R2's value as a pointer to memory.

Q43.
Which addressing mode is typically used by branch instructions to create position-independent code?
ADirect addressing
BPC-relative (relative) addressing
CImmediate addressing
DRegister addressing
Show Answer & Explanation

Correct Answer: B - PC-relative (relative) addressing

PC-relative addressing calculates the branch target relative to the current PC value. This makes the code position-independent as the offset remains valid regardless of where the code is loaded in memory.

Q44.
In base-indexed addressing mode, the effective address is:
ABase register + Index register
BBase register + Displacement
CIndex register + Displacement
DProgram counter + Offset
Show Answer & Explanation

Correct Answer: A - Base register + Index register

Base-indexed addressing combines a base register and an index register: EA = Base register + Index register. This is useful for accessing elements of arrays within data structures.

Q45.
What is the disadvantage of indirect addressing mode?
ACannot access all memory locations
BLimited operand size
CRequires extra memory access to get the operand address
DCannot be used with registers
Show Answer & Explanation

Correct Answer: C - Requires extra memory access to get the operand address

Indirect addressing requires at least two memory accesses: one to get the address of the operand and another to get the operand itself. This makes it slower than direct addressing.

Q46.
Implied (inherent) addressing mode means:
AThe operand is implied by the opcode itself
BThe address is explicitly given in the instruction
CThe address is computed at runtime
DThe operand is on the stack
Show Answer & Explanation

Correct Answer: A - The operand is implied by the opcode itself

In implied addressing, the instruction itself specifies the operation without explicitly mentioning the operand. Examples include CLC (clear carry flag) and NOP (no operation).

Q47.
For the instruction ADD R1, R2, #10 — how many addressing modes are used?
A2
B1
C3
D0
Show Answer & Explanation

Correct Answer: A - 2

Two addressing modes are used: Register addressing for R1 and R2, and Immediate addressing for the constant value #10.

Q48.
Which addressing mode would you use to implement a pointer in high-level languages?
ARegister indirect addressing
BDirect addressing
CImmediate addressing
DIndexed addressing
Show Answer & Explanation

Correct Answer: A - Register indirect addressing

Register indirect addressing corresponds to pointer dereferencing in high-level languages. The register holds the address (pointer), and the data at that address is the referenced value.

Q49.
In multilevel (cascaded) indirect addressing:
AThe address obtained points to another address, forming a chain
BOnly one memory access is needed
CThe operand is in a register
DThe instruction contains the operand directly
Show Answer & Explanation

Correct Answer: A - The address obtained points to another address, forming a chain

In multilevel indirect addressing, the address obtained from the first indirect reference points to another memory location that contains yet another address, forming a chain until the actual operand is reached.

Q50.
Which combination of addressing modes is used in the instruction MOV R1, 100(R2)?
ARegister and immediate
BDirect and indirect
CRegister and displacement (base + offset)
DImmediate and indexed
Show Answer & Explanation

Correct Answer: C - Register and displacement (base + offset)

MOV R1, 100(R2) uses register addressing for R1 and displacement addressing for the source. The effective address of the source = R2 + 100, combining a base register with an offset.

Showing 1-10 of 50 questions