Inline Assembly and Operators

The Cosmic compiler and this compiler's inline assembly may not support the same amount or level of operators. But in most cases it is simple to rewrite or transform them (refer the following listing).

Listing: Compensating for Different Operators between Different Compilers


#ifdef __MWERKS__
  ldx #(BOFFIE + WUPIE) ; enable Interrupts

#else

  ldx #(BOFFIE | WUPIE) ; enable Interrupts

#endif

#ifdef __MWERKS__

  lda    #(_TxBuf2+Data0)

  ldx   #((_TxBuf2+Data0) / 256)

#else

  lda   #((_TxBuf2+Data0) & $ff)

  ldx   #(((_TxBuf2+Data0) >> 8) & $ff)

#endif