This code should compile on SAS/C 6.1 without any problems. The assembler source should compile without problems either using asm or Genam 3.01. Note that SAS/C's asm contains a bug which warns you that move.l (ax,dx.s) isn't allowed <020. This instruction actually assembles to move.l 0(ax,dx.s) which IS a 68000-instruction. You'll need the xpk??dev archive since no xpk-includes are included in this archive.