The GATE Grind

GATE 2021 CS – Question 65

Computer Organization and Architecture · Instruction Set and Addressing Modes · 2 marks · Numerical answer

Consider the following instruction sequence where registers R1, R2 and R3 are general purpose and MEMORY[X] denotes the content at the memory location X.
Instruction | Semantics | Size (bytes)
MOV R1, (5000) | R1 <- MEMORY[5000] | 4
MOV R2, (R3) | R2 <- MEMORY[R3] | 4
ADD R2, R1 | R2 <- R1 + R2 | 2
MOV (R3), R2 | MEMORY[R3] <- R2 | 4
INC R3 | R3 <- R3 + 1 | 2
DEC R1 | R1 <- R1 - 1 | 2
BNZ 1004 | Branch if not zero to the given absolute address | 2
HALT | Stop | 1
Assume that the content of the memory location 5000 is 10, and the content of the register R3 is 3000. The content of each of the memory locations from 3000 to 3010 is 50. The instruction sequence starts from the memory location 1000. All the numbers are in decimal format. Assume that the memory is byte addressable. After the execution of the program, the content of memory location 3010 is ______.

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: 50

Explanation

The instruction at 1000 loads R1=10, and the loop (from 1004) runs 10 times with R1 = 10 down to 1, updating locations 3000..3009 only. Location 3010 is never written, so it stays 50.