The number of memory references for accessing the data in executing the program completely is :-
https://gateoverflow.in/1269/gate2007-71?show=224234#c224234
https://gateoverflow.in/1269/gate2007-71?show=103284#c103284
$M[3000]=10\ | \ R3=2000\ |\ M[2000]\ to\ M[2010]=100$
$R1=10(M_{ref})||R2=100(M_{ref})||R2=110||M[2000]=110(M_{ref})||R3=2001||R1=9||\Rightarrow3 (M_{ref})$
$R2=100(M_{ref})||R2=109||M[2001]=109(M_{ref})||R3=2002||R1=8||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=108||M[2002]=108(M_{ref})||R3=2003||R1=7||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=107||M[2003]=107(M_{ref})||R3=2004||R1=6||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=106||M[2004]=106(M_{ref})||R3=2005||R1=5||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=105||M[2005]=105(M_{ref})||R3=2006||R1=4||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=104||M[2006]=104(M_{ref})||R3=2007||R1=3||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=103||M[2007]=103(M_{ref})||R3=2008||R1=2||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=102||M[2008]=102(M_{ref})||R3=2009||R1=1||\Rightarrow2 (M_{ref})$
$R2=100(M_{ref})||R2=101||M[2009]=101(M_{ref})||R3=2010||R1=0||\Rightarrow2 (M_{ref})$
Total $\Rightarrow 21 (M_{ref})$