- 论坛徽章:
- 0
|
- #include <stdio.h>
- int foo( void ) {
- int a = 3;
- char b = '5';
- int nEax = 17;
- __asm__ __volatile__( "mov $0, %eax\n\t" );
- printf( "%d\n", (char)(a - b) );
- __asm__ __volatile__( "mov %%eax, %0":"=r"(nEax)::"%eax" );
- printf( "[in foo] eax: %d\n", nEax );
- }
- int main( void ) {
- int ret = 9;
- int nEax = 15;
- __asm__ __volatile__( "mov $0, %eax \n\t" );
- __asm__ __volatile__( "mov %%eax, %0 \n\t":"=r"(nEax)::"%eax" );
- printf( "eax: %d\n", nEax );
- ret = foo();
- __asm__ __volatile__( "mov %%eax, %0 \n\t":"=r"(nEax)::"%eax" );
- printf( "eax: %d\n", nEax );
- printf( "ret: %d\n", ret );
- return( 0 );
- }
复制代码 |
|