Ok I have compiled a new version of nasm (2.01) I did the following to compile it. renamed their float.h float.c to nasmfloat.h nasmfloat.c and fix the makefiles etc to cope. This was done because their version of float.h was being included instead of gcc's version. Added the following defines to compiler.h These are c99 constructs that we don't have in our gcc headers. #define PRIu32 "u" #define PRIX32 "X" #define PRId32 "d" #define PRIX64 "X" #define PRId64 "d" #define PRIu64 "u" #define PRIx64 "x" #define PRIx32 "x" #define PRIx16 "x" #define PRIx8 "x" #define INT32_MAX 2147483647 #define UINT64_C(val) val##ULL Can anyone who knows more about what these values should be for BeOS please verify my choices. nasm 2.01 runs and compiles most of my asm files now. It just seems to be missing 2 commands. If anyone wants a copy to try let me know. -- Cheers David