Hi ,
I want to pass
an array from C language to assembly language program ,am usign visual dsp++ ver
7.0 for adsp 218x.
int passarray(int x[], int y[]);
main()
{ int i; int g[3] = {1,2,3}; int t[3] ={0}; passarray(g,t); for(i=0;i<3;i++) printf("%d\n",t[i]);
}
The assembly module here is for direct addressing should i pass
the arrguments into I6 .
.section/code program;
.global _passarray;
_passarray: M5=1; I6=I4; MODIFY(I6,M5); AR=DM(I6,M5); /* Ist arg */ AY1=DM(I6,M5); /* 2nd arg */ AX0 =DM(I6,M5); ...........................................................
Do processing
and pass return values into
AX1
RTS;
/* C equivalent source code for simple
passing an array */
int passarray(int x[], int y[]);
main()
{ int i; int g[3] = {1,2,3}; int t[3] ={0}; passarray(g,t); for(i=0;i<3;i++) printf("%d\n",t[i]);
}
int passarray(int x[],int y[])
{ int i; for(i=0;i<3;i++) y[i] = x[i]; } |
Array passing in assembly
Started by ●May 24, 2001