asm-block-50.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 39 行

C
39
字号
/* APPLE LOCAL file CW asm blocks *//* { dg-do assemble { target i?86*-*-darwin* } } *//* { dg-options { -fasm-blocks -msse3 } } *//* Radar 4505741 */static int c[5];void foo(int pa[5], int j) {  unsigned int *ptr = (unsigned int *)0x12345678;  static int b[5];  int i;  int a[5];  _asm {    mov   esi, [ptr][0]    mov   esi, [ptr]    mov   esi, [esi][eax]    mov   esi, [esi+eax]    mov   esi, [esi+eax+4]    mov   esi, [esi][eax][4]    mov   esi, [a][4]    mov   esi, [pa]    mov   esi, [j]    mov   esi, [i]    mov   esi, i    mov   esi, [b][4]	/* { dg-warning "non-pic addressing form not suitible for pic code" } */    mov   esi, [c][4]	/* { dg-warning "non-pic addressing form not suitible for pic code" } */    mov   esi, [b]	/* { dg-warning "non-pic addressing form not suitible for pic code" } */    mov   esi, [c]	/* { dg-warning "non-pic addressing form not suitible for pic code" } */    mov   esi, [ptr][4]        /* { dg-warning "will consume extra register" } */    mov   esi, [ptr+4]         /* { dg-warning "will consume extra register" } */    mov   esi, [ptr][eax]      /* { dg-warning "will consume extra register" } */    mov   esi, [ptr+eax]       /* { dg-warning "will consume extra register" } */    mov   esi, [-4][pa+esi]    /* { dg-warning "will consume extra register" } */    mov   esi, [-4][j+esi]     /* { dg-warning "will consume extra register" } */    mov   esi, [pa-4+esi]      /* { dg-warning "will consume extra register" } */    mov   esi, [a][3]          /* { dg-warning "will consume extra register" } */    jmp   [a+4*ebx]            /* { dg-warning "will consume extra register" } */  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?