I'm trying binutils 2.14 (and binutils 2.14.90.0.5). These versions can not compile this inctruction. lw $2, 0x80000000 $ mips-linux-gcc -c foo.s b.S: Assembler messages: foo.S:1: Error: load/store address overflow (max 32 bits) Using such an immediate address for load instructions is legal? I found the error message in tc-mips.c and it looks like something related to 64bit ABIs, but I just want to compile 32bit (standalone) program. Is this code really needed for 32bit ABI? binutils-2.14/gas/config/tc-mips.c:6297 else if (offset_expr.X_op == O_constant && !HAVE_64BIT_ADDRESS_CONSTANTS && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number)) as_bad (_("load/store address overflow (max 32 bits)")); --- Atsushi Nemoto