asm-block-1.c

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

C
76
字号
/* APPLE LOCAL file CW asm blocks *//* Test asm-syntax blocks within functions.  *//* { dg-do run { target powerpc*-*-darwin* } } *//* { dg-options "-fasm-blocks" } */extern "C" void abort (void);intfoo (int argx, int argy){  register int locx = argx, locy = argy, rslt;  asm {      add rslt,locx,locy    }  return rslt;}/* Exercise corners of syntax.  */intbar (){  register int rslt = 100;  asm {    // Combos of instructions on a line    nop     ;    nop    nop ;    ; nop    nop ; nop    ; nop ;;; li r3,95 ; nop ;    // '.' in an opcode    add. r6,r6,r5  }  return rslt;}int baz (){  register int rslt = 1;  asm {    li r8,29+(2 * 3);    add rslt,rslt,r8;    b @192   @34    nop    ble+ @34    b forward   abc:    b abc   @abc:    b @abc   forward: ; @192:    nop    ;  sameline: nop  x1: @x2 @x3: nop ; @x4 x5:  }  return rslt;}intmain (){  if (foo (22, 23) != 45)    abort ();  if (bar () != 100)    abort ();  if (baz () != 36)    abort ();  return 0;}

⌨️ 快捷键说明

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