The GATE Grind

GATE 2016 EC – Question 54

Digital Circuits · Computer Organization · 2 marks · Multiple choice

In an 8085 system, a PUSH operation requires more clock cycles than a POP operation. Which one of the following options is the correct reason for this?

  1. For POP, the data transceivers remain in the same direction as for instruction fetch (memory to processor), whereas for PUSH their direction has to be reversed.
  2. Memory write operations are slower than memory read operations in an 8085 based system.
  3. The stack pointer needs to be pre-decremented before writing registers in a PUSH, whereas a POP operation uses the address already in the stack pointer.
  4. Order of registers has to be interchanged for a PUSH operation, whereas POP uses their natural order.

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: (C) The stack pointer needs to be pre-decremented before writing registers in a PUSH, whereas a POP operation uses the address already in the stack pointer.

Explanation

In the 8085, a PUSH first decrements the stack pointer and then writes the two bytes of the register pair. A POP simply reads from the address already in the stack pointer and then increments it. The extra pre-decrement step is what makes PUSH take 12 clock cycles against 10 for POP.