where can i get information about gas,gcc for arm??

i have a problem,i use arm-linux-as compile a test.s file , in it there is a sentence is

LOOP  
 b LOOP

in the windows ADS, i find its machine opcode is 0xeaffffe,and execute no proplem,

but in linux ,i use arm-linux-as , its opcode is 0xea000003, and it can’t branch ,why??

it is my cross tool problem??or i need add some opentions when use this cross as??

Take a look at any C project for ARM that uses GCC, possibly a simple hello world. Then see the crt0.s or startup.s file. Remove the

b main

instruction, and start writing your code from here.

yexm:
but in linux ,i use arm-linux-as , its opcode is 0xea000003, and it can’t branch ,why??

Remove any ".thumb" and insert ".arm" before your code.

thanks for reply ,but now i also confused,i don’t know how to usr gdb to debug the program, i write a simple program test.c like:

int main(void)
{
  int a,b,c;

  a=3;
  b=4;
  c=a+b;

  return 0;
}

then i use ```
arm-linux-gcc -g test.c -o test

then ```
arm-linux-gdb test
target remote localhost:3333

to connect to openocd,

then```
load test 0x3000000


then 

mon reg pc 0x3000000

is this right?? but when i c use step it error:

can't find the funciton boundary, when use run it error:

don't how to run . the proplem is my unkown or my arm-linux-gdb can't

debug like this way?? should i have compiled arm-linux-gdb to add some option??

Can you sen me the file arm-linux-gdb. Is it necesary a built? How did you do it?