Accessing a C array from assembler routine

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
HuEl_264296
Level 5
Level 5
First like given 25 sign-ins First solution authored

 Hi,

   

I have an array defined in C:

   

    char return_data[32];

   

I need access to this from an asm routine. What do I need to add to the .asm file to inform the compiler / linker of the existence of return_data ?

   

Many thanks

   

Hugo

0 Likes
1 Reply
pushekm_21
Employee
Employee
10 likes received 5 likes given First like received

 If you want to access any of the C variables from assembly then you have to use "_" in front of their name. For accessing any array you can use indexed addressing mode, here is an example for the same.

   

 

   

For accessing an array from assembly, X will point to the index.

   

 

   

RAM_SETPAGE_IDX >_MyBufferName      ; This instruction is required when your device have more than one page of RAM and paging is enabled.

   

mov     A, [X + _MyBufferName]

   

inc / dec    X

0 Likes