We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
I have this C code
int value_a, value_b ; value_a = value_b ;
that translates to this assembly:
0x0002B128 E58D600C STR R6,[R13,#0x000C]
but the assignment fails - both variables are allocated on the stack. if I allocate the target variable in RAM (say, using "static") it works. alignment issue? something?
it might fail,
You're still not making any sense. Either it fails, or it doesn't. So which is it?
You've been asked what exactly went wrong. Now please look at your answer again and tell us: does that look like you fulfilled that request?
As others have said, this looks like you're basing your idea of what it means for code like this to "fail" on incorrect assumptions about what a C compiler is required to make of your source code. Just because you define and initialize a variable doesn't mean the compiled code has to perform that initialization. And even if it is performed, it may happen at an unexpected time.
ok I understand. thanks for your help.