On Thursday, 23 January 2014 at 16:56:19 UTC, Johannes Pfau wrote:
I think what could be happening here is that GCC doesn't know
what
memory you're accessing via the message pointer in SendCommand.
See http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
and search for "If your assembler instructions access memory in
an
unpredictable fashion"
Maybe typing "message" as uint* or uint[3]* instead of void* is
already
good enough. Otherwise try using a memory input as described on
that
page.
That appears to be it. I added memory to the clobber list and it
worked without any extra modifiers. And, my executable is now
only 56 bytes. It still doesn't do anything useful, but it's
small and optimized :-)
Thanks so much for the information and the help.
Mike