The GNU assembler in Andy's cross compilation tool set is a little different from DEC's MACRO32 assembler. This file summarises the differences. 1. #, ^ and @ become $, ` and * In VAX MACRO you might write: movl #0, 8(r5) movl #0, @8(r5) movl #0, L^8(r5) In gas, these are written: movl $0, r0 movl $0, *8(r5) movl $0, L`8(r5) 2. ^X becomes 0x Hex constants are prefixed with 0x, rather than ^x Similarly, a leading zero not followed by an x implies octal. Therefore the following instructions are equivalent: VAX MACRO: movl #64, r0 movl #^x40, r0 movl #^o100, r0 gas: movl $64, r0 movl $0x40, r0 movl $0100, r0