> 0042 abf3 dec r15,#4
> 0044 5df60000 ldl %0000(r15),rr6
> 0042 abf3 dec r15,#4
> 0044 1df6 ldl @r15,rr6
Is there any semantic difference between those two? They look like two
different ways of writing the same operation.
Since the 1st C code is the "cp
r7,#%0002",
I say the line before comes from the definition of argv.
I doubt it can be pinned down that precisely. The code I quoted above
is doubtless function prologue code, but I'd be surprised if there were
really a well-defined mapping at the "this instruction comes from this
variable, that instruction from that one" level of detail.
trying main ( int argc, char *argv[] ) might
be an option.
That shouldn't help; as a function formal, char *argv[] is semantically
identical to char **argv. (If the compiler doesn't have const, it's
almost certainly not going to have new-style arglists, if you're
talking about the new-style arglist rather than the change of spelling
of the type). That's not to say it won't, though; compilers can be
surprising in what causes them to produce different code.
Optimization options might affect this; turning optimization off, or on
at various levels, might produce the assembly code you're looking for.
If none of that helps, all I can think of is the version difference
that's already been suggested.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B