The Gateway to Computer Science Excellence
0 votes
123 views
A stack based CPU executes the instruction. Memory location $500$ contain $0X 88$ and memory location $700$ contain $0X37$. The stack pointer is at $0X003F$

The instruction are as follows:

$I_{1}:PUSH$  $500$

$I_{2}:PUSH$. $700$

$I_{3}:ADD$

$I_{4}:POP$. $600$

$I_{5}:PUSH$  $300$

Now which of the following is correct?

$A)$ Stack pointer will be $0X0040$ after executing instructions.

$B)$  Memory location $0X40$ contain $0X88$ after execution of instruction.

$C)$  Memory location $600$ contain $0XBF$ after execution of instruction.

$D)$ Both $a)$ and $c)$
in DS by Veteran (119k points) | 123 views
0
Option (C):
0
As there will not be any change in memory location 40 after the execution of the above set of instructions so option B) should also be true...

and memory location 600 contains 0XBF so C) is true.  

i.e. both B) & c) should be the correct Answers.
0
Since 0X88 is initially stored at memory location 500 then how will 0X88 move to 0X40.

Memory location 0X40 never stored 0X88

Please log in or register to answer this question.

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,313 answers
198,349 comments
105,047 users