Как я могу прочитать значение регистра в переменную с помощью одной встроенной команды ассемблера? Я использую gcc в старой системе freeBSD (v2.1 i386).
У меня есть такой код:
static volatile unsigned long r_eax, r_ebx;
asm ("movl %%eax, %0\n" :"=r"(r_eax));
asm ("movl %%ebx, %0\n" :"=r"(r_ebx));
В результате я получаю следующее:
mov %eax,%eax
mov %eax,0x1944b8
mov 0x1944b8,%eax
mov %ebx,%eax
mov %eax,0x1944bc
mov 0x1944bc,%eax
Но мне нужно только:
mov %eax,0x1944b8
mov %ebx,0x1944bc
Как я могу достичь этого результата?