asr16	macro	aaa
	rlf	aaa,w
	rrf	aaa,f
	rrf	aaa+1,f
	endm

mov16   macro   source,dest
        movf    source,w
        movwf   dest
        movf    source+1,w
        movwf   dest+1
        endm

movl16  macro   literal,dest
        movlw   (literal)>>8
        movwf   dest
        movlw   (literal) & 255
        movwf   dest+1
        endm


neg16	macro	aaa
	comf	aaa+1,f
	incf	aaa+1,f
	btfsc	STATUS,z
	decf	aaa,f
	comf	aaa,f
	endm

add16	macro	src,dest
	movf	src+1,w
	addwf	dest+1,f
	btfsc	STATUS,c
	incf	dest,f
	movf	src,w
	addwf	dest,f
	endm

sub16   macro   source,dest
        movf    source+1,w
        subwf   dest+1,f
        movf    source,w
        btfss	STATUS,c
        decf    dest,f
        subwf   dest,f
        endm


addl16	macro	lit,dest
	movlw	(lit)&0xff
	addwf	dest+1,f
	movlw	(lit)>>8
	btfsc	STATUS,c
	addlw	1
	addwf	dest,f
	endm

div256	macro	src
	movf	src,w
	movwf	src+1
	clrf	src
	btfsc	src+1,7
	decf	src,f
	endm

skpnb  macro byte,bit
       btfsc byte,bit
       endm

skpb   macro byte,bit
       btfss byte,bit
       endm


jnb    macro byte,bit,target
       btfss byte,bit
       goto  target
       endm

jb     macro byte,bit,target
       btfsc byte,bit
       goto  target
       endm

jnz	macro	target
	btfss	STATUS,Z
	goto	target
	endm

jz	macro	target
	btfsc	STATUS,Z
	goto	target
	endm

jnc	macro	target
	btfss	STATUS,C
	goto	target
	endm

jc	macro	target
	btfsc	STATUS,C
	goto	target
	endm

movlf  macro lit,reg
       movlw lit
       movwf reg
       endm

movff  macro source,destination
       movf  source,w
       movwf destination
       endm

