1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#include <stdio.h>
#include <stdlib.h>
int glob = 10;
int main()
{
int a,b,c;
a = b = c = 50;
printf("a=%d\tb=%d\tc=%d\tglob=%d\n",a,b,c,glob);
__asm__
(
"pushl %0;pushl %1;pushl %2\n\t"
"decl %1;incl %2\n\t"
"addl $3, _glob"
: "=m" (a), "=m" (b), "=m" (c)
:
: "memory"
);
printf("a=%d\tb=%d\tc=%d\tglob=%d\n",a,b,c,glob);
__asm__
(
"popl %2;popl %1;popl %0\n\t"
"subl $3, _glob"
: "=m" (a), "=m" (b), "=m" (c)
:
: "memory"
);
printf("a=%d\tb=%d\tc=%d\tglob=%d\n",a,b,c,glob);
return 0;
} |
Partager