		opt nolist
;
; Device type definition for PIC12C671
;

__progmem_size		equ	1024
__data_eeprom_size	equ	0

__config		set	0x3fff

		set_pic_type "PIC12C671", "14-bit"

__do_config	macro	; keyword, value

		if streqcase("\1", "wdte")| streqcase("\1", "wdt")
			if streqcase("\2", "no") | streqcase("\2", "off")
__config			set	__config & 0xfff7
				exitm
			endif
			if streqcase("\2", "yes") | streqcase("\2", "on")
__config			set	__config | 0x0008
				exitm
			endif
		endif

		if streqcase("\1", "pwrte")| streqcase("\1", "pwrt")
			if streqcase("\2", "no") | streqcase("\2", "off")
__config			set	__config | 0x0010
				exitm
			endif
			if streqcase("\2", "yes") | streqcase("\2", "on")
__config			set	__config & 0xffef
				exitm
			endif
		endif

		if streqcase("\1", "mclre")| streqcase("\1", "mclr")
			if streqcase("\2", "no") | streqcase("\2", "off")
__config			set	__config & 0xff7f
				exitm
			endif
			if streqcase("\2", "yes") | streqcase("\2", "on")
__config			set	__config | 0x0080
				exitm
			endif
		endif

		if streqcase("\1", "cp")
			if streqcase("\2", "no") | streqcase("\2", "off")
__config			set	__config | 0x3f60
				exitm
			endif
			if streqcase("\2", "yes") | streqcase("\2", "on")
__config			set	__config & 0xc09f
				exitm
			endif
		endif

		if streqcase("\1", "osc")
			if streqcase("\2", "lp")
__config			set	(__config & 0xfff8) | 0x0000
				exitm
			endif
			if streqcase("\2", "xt")
__config			set	(__config & 0xfff8) | 0x0001
				exitm
			endif
			if streqcase("\2", "hs")
__config			set	(__config & 0xfff8) | 0x0002
				exitm
			endif
			if streqcase("\2", "intrc")
__config			set	(__config & 0xfff8) | 0x0004
				exitm
			endif
			if streqcase("\2", "intrc_clkout")
__config			set	(__config & 0xfff8) | 0x0005
				exitm
			endif
			if streqcase("\2", "extrc")
__config			set	(__config & 0xfff8) | 0x0006
				exitm
			endif
			if streqcase("\2", "extrc_clkout")
__config			set	(__config & 0xfff8) | 0x0007
				exitm
			endif
		endif

		endm

		opt list
