+ printf("Usage:\n"
+ " %s [options] srcfile\n"
+ "\n"
+ "Options:\n"
+ " -? or -h Display usage information\n"
+ " -dsymbol[=value] Define symbol (with optional value, default=0)\n"
+ " -e[errorfile] Send error messages to file, not stdout\n"
+ " -f[format] Output object file format\n"
+ " a: ALCYON\n"
+ " b: BSD (use this for Jaguar)\n"
+ " c: PRG (C64)\n"
+ " e: ELF\n"
+ " p: P56 (use this for DSP56001 only)\n"
+ " l: LOD (use this for DSP56001 only)\n"
+ " x: com/exe/xex (Atari 800)\n"
+ " r: absolute address\n"
+ " -g Output source level debug information (BSD object only)\n"
+ " -i[path] Directory to search for include files\n"
+ " -l[filename] Create an output listing file\n"
+ " -l*[filename] Create an output listing file without pagination\n"
+ " -m[cpu] Select default CPU. Available options:\n"
+ " 68000, 68020, 68030, 68040, 68060, 6502, tom, jerry, 56001\n"
+ " -n Don't do things behind your back in RISC assembler\n"
+ " -o file Output file name\n"
+ " +o[value] Turn a specific optimisation on\n"
+ " Available optimisation switches:\n"
+ " o0: Absolute long addresses to word\n"
+ " o1: move.l #x,dn/an to moveq\n"
+ " o2: Word branches to short\n"
+ " o3: Outer displacement 0(an) to (an)\n"
+ " o4: lea size(An),An to addq #size,An\n"
+ " o5: 68020+ Absolute long base/outer disp. to word\n"
+ " o6: Null branches to NOP\n"
+ " o7: clr.l Dx to moveq #0,Dx\n"
+ " o8: adda.w/l #x,Dy to addq.w/l #x,Dy\n"
+ " o9: adda.w/l #x,Ay to lea x(Dy),Ay\n"
+ " o10: 56001 Use short format for immediate values if possible\n"
+ " o11: 56001 Auto convert short addressing mode to long (default: on)\n"
+ " o30: Enforce PC relative (alternative name: op)\n"
+ " ~o[value] Turn a specific optimisation off\n"
+ " +oall Turn all optimisations on\n"
+ " ~oall Turn all optimisations off\n"
+ " -p Create an ST .prg (without symbols). Forces -fa\n"
+ " -ps Create an ST .prg (with symbols). Forces -fa\n"
+ " -px Create an ST .prg (with exsymbols). Forces -fa\n"
+ " -r[size] Pad segments to boundary size specified\n"
+ " w: word (2 bytes, default alignment)\n"
+ " l: long (4 bytes)\n"
+ " p: phrase (8 bytes)\n"
+ " d: double phrase (16 bytes)\n"
+ " q: quad phrase (32 bytes)\n"
+ " -s Warn about possible short branches\n"
+ " and applied optimisations\n"
+ " -u Force referenced and undefined symbols global\n"
+ " -v Set verbose mode\n"
+ " -x Turn on debugging mode\n"
+ " -y[pagelen] Set page line length (default: 61)\n"
+ " -4 Use C style operator precedence\n"
+ "\n", cmdlnexec);