#lang scheme/base
(require "../sig.ss")
(provide (all-defined-out))
(define-macro-set pic18-assembler^
(movf xorwf andwf iorwf subwf subfwb addwf addwfc comf rrcf rlcf rrncf rlncf
cpfseq cpfsgt cpfslt clrf setf movwf mulwf
push pop sleep reset clrwdt daw tblrd* tblrd*- tblrd*+ tblwt* tblwt*- tblwt*+
movlw retlw sublw movff retfie lfsr))
(define-macro-set pic18-extra^
(rot<<c rot>>c rot<< rot>> swap-nibble
z? nz? c? nc?
@f+ @f @a+ @a
!f+ !a+ !a
a!! f!! ah al fh fl
-- ++ ++! --! stc clc
rot<<c! rot>>c! rot<<! rot>>!
d=reg
",,"
1st 2nd 2nd-
))
(define-macro-set pic18-postproc^ (pseudo opti-save))