Part Number: TMS320F28377S
Tool/software: Code Composer Studio
I defined two global arrays in C program, Uint16 x[80] and Uint32 y[80]. C language program calls assembly language program to calculate x[i]+y[i]+y[0], and returns long integers. C prototype of the function is Uint32 LayPos(Uint16 i).Here is the assembly language program for the function:
_LayPos:
MOV @AR0, AL
MOVW DP, #_x
MOVL XAR4, @_x
MOVU ACC, *+XAR4[AR0]
MOVW DP, #_y
MOVL XAR5, @_y
ADDUL ACC, *+XAR5[AR0]
ADDUL ACC, *+XAR5[0]
LRETR
The above procedures can not achieve the desired results. Where is the mistake? Is it an addressing mode error?
How to view the assembly language code of C function in CCS 6.1.0?