Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
give C struct to assembler...
Jump...
Cancel
Locked
Locked
Replies
7 replies
Subscribers
118 subscribers
Views
11100 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
give C struct to assembler...
Etienne SOBOLE
over 12 years ago
Note: This was originally posted on 24th November 2011 at
http://forums.arm.com
how can I send the offset of a C struct to en assembly code ? For example
In my C code I have
typedef struct
{
unsigned int a;
unsigned int b;
} CMyStruct;
I send to an ASM function a pointer of a CMyStruct structure Let suppose that my pointer is into R0
To access to a and b attribute I need to do that.
ldr r1, [r0, #0] // read a
ldr r2, [r0, #4] // read b
Is there anyway to not specify #0 and #4 as contant value ? Something like
ldr r1, [r0, CMyStruct.a] // read a
ldr r2, [r0, CMyStruct.b] // read b
Thank's Etienne
Parents
Jerry Fan
over 12 years ago
Note: This was originally posted on 26th November 2011 at
http://forums.arm.com
Inline assemble will work for this purpose.
typedef struct{
unsigned int a;
unsigned int b;
}MyStruct_t, *MyStruct_p;
void pass_para_to_asm(MyStruct_t para)
{
__asm__ volatile("mov %0, 0x0a\n"
"mov %1, 0x0b\n"
:
:=r(para.a), =r(para.
;
)
}
Cancel
Vote up
0
Vote down
Cancel
Reply
Jerry Fan
over 12 years ago
Note: This was originally posted on 26th November 2011 at
http://forums.arm.com
Inline assemble will work for this purpose.
typedef struct{
unsigned int a;
unsigned int b;
}MyStruct_t, *MyStruct_p;
void pass_para_to_asm(MyStruct_t para)
{
__asm__ volatile("mov %0, 0x0a\n"
"mov %1, 0x0b\n"
:
:=r(para.a), =r(para.
;
)
}
Cancel
Vote up
0
Vote down
Cancel
Children
No data