Inline Assembly, MOV, and Memory Operand Constraint

Jeffrey Walton noloader@gmail.com
Wed Jun 15 09:28:00 GMT 2011


Hi All,

I have a question on inline assembly. For my first experiment, I'm
trying to read the flags register. Intuitively, I'm trying to perform
the following:
    mov %eax, result

The assembler does not take the simple syntax (see [1], [2]), andI'm
having trouble getting the statement right. I've tried lots of
variations on the following, but have yet to find success.
    unsigned int result;
    ...
    asm volatile("mov %eax, result" : "=m(result)");

What's the trick to move from a register to memory (C variable)?

Jeff

[1]
[2] http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html



More information about the Gcc-help mailing list