Bit support for MSP430

From: Nestor D. Closa <intec_at_satlink.com>
Date: Wed, 27 Mar 2002 12:01:56 -0300

CODE BSET ( bit c-addr -- )
   @S+ R8 MOV R8 0 (T) BIS.B
   TPOP RET
END-CODE

CODE BCLR ( bit c-addr -- )
   @S+ R8 MOV R8 0 (T) BIC.B
   TPOP RET
END-CODE

CODE BTGL ( bit c-addr -- )
   @S+ R8 MOV R8 0 (T) XOR.B
   TPOP RET
END-CODE

CODE BTST ( bit c-addr -- f )
   @S+ R8 MOV
   R8 0 (T) BIT.B
   T T SUBC T INV
   RET
END-CODE

: BMOV ( f bit c-addr -- )
   ROT
   IF
      BSET EXIT
   THEN
   BCLR ;

\ ------------------------------------------------------------------

In file: \SwiftX\src\msp430\opt.f

OPTIMIZER

: LIT_BSET ( -- ) T @LITERAL & BIS.B TPOP ;
: LIT_BCLR ( -- ) T @LITERAL & BIC.B TPOP ;
: LIT_BTGL ( -- ) T @LITERAL & XOR.B TPOP ;

: LIT_LIT_BSET ( -- ) @LITERALS >R # R> & BIS.B ;
: LIT_LIT_BCLR ( -- ) @LITERALS >R # R> & BIC.B ;
: LIT_LIT_BTGL ( -- ) @LITERALS >R # R> & XOR.B ;

TARGET

OPTIMIZE LITERAL BSET WITH LIT_BSET
OPTIMIZE LITERAL BCLR WITH LIT_BCLR
OPTIMIZE LITERAL BTGL WITH LIT_BTGL

OPTIMIZE LITERAL LIT_BSET WITH LIT_LIT_BSET
OPTIMIZE LITERAL LIT_BCLR WITH LIT_LIT_BCLR
OPTIMIZE LITERAL LIT_BTGL WITH LIT_LIT_BTGL

\ -------------------------------------------------------------------

: TEST ( -- )
    1 P1OUT BSET ; ok
  ok
SEE TEST
0406 1 # P1OUT & BIS.B D2D32100
040A @SP+ PC MOV 3041 ok

\ -------------------------------------------------------------------
Nestor D. Closa,
Industrias Tecnologicas S.A.
Buenos Aires - Argentina

----------------------------------------------------------------------
swiftx_at_forth.com The SwiftX programming discussion email list
To unsubscribe, send subject "unsubscribe swiftx" to listar_at_forth.com
For help with listar commands, send subject "help" to listar_at_forth.com
Archives are located at http://www.forth.com/swiftx -- check them out!
----------------------------------------------------------------------
THIS LIST IS NOT FOR BUG REPORTS! Send bug reports to support_at_forth.com.
Received on Wed Mar 27 2002 - 07:04:09 PST


Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!

This archive was generated 09-Feb-2012. Archive updated nightly.