The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+11 votes

Match each of the high level language statements given on the left hand side with the most natural addressing mode from those listed on the right hand side.

(1) $A[I] = B[J]$ (a) Indirect addressing
(2) while $(^*A++);$ (b) Indexed addressing
(3) int temp $= ^*x$ (c) Auto increment
  1. (1, c), (2, b) (3, a)
  2. (1, c), (2, c) (3, b)
  3. (1, b), (2, c) (3, a)
  4. (1, a), (2, b) (3, c)
asked in CO & Architecture by Veteran (59.7k points)
edited by | 1.1k views

1 Answer

+19 votes
Best answer

$C$ is the answer.
$A[i] = B[j]$;     Indexed addressing

while $(^*A++)$;      Auto increment

temp $=^*x$;       Indirect addressing

answered by Veteran (369k points)
edited by
Ans C

Array implementation- indexed addressing

Pointer, passing array as parameter- indirect addressing

Constant- immediate addressing

Writing relocatable code- base addressing
arjun sir here increment will be operate on A or *A.
Isn't statement 2 is also using pointers for dereferencing A??


Priority of post-increment/decrement is higher than dereferencing operator in C...


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

44,304 questions
49,797 answers
65,857 users