8085 register roles: which register tracks the memory address of the next opcode to be fetched and executed during program flow?

Difficulty: Easy

Correct Answer: program counter

Explanation:


Introduction / Context:
Every CPU has dedicated registers for specific tasks. One of the most important is the register that holds the address of the next instruction to fetch. In 8085 terminology, this register is the Program Counter (PC).



Given Data / Assumptions:

  • 8085 has a 16-bit Program Counter and 16-bit Stack Pointer.
  • PC automatically increments after fetching an opcode or immediate data bytes.
  • Control-flow instructions (JMP, CALL, RET, conditional branches) modify PC.


Concept / Approach:
The fetch-decode-execute cycle begins with the PC pointing to the next opcode. After fetch, PC advances by one or more bytes depending on instruction length. When a branch or call occurs, the PC is loaded with a new target address (sometimes after pushing the return address to the stack). Thus, the PC is the register that “tracks the memory address of the next opcode.”



Step-by-Step Solution:

1) PC → address bus (opcode fetch). 2) CPU reads the opcode; PC increments. 3) If the instruction has immediate/address bytes, PC advances accordingly. 4) Control-flow instructions load PC with a new value (branch target).


Verification / Alternative check:
Instruction set documentation labels the PC as the source of the next fetch address; stack operations involve SP, not PC.



Why Other Options Are Wrong:
Stack pointer manages call/return stack, not instruction sequencing. “Instruction pointer” is x86 naming; 8085 uses “Program Counter.” Accumulator stores arithmetic/logic results, not addresses.



Common Pitfalls:
Mixing architecture-specific names; assuming accumulator controls instruction flow.



Final Answer:
program counter

More Questions from Computer Hardware and Software

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion