#ifndef _8051_H
#define _8051_H

#ifndef _HTC_H_
#include <htc.h>
#endif

// built-in delay function - delays by specified number of instruction cycles,
// where nop == 1 cycle
extern reentrant void _delay(unsigned long);
#pragma inline(_delay)

	// Start chip specific inclusions
	#if defined(_8044)	|| defined(_8344)	|| defined(_8744)	||\
	    defined(_IA8044)	|| defined(_IA8344)
		#include <8044.h>
	#endif

	#if defined(_C8051F018)	|| defined(_C8051F019)
		#include <8051f01x.h>
	#endif

	#if defined(_C8051F020)	|| defined(_C8051F021)	|| defined(_C8051F022)	||\
	    defined(_C8051F023)
		#include <8051f02x.h>
	#endif

	#if defined(_C8051F040)	|| defined(_C8051F041)	|| defined(_C8051F042)	||\
	    defined(_C8051F043)
		#include <8051f04x.h>
	#endif

	#if defined(_C8051F060)	|| defined(_C8051F061)	|| defined(_C8051F062)	||\
	    defined(_C8051F063)
		#include <8051f06x.h>
	#endif

	#if defined(_C8051F000)	|| defined(_C8051F001)	|| defined(_C8051F002)	||\
	    defined(_C8051F005)	|| defined(_C8051F006)	|| defined(_C8051F007)	||\
	    defined(_C8051F010)	|| defined(_C8051F011)	|| defined(_C8051F012)	||\
	    defined(_C8051F015)	|| defined(_C8051F016)	|| defined(_C8051F017)
		#include <8051f0xx.h>
	#endif

	#if defined(_C8051F120)	|| defined(_C8051F121)	|| defined(_C8051F122)	||\
	    defined(_C8051F123)	|| defined(_C8051F124)	|| defined(_C8051F125)	||\
	    defined(_C8051F126)	|| defined(_C8051F127)
		#include <8051f12x.h>
	#endif

	#if defined(_C8051F206)	|| defined(_C8051F220)	|| defined(_C8051F221)	||\
	    defined(_C8051F226)	|| defined(_C8051F230)	|| defined(_C8051F231)	||\
	    defined(_C8051F236)
		#include <8051f2xx.h>
	#endif

	#if defined(_C8051F300)	|| defined(_C8051F301)	|| defined(_C8051F302)	||\
	    defined(_C8051F303)
		#include <8051f30x.h>
	#endif

	#if defined(_C8051F310)	|| defined(_C8051F311)
		#include <8051f31x.h>
	#endif

	#if defined(_C8051F320)	|| defined(_C8051F321)
		#include <8051f32x.h>
	#endif

	#if defined(_C8051F330)	|| defined(_C8051F330D)	|| defined(_C8051F331)
		#include <8051f33x.h>
	#endif

	#if defined(_C8051F350)	|| defined(_C8051F351)	|| defined(_C8051F352)	||\
	    defined(_C8051F353)
		#include <8051f35x.h>
	#endif

	#if defined(_8032AH)	|| defined(_8052AH)	|| defined(_8752BH)	||\
	    defined(_AM80C52)	|| defined(_IS80C32)	|| defined(_IS80C52)	||\
	    defined(_IS89C52)	|| defined(_IS80LV32)	|| defined(_IS80LV52)	||\
	    defined(_IC80C32)	|| defined(_IC80C52)	|| defined(_IC80C54)	||\
	    defined(_IC80C58)	|| defined(_IC80LV32)	|| defined(_IC80LV52)	||\
	    defined(_IC89C52A)	|| defined(_DMC8032)	|| defined(_DMC8052)	||\
	    defined(_TSC80C32)	|| defined(_TSC80C52)
		#include <8052.h>
	#endif

	#if defined(_8031AH)	|| defined(_8051AH)	|| defined(_8051AHP)	||\
	    defined(_8751H)	|| defined(_8751H8)	|| defined(_8751BH)	||\
	    defined(_80C31BH)	|| defined(_80C51BH)	|| defined(_80C51BHP)	||\
	    defined(_80C51)	|| defined(_87C51)	|| defined(_AM80C51)	||\
	    defined(_MSM80C31)	|| defined(_MSM80C51)	|| defined(_MSM80C31F)	||\
	    defined(_MSM80C51F)	|| defined(_IS80C31)	|| defined(_IS80C51)	||\
	    defined(_IS80LV31)	|| defined(_IS80LV51)	|| defined(_IC80C31)	||\
	    defined(_IC80C51)	|| defined(_IC80LV31)	|| defined(_IC80LV51)	||\
	    defined(_IC89C51A)	|| defined(_AT87F51)	|| defined(_AT89C51)	||\
	    defined(_DMC8031)	|| defined(_DMC8051)	|| defined(_TSC80C31)	||\
	    defined(_TSC80C51)	|| defined(_8051)
		#include <805x.h>
	#endif

	#if defined(_80C517)	|| defined(_80C537)
		#include <80c517.h>
	#endif

	#if defined(_80C751)
		#include <80c750.h>
	#endif

	#if defined(_83C51KB)
		#include <83c51kb.h>
	#endif

	#if defined(_P87C51MB2)	|| defined(_P87C51MC2)
		#include <87c51mx2.h>
	#endif

	#if defined(_P87LPC760)	|| defined(_P87LPC761)	|| defined(_P87LPC762)	||\
	    defined(_P87LPC764)	|| defined(_P87LPC767)	|| defined(_P87LPC768)	||\
	    defined(_P87LPC769)
		#include <87lpc76x.h>
	#endif

	#if defined(_T89C51CC01)
		#include <8951cc01.h>
	#endif

	#if defined(_T89C51CC02)
		#include <8951cc02.h>
	#endif

	#if defined(_AT89C1051U)
		#include <89c1051u.h>
	#endif

	#if defined(_T89C51AC2)
		#include <89c51ac2.h>
	#endif

	#if defined(_AT89C51ID2)
		#include <89c51id2.h>
	#endif

	#if defined(_P89C51RB2HXX)	|| defined(_P89C51RC2HXX)	|| defined(_P89C51RD2HXX)
		#include <89c51r2h.h>
	#endif

	#if defined(_T89C51RD2)
		#include <89c51rd2.h>
	#endif

	#if defined(_P89C51RB2)	|| defined(_P89C51RC2)	|| defined(_P89C51RD2)	||\
	    defined(_P89C51RA2XX)	|| defined(_P89C51RB2XX)	|| defined(_P89C51RC2XX)	||\
	    defined(_P89C51RD2XX)
		#include <89c51rx2.h>
	#endif

	#if defined(_SST89E564RD)	|| defined(_SST89V564RD)	|| defined(_SST89E554RC)	||\
	    defined(_SST89V554RC)	|| defined(_SST89E564)	|| defined(_SST89V564)	||\
	    defined(_SST89E554)	|| defined(_SST89V554)
		#include <89ev5x4.h>
	#endif

	#if defined(_P89LPC932)
		#include <89lpc932.h>
	#endif

	#if defined(_AT89LS8252)	|| defined(_AT89S8252)
		#include <89xs8252.h>
	#endif

	#if defined(_83C152)	|| defined(_83C152JA)	|| defined(_83C152JB)	||\
	    defined(_83C152JC)	|| defined(_83C152JD)	|| defined(_80C152)	||\
	    defined(_80C152JA)	|| defined(_80C152JB)	|| defined(_80C152JC)	||\
	    defined(_80C152JD)	|| defined(_IA80C152)
		#include <8xc152.h>
	#endif

	#if defined(_AT83C5103)	|| defined(_AT87C5103)
		#include <8xc5103.h>
	#endif

	#if defined(_80C51GB)	|| defined(_87C51GB)
		#include <8xc51gb.h>
	#endif

	#if defined(_80C51RA)	|| defined(_83C51RA)	|| defined(_83C51RB)	||\
	    defined(_83C51RC)	|| defined(_87C51RA)	|| defined(_87C51RB)	||\
	    defined(_87C51RC)
		#include <8xc51rx.h>
	#endif

	#if defined(_P80C51RA)	|| defined(_P83C51RA)	|| defined(_P87C51RA)	||\
	    defined(_P83C51RB)	|| defined(_P87C51RB)	|| defined(_P83C51RC)	||\
	    defined(_P87C51RC)	|| defined(_P83C51RD)	|| defined(_P87C51RD)	||\
	    defined(_P89C51RC)	|| defined(_P89C51RD)	|| defined(_80C51FA)	||\
	    defined(_83C51FA)	|| defined(_83C51FB)	|| defined(_83C51FC)	||\
	    defined(_87C51FA)	|| defined(_87C51FB)	|| defined(_87C51FC)	||\
	    defined(_HT83C51FX)	|| defined(_UT69RH051)
		#include <8xc51xx.h>
	#endif

	#if defined(_P80C557E4)	|| defined(_P83C557E4)	|| defined(_P89C557E4)	||\
	    defined(_P80C557E6)	|| defined(_P83C557E6)	|| defined(_P80C557E8)	||\
	    defined(_P83C557E8)	|| defined(_P87C557E8)
		#include <8xc557ex.h>
	#endif

	#if defined(_80C151SA)	|| defined(_83C151SA)	|| defined(_87C151SA)	||\
	    defined(_80C151SB)	|| defined(_83C151SB)	|| defined(_87C151SB)
		#include <8xcx51.h>
	#endif

	#if defined(_80C52)	|| defined(_80C54)	|| defined(_80C58)	||\
	    defined(_87C52)	|| defined(_87C54)	|| defined(_87C58)	||\
	    defined(_80C32)
		#include <8xcxx.h>
	#endif

	#if defined(_HMS91C7132)	|| defined(_HMS91C7134)	|| defined(_HMS97C7132)	||\
	    defined(_HMS97C7134)
		#include <9xc713x.h>
	#endif

	#if defined(_HMS91C8032)	|| defined(_HMS97C8032)
		#include <9xc8032.h>
	#endif

	#if defined(_HMS91C8108)	|| defined(_HMS91C8116)	|| defined(_HMS91C8132)	||\
	    defined(_HMS97C8132)
		#include <9xc8132.h>
	#endif

	#if defined(_AT89C5131)
		#include <a89c5131.h>
	#endif

	#if defined(_AT89C51RB2)	|| defined(_AT89C51RC2)	|| defined(_AT89C51RD2)	||\
	    defined(_AT89C51ED2)
		#include <a89c51r2.h>
	#endif

	#if defined(_AT89C1051)	|| defined(_AT89C2051)	|| defined(_AT89C4051)	||\
	    defined(_GMS97C1051)	|| defined(_GMS97L1051)	|| defined(_GMS97C2051)	||\
	    defined(_GMS97L2051)
		#include <a89cx051.h>
	#endif

	#if defined(_AT89S4D12)
		#include <a89s4d12.h>
	#endif

	#if defined(_AT83C5123)	|| defined(_AT83EB5123)
		#include <a8xc5123.h>
	#endif

	#if defined(_AT83C5132)	|| defined(_AT89C5132)
		#include <a8xc5132.h>
	#endif

	#if defined(_ADUC812)
		#include <aduc812.h>
	#endif

	#if defined(_ADUC812S)
		#include <aduc812s.h>
	#endif

	#if defined(_ADUC814)
		#include <aduc814.h>
	#endif

	#if defined(_ADUC816)
		#include <aduc816.h>
	#endif

	#if defined(_ADUC824)
		#include <aduc824.h>
	#endif

	#if defined(_ADUC832)	|| defined(_ADUC831)
		#include <aduc832.h>
	#endif

	#if defined(_ADUC834)
		#include <aduc834.h>
	#endif

	#if defined(_ADUC836)
		#include <aduc836.h>
	#endif

	#if defined(_ADUC841)	|| defined(_ADUC842)	|| defined(_ADUC843)
		#include <aduc84x.h>
	#endif

	#if defined(_AM80C521)
		#include <am80cx2x.h>
	#endif

	#if defined(_AT89S52)	|| defined(_AT89LS52)	|| defined(_AT87LV55)
		#include <at89s52.h>
	#endif

	#if defined(_AT89LS53)	|| defined(_AT89S53)
		#include <at89xs53.h>
	#endif

	#if defined(_AT87F51RC)	|| defined(_AT87F55WD)	|| defined(_AT89C51RC)	||\
	    defined(_AT89LV51RC)	|| defined(_AT89C55WD)	|| defined(_AT89LV55WD)
		#include <at8xf5xx.h>
	#endif

	#if defined(_AT89S51)	|| defined(_AT89LS51)
		#include <at8xls5x.h>
	#endif

	#if defined(_AT87F52)	|| defined(_AT89C52)	|| defined(_AT87LV51)	||\
	    defined(_AT87LV52)	|| defined(_AT89LV51)	|| defined(_AT89LV52)	||\
	    defined(_AT89LV55)	|| defined(_AT80F52)	|| defined(_AT89C55)	||\
	    defined(_AT48801)
		#include <at8xx5x.h>
	#endif

	#if defined(_AT83C51SND1A)	|| defined(_AT89C51SND1A)	|| defined(_AT80C51SND1C)	||\
	    defined(_AT83SND1C)	|| defined(_AT89C51SND1C)	|| defined(_AT83SND2C)	||\
	    defined(_AT89C51SND2C)
		#include <atxsnd1a.h>
	#endif

	#if defined(_C501_1R)	|| defined(_C501_L)	|| defined(_C501_1E)
		#include <c501.h>
	#endif

	#if defined(_C504_2R)	|| defined(_C504_2E)	|| defined(_C504_L)
		#include <c504.h>
	#endif

	#if defined(_C505_2R)	|| defined(_C505_L)	|| defined(_C505A_2R)	||\
	    defined(_C505A_4R)	|| defined(_C505A_4E)	|| defined(_C505A_L)	||\
	    defined(_C505C_2R)	|| defined(_C505C_L)	|| defined(_C505CA_2R)	||\
	    defined(_C505CA_4R)	|| defined(_C505CA_4E)	|| defined(_C505CA_L)
		#include <c505.h>
	#endif

	#if defined(_C505L)
		#include <c505l.h>
	#endif

	#if defined(_C508_4R)	|| defined(_C508_4E)
		#include <c508.h>
	#endif

	#if defined(_C509_L)
		#include <c509.h>
	#endif

	#if defined(_C513AO_2R)	|| defined(_C513AO_2E)	|| defined(_C513AO_L)
		#include <c513ao.h>
	#endif

	#if defined(_C515A_4R)	|| defined(_C515A_L)
		#include <c515a.h>
	#endif

	#if defined(_C515C_8R)	|| defined(_C515C_8E)	|| defined(_C515C_L)
		#include <c515c.h>
	#endif

	#if defined(_C515_1R)	|| defined(_C515_L)
		#include <c515.h>
	#endif

	#if defined(_C517A_4R)	|| defined(_C517A_L)
		#include <c517a.h>
	#endif

	#if defined(_C511_R)	|| defined(_C511A_R)	|| defined(_C513_1R)	||\
	    defined(_C513A_R)	|| defined(_C513A_2R)	|| defined(_C513A_L)	||\
	    defined(_C513A_H)
		#include <c51x.h>
	#endif

	#if defined(_C541U_1E)	|| defined(_C541U_L)
		#include <c541u.h>
	#endif

	#if defined(_C540U)	|| defined(_C541U)	|| defined(_C540U_L)
		#include <c54xu.h>
	#endif

	#if defined(_C868_1R)	|| defined(_C868_1S)
		#include <c868.h>
	#endif

	#if defined(_CC1010)
		#include <cc1010.h>
	#endif

	#if defined(_CC2430F32)	|| defined(_CC2430F64)	|| defined(_CC2430F128)
		#include <cc2430.h>
	#endif

	#if defined(_CMX850)
		#include <cmx850.h>
	#endif

	#if defined(_COM20051)	|| defined(_COM20051I)
		#include <com20051.h>
	#endif

	#if defined(_CY7C68013)
		#include <cy7c68013.h>
	#endif

	#if defined(_DS2250_8)	|| defined(_DS2250_32)	|| defined(_DS2250_64)	||\
	    defined(_DS2250T_8)	|| defined(_DS2250T_32)	|| defined(_DS2250T_64)	||\
	    defined(_DS5000_8)	|| defined(_DS5000_32)	|| defined(_DS5000T_8)	||\
	    defined(_DS5000T_32)	|| defined(_DS5000FP)
		#include <ds5000.h>
	#endif

	#if defined(_DS2251T_32)	|| defined(_DS2251T_64)	|| defined(_DS2251T_128)	||\
	    defined(_DS2252T_32)	|| defined(_DS2252T_64)	|| defined(_DS2252T_128)	||\
	    defined(_DS5001FP)	|| defined(_DS5002FP)
		#include <ds500x.h>
	#endif

	#if defined(_DS80C310)
		#include <ds80c310.h>
	#endif

	#if defined(_DS80C320)	|| defined(_DS80C323)
		#include <ds80c32x.h>
	#endif

	#if defined(_DS80C390)
		#include <ds80c390.h>
	#endif

	#if defined(_DS80C400)
		#include <ds80c400.h>
	#endif

	#if defined(_DS87C550)
		#include <ds87c550.h>
	#endif

	#if defined(_DS89C420)
		#include <ds89c420.h>
	#endif

	#if defined(_DS83C520)	|| defined(_DS87C520)
		#include <ds8xc520.h>
	#endif

	#if defined(_DS83C530)	|| defined(_DS87C530)
		#include <ds8xc530.h>
	#endif

	#if defined(_TEE502)	|| defined(_TEE505)	|| defined(_TEE512)	||\
	    defined(_TEE520)	|| defined(_TEE532)
		#include <e5.h>
	#endif

	#if defined(_AN2121S)	|| defined(_AN2122S)	|| defined(_AN2122T)	||\
	    defined(_AN2125S)	|| defined(_AN2126S)	|| defined(_AN2126T)	||\
	    defined(_AN2131Q)	|| defined(_AN2131S)	|| defined(_AN2135S)	||\
	    defined(_AN2136S)
		#include <ez_usb.h>
	#endif

	#if defined(_FHG8051)
		#include <fhg8051.h>
	#endif

	#if defined(_FIPSOC)
		#include <fipsoc.h>
	#endif

	#if defined(_GMS90C320)	|| defined(_GMS90L320)	|| defined(_GMS90C31)	||\
	    defined(_GMS90C32)	|| defined(_GMS90C51)	|| defined(_GMS90C52)	||\
	    defined(_GMS90C54)	|| defined(_GMS90C56)	|| defined(_GMS90C58)	||\
	    defined(_GMS97C51)	|| defined(_GMS97C51H)	|| defined(_GMS97C52)	||\
	    defined(_GMS97C52H)	|| defined(_GMS97C54)	|| defined(_GMS97C54H)	||\
	    defined(_GMS97C56)	|| defined(_GMS97C56H)	|| defined(_GMS97C58)	||\
	    defined(_GMS97C58H)	|| defined(_GMS90L31)	|| defined(_GMS90L32)	||\
	    defined(_GMS90L51)	|| defined(_GMS90L52)	|| defined(_GMS90L54)	||\
	    defined(_GMS90L56)	|| defined(_GMS90L58)	|| defined(_GMS97L51)	||\
	    defined(_GMS97L52)	|| defined(_GMS97L54)	|| defined(_GMS97L56)	||\
	    defined(_GMS97L58)	|| defined(_GMS99C58)
		#include <gms9xxxx.h>
	#endif

	#if defined(_IS89E54)	|| defined(_IS89E58)	|| defined(_IS89E64)
		#include <is89e5x.h>
	#endif

	#if defined(_KS152JB)
		#include <ks152jb.h>
	#endif

	#if defined(_LPC47N252)
		#include <lpc47252.h>
	#endif

	#if defined(_LZ87010)
		#include <lz87010.h>
	#endif

	#if defined(_M6759)
		#include <m6759.h>
	#endif

	#if defined(_M8051EWARP)
		#include <m8051ew.h>
	#endif

	#if defined(_MAX7651)	|| defined(_MAX7652)
		#include <max765x.h>
	#endif

	#if defined(_GC87C520G0)	|| defined(_GC81C520G0)	|| defined(_GC80C520G0)	||\
	    defined(_GC87C520A0)	|| defined(_GC81C520A0)	|| defined(_GC80C520A0)	||\
	    defined(_GC87C510A0)	|| defined(_GC87C510A1)	|| defined(_GC81C510A0)	||\
	    defined(_GC81C510A1)	|| defined(_GC89C591A0)	|| defined(_GC89C591G0)	||\
	    defined(_GC81C591A0)	|| defined(_GC81C591G0)
		#include <midas.h>
	#endif

	#if defined(_MPC89E51A)	|| defined(_MPC89E52A)	|| defined(_MPC89E53A)	||\
	    defined(_MPC89E54A)	|| defined(_MPC89E58A)	|| defined(_MPC89E515A)	||\
	    defined(_MPC89L51A)	|| defined(_MPC89L52A)	|| defined(_MPC89L53A)	||\
	    defined(_MPC89L54A)	|| defined(_MPC89L58A)	|| defined(_MPC89L515A)
		#include <mpc89e51a.h>
	#endif

	#if defined(_MPC89L516X2)	|| defined(_MPC89L556X2)
		#include <mpc89l5x6.h>
	#endif

	#if defined(_MSM80C154S)	|| defined(_MSM83C154S)	|| defined(_MSM85C154HVS)	||\
	    defined(_T80C154)	|| defined(_T83C154)	|| defined(_T83C154D)
		#include <ms8xc154.h>
	#endif

	#if defined(_MSC1210Y2)	|| defined(_MSC1210Y3)	|| defined(_MSC1210Y4)	||\
	    defined(_MSC1210Y5)
		#include <msc1210.h>
	#endif

	#if defined(_MTP800)
		#include <mtp800.h>
	#endif

	#if defined(_MTV112M)	|| defined(_MTV112E)
		#include <mtv112m.h>
	#endif

	#if defined(_MTV212A16)	|| defined(_MTV212A24)	|| defined(_MTV212A32)	||\
	    defined(_MTV212A32U)	|| defined(_MTV212A48U)	|| defined(_MTV212A64U)
		#include <mtv212a.h>
	#endif

	#if defined(_MTV212M16)	|| defined(_MTV212M24)	|| defined(_MTV212M32)	||\
	    defined(_MTV212M32U)	|| defined(_MTV212M48U)	|| defined(_MTV212M64U)
		#include <mtv212m.h>
	#endif

	#if defined(_MTV230M)
		#include <mtv230m.h>
	#endif

	#if defined(_MTV412M)
		#include <mtv412m.h>
	#endif

	#if defined(_P83C145)	|| defined(_P83C845)	|| defined(_P83C055)	||\
	    defined(_P87C055)
		#include <mtv.h>
	#endif

	#if defined(_NRF24E1)	|| defined(_NRF24E2)
		#include <nrf24e1.h>
	#endif

	#if defined(_NRF9E5)
		#include <nrf9e5.h>
	#endif

	#if defined(_OM5202)	|| defined(_OM5232)	|| defined(_OM5234)	||\
	    defined(_OM5284)	|| defined(_OM5238)
		#include <om52xx.h>
	#endif

	#if defined(_P51)
		#include <p51.h>
	#endif

	#if defined(_P83CL781)	|| defined(_P83CL782)
		#include <p83cl78x.h>
	#endif

	#if defined(_P83C434)	|| defined(_P83C834)
		#include <p83cx34.h>
	#endif

	#if defined(_P87CL888)
		#include <p87cl888.h>
	#endif

	#if defined(_P89C535)	|| defined(_P89C536)	|| defined(_P89C538)
		#include <p89c53x.h>
	#endif

	#if defined(_P89C669)
		#include <p89c669.h>
	#endif

	#if defined(_P89C660)	|| defined(_P89C662)	|| defined(_P89C664)	||\
	    defined(_P89C668)
		#include <p89c66x.h>
	#endif

	#if defined(_P89C60X2)	|| defined(_P89C61X2)
		#include <p89c6xx2.h>
	#endif

	#if defined(_P89C738)	|| defined(_P89C739)
		#include <p89c73x.h>
	#endif

	#if defined(_P89LPC901)	|| defined(_P89LPC902)	|| defined(_P89LPC903)	||\
	    defined(_P89LPC906)	|| defined(_P89LPC907)	|| defined(_P89LPC908)
		#include <p89lpc90x.h>
	#endif

	#if defined(_P89LPC920)	|| defined(_P89LPC921)	|| defined(_P89LPC922)
		#include <p89lpc92x.h>
	#endif

	#if defined(_P89LPC930)	|| defined(_P89LPC931)
		#include <p89lpc930.h>
	#endif

	#if defined(_P89LPC933)	|| defined(_P89LPC934)	|| defined(_P89LPC935)
		#include <p89lpc933.h>
	#endif

	#if defined(_P80C451)	|| defined(_P83C451)	|| defined(_P87C451)
		#include <p8xc451.h>
	#endif

	#if defined(_P83C453)	|| defined(_P87C453)
		#include <p8xc453.h>
	#endif

	#if defined(_P83C508)	|| defined(_P87C508)
		#include <p8xc508.h>
	#endif

	#if defined(_P80C528)	|| defined(_P83C528)	|| defined(_P87C528)	||\
	    defined(_P83C524)	|| defined(_P87C524)
		#include <p8xc52x.h>
	#endif

	#if defined(_P80C550)	|| defined(_P83C550)	|| defined(_P87C550)
		#include <p8xc550.h>
	#endif

	#if defined(_P80C554)	|| defined(_P83C554)	|| defined(_P87C554)
		#include <p8xc554.h>
	#endif

	#if defined(_P80C575)	|| defined(_P83C575)	|| defined(_P87C575)
		#include <p8xc575.h>
	#endif

	#if defined(_P83C576)	|| defined(_P87C576)
		#include <p8xc576.h>
	#endif

	#if defined(_P83C591)	|| defined(_P87C591)
		#include <p8xc591.h>
	#endif

	#if defined(_P80C598)	|| defined(_P83C598)
		#include <p8xc598.h>
	#endif

	#if defined(_P80C552)	|| defined(_P83C552)	|| defined(_P87C552)	||\
	    defined(_P80C562)	|| defined(_P83C562)	|| defined(_P80C592)	||\
	    defined(_P83C592)
		#include <p8xc5x2.h>
	#endif

	#if defined(_P80C31X2)	|| defined(_P80C32X2)	|| defined(_P80C51X2)	||\
	    defined(_P80C52X2)	|| defined(_P80C54X2)	|| defined(_P80C58X2)	||\
	    defined(_P87C51X2)	|| defined(_P87C52X2)	|| defined(_P87C54X2)	||\
	    defined(_P87C58X2)	|| defined(_P89C51X2)	|| defined(_P89C52X2)	||\
	    defined(_P89C54X2)	|| defined(_P89C58X2)
		#include <p8xc5xx2.h>
	#endif

	#if defined(_P80C51FA)	|| defined(_P83C51FA)	|| defined(_P87C51FA)	||\
	    defined(_P83C51FB)	|| defined(_P87C51FB)	|| defined(_P83C51FC)	||\
	    defined(_P87C51FC)
		#include <p8xc5xxx.h>
	#endif

	#if defined(_P83C654)	|| defined(_P87C654)	|| defined(_P83CE654)	||\
	    defined(_P80C652)	|| defined(_P83C652)	|| defined(_P87C652)
		#include <p8xc65x.h>
	#endif

	#if defined(_P83C748)	|| defined(_P87C748)
		#include <p8xc748.h>
	#endif

	#if defined(_P83C749)	|| defined(_P87C749)
		#include <p8xc749.h>
	#endif

	#if defined(_P83C750)	|| defined(_P87C750)
		#include <p8xc750.h>
	#endif

	#if defined(_P83C751)	|| defined(_P87C751)
		#include <p8xc751.h>
	#endif

	#if defined(_P83C752)	|| defined(_P87C752)
		#include <p8xc752.h>
	#endif

	#if defined(_P80C851)	|| defined(_P83C851)
		#include <p8xc851.h>
	#endif

	#if defined(_P80CE558)	|| defined(_P83CE558)	|| defined(_P89CE558)	||\
	    defined(_P80CE559)	|| defined(_P83CE559)
		#include <p8xce55x.h>
	#endif

	#if defined(_P80CE560)	|| defined(_P83CE560)	|| defined(_P87CE560)
		#include <p8xce560.h>
	#endif

	#if defined(_P80CE598)	|| defined(_P83CE598)
		#include <p8xce598.h>
	#endif

	#if defined(_P80CL580)	|| defined(_P83CL580)
		#include <p8xcl580.h>
	#endif

	#if defined(_P87CL881H)	|| defined(_P83CL882)	|| defined(_P83CL883)	||\
	    defined(_P87CL883)	|| defined(_P83CL884)	|| defined(_P87CL884)
		#include <p8xcl88x.h>
	#endif

	#if defined(_P80CL31)	|| defined(_P80CL51)	|| defined(_P80CL410)	||\
	    defined(_P83CL410)
		#include <p8xclx1.h>
	#endif

	#if defined(_P83C266)	|| defined(_P83C366)	|| defined(_P83C566)	||\
	    defined(_P83C766)	|| defined(_P87C766)
		#include <p8xcx66.h>
	#endif

	#if defined(_P83C270)	|| defined(_P83C370)	|| defined(_P83C570)	||\
	    defined(_P83C770)	|| defined(_P87C770)
		#include <p8xcx70.h>
	#endif

	#if defined(_P83C180)	|| defined(_P83C280)	|| defined(_P83C380)	||\
	    defined(_P83C880)	|| defined(_P87C380)
		#include <p8xcx80.h>
	#endif

	#if defined(_P80C31)	|| defined(_P80C32)	|| defined(_P80C51)	||\
	    defined(_P87C51)	|| defined(_P89C51)	|| defined(_P80C52)	||\
	    defined(_P87C52)	|| defined(_P89C52)	|| defined(_P80C54)	||\
	    defined(_P87C54)	|| defined(_P89C54)	|| defined(_P80C58)	||\
	    defined(_P87C58)	|| defined(_P89C58)
		#include <p8xcxx.h>
	#endif

	#if defined(_PAGEONE)
		#include <pageone.h>
	#endif

	#if defined(_PCD6001)
		#include <pcd6001.h>
	#endif

	#if defined(_PLATINUM100)
		#include <platnm100.h>
	#endif

	#if defined(_PLATINUM130)
		#include <platnm130.h>
	#endif

	#if defined(_PLATINUM40)
		#include <platnm40.h>
	#endif

	#if defined(_PLATINUM50)
		#include <platnm50.h>
	#endif

	#if defined(_PLATINUM62)
		#include <platnm62.h>
	#endif

	#if defined(_PL_ONE)
		#include <pl_one.h>
	#endif

	#if defined(_R8032S)	|| defined(_R8032T)
		#include <r8032.h>
	#endif

	#if defined(_R8032TTEX)
		#include <r8032tex.h>
	#endif

	#if defined(_R8032TT)	|| defined(_R8032TTE)
		#include <r8032tt.h>
	#endif

	#if defined(_SAB80C515A)	|| defined(_SAB83C515A_5)
		#include <s80c515a.h>
	#endif

	#if defined(_SAB80C517A)	|| defined(_SAB83C517A_5)
		#include <s80c517a.h>
	#endif

	#if defined(_S80C552)	|| defined(_S87C552)
		#include <s8xc552.h>
	#endif

	#if defined(_SAB80C515)	|| defined(_SAB80C535)
		#include <sa80c5x5.h>
	#endif

	#if defined(_SAB80C517)	|| defined(_SAB80C537)
		#include <sa80c5x7.h>
	#endif

	#if defined(_SAA5530)	|| defined(_SAA5531)	|| defined(_SAA5532)	||\
	    defined(_SAA5533)	|| defined(_SAA5561)	|| defined(_SAA5562)	||\
	    defined(_SAA5563)	|| defined(_SAA5564)	|| defined(_SAA5565)	||\
	    defined(_SAA5500)	|| defined(_SAA5501)	|| defined(_SAA5502)	||\
	    defined(_SAA5503)	|| defined(_SAA5520)	|| defined(_SAA5521)	||\
	    defined(_SAA5522)	|| defined(_SAA5523)	|| defined(_SAA5551)	||\
	    defined(_SAA5552)	|| defined(_SAA5553)	|| defined(_SAA5540)	||\
	    defined(_SAA5541)	|| defined(_SAA5542)	|| defined(_SAA5543)	||\
	    defined(_SAA5547)
		#include <saa55xx.h>
	#endif

	#if defined(_SAA5645)	|| defined(_SAA5647)	|| defined(_SAA5665)	||\
	    defined(_SAA5667)
		#include <saa56xx.h>
	#endif

	#if defined(_SAA5290)	|| defined(_SAA5290A)	|| defined(_SAA5291)	||\
	    defined(_SAA5291A)	|| defined(_SAA5296)	|| defined(_SAA5296A)	||\
	    defined(_SAA5297)	|| defined(_SAA5297H)	|| defined(_SAA5297A)	||\
	    defined(_SAA5491)	|| defined(_SAA5491H)	|| defined(_SAA5496)	||\
	    defined(_SAA5497)	|| defined(_SAA5497H)	|| defined(_SAA5497A)
		#include <saa5x9x.h>
	#endif

	#if defined(_SAB80515)	|| defined(_SAB80535)
		#include <sab805x5.h>
	#endif

	#if defined(_SDA30C263)	|| defined(_SDA30C264)
		#include <sd30c26x.h>
	#endif

	#if defined(_SDA55XX)
		#include <sda55xx.h>
	#endif

	#if defined(_SM2965)
		#include <sm2965.h>
	#endif

	#if defined(_SM5964)
		#include <sm5964.h>
	#endif

	#if defined(_SM8051)	|| defined(_SM8052)	|| defined(_SM8058)	||\
	    defined(_SM8951)	|| defined(_SM8952)	|| defined(_SM8954)	||\
	    defined(_SM8958)	|| defined(_SM89516)
		#include <sm8058.h>
	#endif

	#if defined(_SS1102C)
		#include <ss1102c.h>
	#endif

	#if defined(_SS8203)
		#include <ss8203.h>
	#endif

	#if defined(_SST89C54)	|| defined(_SST89C58)	|| defined(_SST89C59)
		#include <sst89c5x.h>
	#endif

	#if defined(_SST89E52RD2)	|| defined(_SST89E52RD)	|| defined(_SST89E54RD2)	||\
	    defined(_SST89E54RD)	|| defined(_SST89E58RD2)	|| defined(_SST89E58RD)	||\
	    defined(_SST89V52RD2)	|| defined(_SST89V52RD)	|| defined(_SST89V54RD2)	||\
	    defined(_SST89V54RD)	|| defined(_SST89V58RD2)	|| defined(_SST89V58RD)
		#include <sst89e52rd.h>
	#endif

	#if defined(_SST89F54)	|| defined(_SST89F58)
		#include <sst89f5x.h>
	#endif

	#if defined(_SZF2002)
		#include <szf2002.h>
	#endif

	#if defined(_T33520)
		#include <t33520.h>
	#endif

	#if defined(_TSC73M2910)	|| defined(_TSC73M2910A)	|| defined(_TSC73M2910L)
		#include <t73m2910.h>
	#endif

	#if defined(_TS80C31X2)
		#include <t80c31x2.h>
	#endif

	#if defined(_T89C51RB2)	|| defined(_T89C51RC2)	|| defined(_T89C51IC2)
		#include <t8951rx2.h>
	#endif

	#if defined(_T89C5115)
		#include <t89c5115.h>
	#endif

	#if defined(_TS80C51RA2)	|| defined(_TS80C51RD2)	|| defined(_TS83C51RB2)	||\
	    defined(_TS83C51RC2)	|| defined(_TS83C51RD2)	|| defined(_TS87C51RB2)	||\
	    defined(_TS87C51RC2)	|| defined(_TS87C51RD2)
		#include <t8x51rx2.h>
	#endif

	#if defined(_T83C5101)	|| defined(_T83C5102)	|| defined(_T87C5101)
		#include <t8xc510x.h>
	#endif

	#if defined(_AT83C5111)	|| defined(_AT87C5111)	|| defined(_T80C5111)	||\
	    defined(_T83C5111)	|| defined(_T87C5111)	|| defined(_AT80C5112)	||\
	    defined(_AT83C5112)	|| defined(_AT87C5112)	|| defined(_T80C5112)	||\
	    defined(_T83C5112)	|| defined(_T87C5112)
		#include <t8xc511x.h>
	#endif

	#if defined(_T83C5121)	|| defined(_T85C5121)	|| defined(_T89C5121)
		#include <t8xc5121.h>
	#endif

	#if defined(_TS80C51U2)	|| defined(_TS83C51U2)	|| defined(_TS87C51U2)
		#include <t8xc51u2.h>
	#endif

	#if defined(_TS80C54X2)	|| defined(_TS80C58X2)	|| defined(_TS87C54X2)	||\
	    defined(_TS87C58X2)
		#include <t8xc5xx2.h>
	#endif

	#if defined(_TS80C32X2)	|| defined(_TS87C52X2)	|| defined(_TS80C52X2)
		#include <t8xcx2x2.h>
	#endif

	#if defined(_TDA8006)
		#include <tda8006.h>
	#endif

	#if defined(_TSC87C51)
		#include <tsc87c51.h>
	#endif

	#if defined(_TUSB2136)
		#include <tusb2136.h>
	#endif

	#if defined(_TUSB3200)
		#include <tusb3200.h>
	#endif

	#if defined(_TUSB3210)
		#include <tusb3210.h>
	#endif

	#if defined(_TUSB3410)
		#include <tusb3410.h>
	#endif

	#if defined(_TUSB5052)
		#include <tusb5052.h>
	#endif

	#if defined(_TUSB5152)
		#include <tusb5152.h>
	#endif

	#if defined(_U51F128S02)	|| defined(_U51F64S02)
		#include <ultra51.h>
	#endif

	#if defined(_UPSD3233A)	|| defined(_UPSD3234B)
		#include <upsd3000.h>
	#endif

	#if defined(_UPSD3212A)	|| defined(_UPSD3212C)	|| defined(_UPSD3212CV)
		#include <upsd3212.h>
	#endif

	#if defined(_UPSD3234A)	|| defined(_UPSD3234BV)	|| defined(_UPSD3233B)	||\
	    defined(_UPSD3233BV)
		#include <upsd323x.h>
	#endif

	#if defined(_UPSD3254A)	|| defined(_UPSD3254BV)	|| defined(_UPSD3253B)	||\
	    defined(_UPSD3253BV)
		#include <upsd325x.h>
	#endif

	#if defined(_UPSD3312D)	|| defined(_UPSD3312DV)	|| defined(_UPSD3333D)	||\
	    defined(_UPSD3333DV)	|| defined(_UPSD3334D)	|| defined(_UPSD3334DV)	||\
	    defined(_UPSD3354D)	|| defined(_UPSD3354DV)
		#include <upsd33xx.h>
	#endif

	#if defined(_UPSD3422E)	|| defined(_UPSD3422EV)	|| defined(_UPSD3433E)	||\
	    defined(_UPSD3433EV)	|| defined(_UPSD3434E)	|| defined(_UPSD3434EV)
		#include <upsd34xx.h>
	#endif

	#if defined(_USB97C100)
		#include <usb97100.h>
	#endif

	#if defined(_USB97C102)
		#include <usb97102.h>
	#endif

	#if defined(_USB97C201)
		#include <usb97201.h>
	#endif

	#if defined(_V87C54)	|| defined(_V87C58)
		#include <v87c54.h>
	#endif

	#if defined(_VERSA1B)
		#include <versa1b.h>
	#endif

	#if defined(_VERSA1)
		#include <versa1.h>
	#endif

	#if defined(_VERSAMIX)
		#include <versamix.h>
	#endif

	#if defined(_VRS1000)
		#include <vrs1000.h>
	#endif

	#if defined(_VRS1100)
		#include <vrs1100.h>
	#endif

	#if defined(_VRS540)	|| defined(_VRS550)	|| defined(_VRS560)
		#include <vrs550.h>
	#endif

	#if defined(_VRS570)	|| defined(_VRS580)
		#include <vrs570.h>
	#endif

	#if defined(_VRS700)	|| defined(_VRS700L)
		#include <vrs700.h>
	#endif

	#if defined(_VRS900)
		#include <vrs900.h>
	#endif

	#if defined(_W77E516)
		#include <w77e516.h>
	#endif

	#if defined(_W77E532)
		#include <w77e532.h>
	#endif

	#if defined(_W77IE58)	|| defined(_W77IC32)	|| defined(_W77C32)	||\
	    defined(_W77L32)	|| defined(_W77C58)	|| defined(_W77E468)	||\
	    defined(_W77LE58)	|| defined(_W77E58)
		#include <w77xxxx.h>
	#endif

	#if defined(_W78C438C)
		#include <w78c438c.h>
	#endif

	#if defined(_W78C52)	|| defined(_W78C54)	|| defined(_W78C58)
		#include <w78c5x.h>
	#endif

	#if defined(_W78E354)
		#include <w78e354.h>
	#endif

	#if defined(_W78E365)
		#include <w78e365.h>
	#endif

	#if defined(_W78E516B)
		#include <w78e516b.h>
	#endif

	#if defined(_W78E65)
		#include <w78e65.h>
	#endif

	#if defined(_W78E858)
		#include <w78e858.h>
	#endif

	#if defined(_W78LE58)	|| defined(_W78E58B)	|| defined(_W78LE516)	||\
	    defined(_W78E62)
		#include <w78le5x.h>
	#endif

	#if defined(_W78LE812)
		#include <w78le812.h>
	#endif

	#if defined(_W78C32)	|| defined(_W78C33)	|| defined(_W78L32)
		#include <w78x32.h>
	#endif

	#if defined(_W78E378)	|| defined(_W78C378)	|| defined(_W78C374)
		#include <w78x37x.h>
	#endif

	#if defined(_W78C51D)	|| defined(_W78E51B)	|| defined(_W78L51)	||\
	    defined(_W78LE51)
		#include <w78x51.h>
	#endif

	#if defined(_W78E52B)	|| defined(_W78C52D)	|| defined(_W78IE52)	||\
	    defined(_W78L52)	|| defined(_W78LE52)	|| defined(_W78E54B)	||\
	    defined(_W78IE54)	|| defined(_W78L54)	|| defined(_W78LE54)
		#include <w78x52.h>
	#endif

	#if defined(_W78C801)	|| defined(_W78L801)
		#include <w78x801.h>
	#endif

	#if defined(_W81E381D)	|| defined(_W81E381AD)
		#include <w81e381.h>
	#endif

	#if defined(_W925E240)	|| defined(_W925C240)	|| defined(_W925E625)	||\
	    defined(_W925C625)
		#include <w925x240.h>
	#endif

	#if defined(_ZE502)	|| defined(_ZE505)	|| defined(_ZE512)	||\
	    defined(_ZE520)	|| defined(_ZE532)
		#include <ze5.h>
	#endif

	// End chip specific inclusions

#endif	// 8051.h
