;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
; This file was generated Mon Jul 30 11:40:53 2012
;--------------------------------------------------------
	.module isr
	.optsdcc -mmcs51 --model-small
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _hook_fgv_PARM_2
	.globl _hook_uv_PARM_2
	.globl _hook_sv_PARM_2
	.globl _EIPX6
	.globl _EIPX5
	.globl _EIPX4
	.globl _PI2C
	.globl _PUSB
	.globl _EIEX6
	.globl _EIEX5
	.globl _EIEX4
	.globl _EI2C
	.globl _EIUSB
	.globl _SMOD1
	.globl _ERESI
	.globl _RESI
	.globl _INT6
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _FL
	.globl _P
	.globl _TF2
	.globl _EXF2
	.globl _RCLK
	.globl _TCLK
	.globl _EXEN2
	.globl _TR2
	.globl _C_T2
	.globl _CP_RL2
	.globl _SM01
	.globl _SM11
	.globl _SM21
	.globl _REN1
	.globl _TB81
	.globl _RB81
	.globl _TI1
	.globl _RI1
	.globl _PS1
	.globl _PT2
	.globl _PS0
	.globl _PT1
	.globl _PX1
	.globl _PT0
	.globl _PX0
	.globl _D7
	.globl _D6
	.globl _D5
	.globl _D4
	.globl _D3
	.globl _D2
	.globl _D1
	.globl _D0
	.globl _EA
	.globl _ES1
	.globl _ET2
	.globl _ES0
	.globl _ET1
	.globl _EX1
	.globl _ET0
	.globl _EX0
	.globl _SM0
	.globl _SM1
	.globl _SM2
	.globl _REN
	.globl _TB8
	.globl _RB8
	.globl _TI
	.globl _RI
	.globl _TF1
	.globl _TR1
	.globl _TF0
	.globl _TR0
	.globl _IE1
	.globl _IT1
	.globl _IE0
	.globl _IT0
	.globl _SEL
	.globl _A7
	.globl _A6
	.globl _A5
	.globl _A4
	.globl _A3
	.globl _A2
	.globl _A1
	.globl _A0
	.globl _EIP
	.globl _B
	.globl _EIE
	.globl _ACC
	.globl _EICON
	.globl _PSW
	.globl _TH2
	.globl _TL2
	.globl _RCAP2H
	.globl _RCAP2L
	.globl _T2CON
	.globl _SBUF1
	.globl _SCON1
	.globl _GPIFSGLDATLNOX
	.globl _GPIFSGLDATLX
	.globl _GPIFSGLDATH
	.globl _GPIFTRIG
	.globl _EP01STAT
	.globl _IP
	.globl _OEE
	.globl _OED
	.globl _OEC
	.globl _OEB
	.globl _OEA
	.globl _IOE
	.globl _IOD
	.globl _AUTOPTRSETUP
	.globl _EP68FIFOFLGS
	.globl _EP24FIFOFLGS
	.globl _EP2468STAT
	.globl _IE
	.globl _INT4CLR
	.globl _INT2CLR
	.globl _IOC
	.globl _AUTODAT2
	.globl _AUTOPTRL2
	.globl _AUTOPTRH2
	.globl _AUTODAT1
	.globl _APTR1L
	.globl _APTR1H
	.globl _SBUF0
	.globl _SCON0
	.globl _MPAGE
	.globl _EXIF
	.globl _IOB
	.globl _CKCON
	.globl _TH1
	.globl _TH0
	.globl _TL1
	.globl _TL0
	.globl _TMOD
	.globl _TCON
	.globl _PCON
	.globl _DPS
	.globl _DPH1
	.globl _DPL1
	.globl _DPH
	.globl _DPL
	.globl _SP
	.globl _IOA
	.globl _EP8FIFOBUF
	.globl _EP6FIFOBUF
	.globl _EP4FIFOBUF
	.globl _EP2FIFOBUF
	.globl _EP1INBUF
	.globl _EP1OUTBUF
	.globl _EP0BUF
	.globl _CT4
	.globl _CT3
	.globl _CT2
	.globl _CT1
	.globl _USBTEST
	.globl _TESTCFG
	.globl _DBUG
	.globl _UDMACRCQUAL
	.globl _UDMACRCL
	.globl _UDMACRCH
	.globl _GPIFHOLDAMOUNT
	.globl _FLOWSTBHPERIOD
	.globl _FLOWSTBEDGE
	.globl _FLOWSTB
	.globl _FLOWHOLDOFF
	.globl _FLOWEQ1CTL
	.globl _FLOWEQ0CTL
	.globl _FLOWLOGIC
	.globl _FLOWSTATE
	.globl _GPIFABORT
	.globl _GPIFREADYSTAT
	.globl _GPIFREADYCFG
	.globl _XGPIFSGLDATLNOX
	.globl _XGPIFSGLDATLX
	.globl _XGPIFSGLDATH
	.globl _EP8GPIFTRIG
	.globl _EP8GPIFPFSTOP
	.globl _EP8GPIFFLGSEL
	.globl _EP6GPIFTRIG
	.globl _EP6GPIFPFSTOP
	.globl _EP6GPIFFLGSEL
	.globl _EP4GPIFTRIG
	.globl _EP4GPIFPFSTOP
	.globl _EP4GPIFFLGSEL
	.globl _EP2GPIFTRIG
	.globl _EP2GPIFPFSTOP
	.globl _EP2GPIFFLGSEL
	.globl _GPIFTCB0
	.globl _GPIFTCB1
	.globl _GPIFTCB2
	.globl _GPIFTCB3
	.globl _GPIFADRL
	.globl _GPIFADRH
	.globl _GPIFCTLCFG
	.globl _GPIFIDLECTL
	.globl _GPIFIDLECS
	.globl _GPIFWFSELECT
	.globl _SETUPDAT
	.globl _SUDPTRCTL
	.globl _SUDPTRL
	.globl _SUDPTRH
	.globl _EP8FIFOBCL
	.globl _EP8FIFOBCH
	.globl _EP6FIFOBCL
	.globl _EP6FIFOBCH
	.globl _EP4FIFOBCL
	.globl _EP4FIFOBCH
	.globl _EP2FIFOBCL
	.globl _EP2FIFOBCH
	.globl _EP8FIFOFLGS
	.globl _EP6FIFOFLGS
	.globl _EP4FIFOFLGS
	.globl _EP2FIFOFLGS
	.globl _EP8CS
	.globl _EP6CS
	.globl _EP4CS
	.globl _EP2CS
	.globl _EP1INCS
	.globl _EP1OUTCS
	.globl _EP0CS
	.globl _EP8BCL
	.globl _EP8BCH
	.globl _EP6BCL
	.globl _EP6BCH
	.globl _EP4BCL
	.globl _EP4BCH
	.globl _EP2BCL
	.globl _EP2BCH
	.globl _EP1INBC
	.globl _EP1OUTBC
	.globl _EP0BCL
	.globl _EP0BCH
	.globl _FNADDR
	.globl _MICROFRAME
	.globl _USBFRAMEL
	.globl _USBFRAMEH
	.globl _TOGCTL
	.globl _WAKEUPCS
	.globl _SUSPEND
	.globl _USBCS
	.globl _XAUTODAT2
	.globl _XAUTODAT1
	.globl _I2CTL
	.globl _I2DAT
	.globl _I2CS
	.globl _PORTECFG
	.globl _PORTCCFG
	.globl _PORTACFG
	.globl _INTSETUP
	.globl _INT4IVEC
	.globl _INT2IVEC
	.globl _CLRERRCNT
	.globl _ERRCNTLIM
	.globl _USBERRIRQ
	.globl _USBERRIE
	.globl _GPIFIRQ
	.globl _GPIFIE
	.globl _EPIRQ
	.globl _EPIE
	.globl _USBIRQ
	.globl _USBIE
	.globl _NAKIRQ
	.globl _NAKIE
	.globl _IBNIRQ
	.globl _IBNIE
	.globl _EP8FIFOIRQ
	.globl _EP8FIFOIE
	.globl _EP6FIFOIRQ
	.globl _EP6FIFOIE
	.globl _EP4FIFOIRQ
	.globl _EP4FIFOIE
	.globl _EP2FIFOIRQ
	.globl _EP2FIFOIE
	.globl _OUTPKTEND
	.globl _INPKTEND
	.globl _EP8ISOINPKTS
	.globl _EP6ISOINPKTS
	.globl _EP4ISOINPKTS
	.globl _EP2ISOINPKTS
	.globl _EP8FIFOPFL
	.globl _EP8FIFOPFH
	.globl _EP6FIFOPFL
	.globl _EP6FIFOPFH
	.globl _EP4FIFOPFL
	.globl _EP4FIFOPFH
	.globl _EP2FIFOPFL
	.globl _EP2FIFOPFH
	.globl _EP8AUTOINLENL
	.globl _EP8AUTOINLENH
	.globl _EP6AUTOINLENL
	.globl _EP6AUTOINLENH
	.globl _EP4AUTOINLENL
	.globl _EP4AUTOINLENH
	.globl _EP2AUTOINLENL
	.globl _EP2AUTOINLENH
	.globl _EP8FIFOCFG
	.globl _EP6FIFOCFG
	.globl _EP4FIFOCFG
	.globl _EP2FIFOCFG
	.globl _EP8CFG
	.globl _EP6CFG
	.globl _EP4CFG
	.globl _EP2CFG
	.globl _EP1INCFG
	.globl _EP1OUTCFG
	.globl _REVCTL
	.globl _REVID
	.globl _FIFOPINPOLAR
	.globl _UART230
	.globl _BPADDRL
	.globl _BPADDRH
	.globl _BREAKPT
	.globl _FIFORESET
	.globl _PINFLAGSCD
	.globl _PINFLAGSAB
	.globl _IFCONFIG
	.globl _CPUCS
	.globl _RES_WAVEDATA_END
	.globl _GPIF_WAVE_DATA
	.globl _hook_sv
	.globl _hook_uv
	.globl _hook_fgv
	.globl _setup_autovectors
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
_IOA	=	0x0080
_SP	=	0x0081
_DPL	=	0x0082
_DPH	=	0x0083
_DPL1	=	0x0084
_DPH1	=	0x0085
_DPS	=	0x0086
_PCON	=	0x0087
_TCON	=	0x0088
_TMOD	=	0x0089
_TL0	=	0x008a
_TL1	=	0x008b
_TH0	=	0x008c
_TH1	=	0x008d
_CKCON	=	0x008e
_IOB	=	0x0090
_EXIF	=	0x0091
_MPAGE	=	0x0092
_SCON0	=	0x0098
_SBUF0	=	0x0099
_APTR1H	=	0x009a
_APTR1L	=	0x009b
_AUTODAT1	=	0x009c
_AUTOPTRH2	=	0x009d
_AUTOPTRL2	=	0x009e
_AUTODAT2	=	0x009f
_IOC	=	0x00a0
_INT2CLR	=	0x00a1
_INT4CLR	=	0x00a2
_IE	=	0x00a8
_EP2468STAT	=	0x00aa
_EP24FIFOFLGS	=	0x00ab
_EP68FIFOFLGS	=	0x00ac
_AUTOPTRSETUP	=	0x00af
_IOD	=	0x00b0
_IOE	=	0x00b1
_OEA	=	0x00b2
_OEB	=	0x00b3
_OEC	=	0x00b4
_OED	=	0x00b5
_OEE	=	0x00b6
_IP	=	0x00b8
_EP01STAT	=	0x00ba
_GPIFTRIG	=	0x00bb
_GPIFSGLDATH	=	0x00bd
_GPIFSGLDATLX	=	0x00be
_GPIFSGLDATLNOX	=	0x00bf
_SCON1	=	0x00c0
_SBUF1	=	0x00c1
_T2CON	=	0x00c8
_RCAP2L	=	0x00ca
_RCAP2H	=	0x00cb
_TL2	=	0x00cc
_TH2	=	0x00cd
_PSW	=	0x00d0
_EICON	=	0x00d8
_ACC	=	0x00e0
_EIE	=	0x00e8
_B	=	0x00f0
_EIP	=	0x00f8
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
_A0	=	0x0080
_A1	=	0x0081
_A2	=	0x0082
_A3	=	0x0083
_A4	=	0x0084
_A5	=	0x0085
_A6	=	0x0086
_A7	=	0x0087
_SEL	=	0x0086
_IT0	=	0x0088
_IE0	=	0x0089
_IT1	=	0x008a
_IE1	=	0x008b
_TR0	=	0x008c
_TF0	=	0x008d
_TR1	=	0x008e
_TF1	=	0x008f
_RI	=	0x0098
_TI	=	0x0099
_RB8	=	0x009a
_TB8	=	0x009b
_REN	=	0x009c
_SM2	=	0x009d
_SM1	=	0x009e
_SM0	=	0x009f
_EX0	=	0x00a8
_ET0	=	0x00a9
_EX1	=	0x00aa
_ET1	=	0x00ab
_ES0	=	0x00ac
_ET2	=	0x00ad
_ES1	=	0x00ae
_EA	=	0x00af
_D0	=	0x00b0
_D1	=	0x00b1
_D2	=	0x00b2
_D3	=	0x00b3
_D4	=	0x00b4
_D5	=	0x00b5
_D6	=	0x00b6
_D7	=	0x00b7
_PX0	=	0x00b8
_PT0	=	0x00b9
_PX1	=	0x00ba
_PT1	=	0x00bb
_PS0	=	0x00bc
_PT2	=	0x00bd
_PS1	=	0x00be
_RI1	=	0x00c0
_TI1	=	0x00c1
_RB81	=	0x00c2
_TB81	=	0x00c3
_REN1	=	0x00c4
_SM21	=	0x00c5
_SM11	=	0x00c6
_SM01	=	0x00c7
_CP_RL2	=	0x00c8
_C_T2	=	0x00c9
_TR2	=	0x00ca
_EXEN2	=	0x00cb
_TCLK	=	0x00cc
_RCLK	=	0x00cd
_EXF2	=	0x00ce
_TF2	=	0x00cf
_P	=	0x00d0
_FL	=	0x00d1
_OV	=	0x00d2
_RS0	=	0x00d3
_RS1	=	0x00d4
_F0	=	0x00d5
_AC	=	0x00d6
_CY	=	0x00d7
_INT6	=	0x00db
_RESI	=	0x00dc
_ERESI	=	0x00dd
_SMOD1	=	0x00df
_EIUSB	=	0x00e8
_EI2C	=	0x00e9
_EIEX4	=	0x00ea
_EIEX5	=	0x00eb
_EIEX6	=	0x00ec
_PUSB	=	0x00f8
_PI2C	=	0x00f9
_EIPX4	=	0x00fa
_EIPX5	=	0x00fb
_EIPX6	=	0x00fc
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area	OSEG    (OVR,DATA)
_hook_sv_PARM_2::
	.ds 2
	.area	OSEG    (OVR,DATA)
_hook_uv_PARM_2::
	.ds 2
	.area	OSEG    (OVR,DATA)
_hook_fgv_PARM_2::
	.ds 2
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
	.area IABS    (ABS,DATA)
	.area IABS    (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
_hook_sv_t_1_1:
	.ds 1
_hook_uv_t_1_1:
	.ds 1
_hook_fgv_t_1_1:
	.ds 1
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
_GPIF_WAVE_DATA	=	0xe400
_RES_WAVEDATA_END	=	0xe480
_CPUCS	=	0xe600
_IFCONFIG	=	0xe601
_PINFLAGSAB	=	0xe602
_PINFLAGSCD	=	0xe603
_FIFORESET	=	0xe604
_BREAKPT	=	0xe605
_BPADDRH	=	0xe606
_BPADDRL	=	0xe607
_UART230	=	0xe608
_FIFOPINPOLAR	=	0xe609
_REVID	=	0xe60a
_REVCTL	=	0xe60b
_EP1OUTCFG	=	0xe610
_EP1INCFG	=	0xe611
_EP2CFG	=	0xe612
_EP4CFG	=	0xe613
_EP6CFG	=	0xe614
_EP8CFG	=	0xe615
_EP2FIFOCFG	=	0xe618
_EP4FIFOCFG	=	0xe619
_EP6FIFOCFG	=	0xe61a
_EP8FIFOCFG	=	0xe61b
_EP2AUTOINLENH	=	0xe620
_EP2AUTOINLENL	=	0xe621
_EP4AUTOINLENH	=	0xe622
_EP4AUTOINLENL	=	0xe623
_EP6AUTOINLENH	=	0xe624
_EP6AUTOINLENL	=	0xe625
_EP8AUTOINLENH	=	0xe626
_EP8AUTOINLENL	=	0xe627
_EP2FIFOPFH	=	0xe630
_EP2FIFOPFL	=	0xe631
_EP4FIFOPFH	=	0xe632
_EP4FIFOPFL	=	0xe633
_EP6FIFOPFH	=	0xe634
_EP6FIFOPFL	=	0xe635
_EP8FIFOPFH	=	0xe636
_EP8FIFOPFL	=	0xe637
_EP2ISOINPKTS	=	0xe640
_EP4ISOINPKTS	=	0xe641
_EP6ISOINPKTS	=	0xe642
_EP8ISOINPKTS	=	0xe643
_INPKTEND	=	0xe648
_OUTPKTEND	=	0xe649
_EP2FIFOIE	=	0xe650
_EP2FIFOIRQ	=	0xe651
_EP4FIFOIE	=	0xe652
_EP4FIFOIRQ	=	0xe653
_EP6FIFOIE	=	0xe654
_EP6FIFOIRQ	=	0xe655
_EP8FIFOIE	=	0xe656
_EP8FIFOIRQ	=	0xe657
_IBNIE	=	0xe658
_IBNIRQ	=	0xe659
_NAKIE	=	0xe65a
_NAKIRQ	=	0xe65b
_USBIE	=	0xe65c
_USBIRQ	=	0xe65d
_EPIE	=	0xe65e
_EPIRQ	=	0xe65f
_GPIFIE	=	0xe660
_GPIFIRQ	=	0xe661
_USBERRIE	=	0xe662
_USBERRIRQ	=	0xe663
_ERRCNTLIM	=	0xe664
_CLRERRCNT	=	0xe665
_INT2IVEC	=	0xe666
_INT4IVEC	=	0xe667
_INTSETUP	=	0xe668
_PORTACFG	=	0xe670
_PORTCCFG	=	0xe671
_PORTECFG	=	0xe672
_I2CS	=	0xe678
_I2DAT	=	0xe679
_I2CTL	=	0xe67a
_XAUTODAT1	=	0xe67b
_XAUTODAT2	=	0xe67c
_USBCS	=	0xe680
_SUSPEND	=	0xe681
_WAKEUPCS	=	0xe682
_TOGCTL	=	0xe683
_USBFRAMEH	=	0xe684
_USBFRAMEL	=	0xe685
_MICROFRAME	=	0xe686
_FNADDR	=	0xe687
_EP0BCH	=	0xe68a
_EP0BCL	=	0xe68b
_EP1OUTBC	=	0xe68d
_EP1INBC	=	0xe68f
_EP2BCH	=	0xe690
_EP2BCL	=	0xe691
_EP4BCH	=	0xe694
_EP4BCL	=	0xe695
_EP6BCH	=	0xe698
_EP6BCL	=	0xe699
_EP8BCH	=	0xe69c
_EP8BCL	=	0xe69d
_EP0CS	=	0xe6a0
_EP1OUTCS	=	0xe6a1
_EP1INCS	=	0xe6a2
_EP2CS	=	0xe6a3
_EP4CS	=	0xe6a4
_EP6CS	=	0xe6a5
_EP8CS	=	0xe6a6
_EP2FIFOFLGS	=	0xe6a7
_EP4FIFOFLGS	=	0xe6a8
_EP6FIFOFLGS	=	0xe6a9
_EP8FIFOFLGS	=	0xe6aa
_EP2FIFOBCH	=	0xe6ab
_EP2FIFOBCL	=	0xe6ac
_EP4FIFOBCH	=	0xe6ad
_EP4FIFOBCL	=	0xe6ae
_EP6FIFOBCH	=	0xe6af
_EP6FIFOBCL	=	0xe6b0
_EP8FIFOBCH	=	0xe6b1
_EP8FIFOBCL	=	0xe6b2
_SUDPTRH	=	0xe6b3
_SUDPTRL	=	0xe6b4
_SUDPTRCTL	=	0xe6b5
_SETUPDAT	=	0xe6b8
_GPIFWFSELECT	=	0xe6c0
_GPIFIDLECS	=	0xe6c1
_GPIFIDLECTL	=	0xe6c2
_GPIFCTLCFG	=	0xe6c3
_GPIFADRH	=	0xe6c4
_GPIFADRL	=	0xe6c5
_GPIFTCB3	=	0xe6ce
_GPIFTCB2	=	0xe6cf
_GPIFTCB1	=	0xe6d0
_GPIFTCB0	=	0xe6d1
_EP2GPIFFLGSEL	=	0xe6d2
_EP2GPIFPFSTOP	=	0xe6d3
_EP2GPIFTRIG	=	0xe6d4
_EP4GPIFFLGSEL	=	0xe6da
_EP4GPIFPFSTOP	=	0xe6db
_EP4GPIFTRIG	=	0xe6dc
_EP6GPIFFLGSEL	=	0xe6e2
_EP6GPIFPFSTOP	=	0xe6e3
_EP6GPIFTRIG	=	0xe6e4
_EP8GPIFFLGSEL	=	0xe6ea
_EP8GPIFPFSTOP	=	0xe6eb
_EP8GPIFTRIG	=	0xe6ec
_XGPIFSGLDATH	=	0xe6f0
_XGPIFSGLDATLX	=	0xe6f1
_XGPIFSGLDATLNOX	=	0xe6f2
_GPIFREADYCFG	=	0xe6f3
_GPIFREADYSTAT	=	0xe6f4
_GPIFABORT	=	0xe6f5
_FLOWSTATE	=	0xe6c6
_FLOWLOGIC	=	0xe6c7
_FLOWEQ0CTL	=	0xe6c8
_FLOWEQ1CTL	=	0xe6c9
_FLOWHOLDOFF	=	0xe6ca
_FLOWSTB	=	0xe6cb
_FLOWSTBEDGE	=	0xe6cc
_FLOWSTBHPERIOD	=	0xe6cd
_GPIFHOLDAMOUNT	=	0xe60c
_UDMACRCH	=	0xe67d
_UDMACRCL	=	0xe67e
_UDMACRCQUAL	=	0xe67f
_DBUG	=	0xe6f8
_TESTCFG	=	0xe6f9
_USBTEST	=	0xe6fa
_CT1	=	0xe6fb
_CT2	=	0xe6fc
_CT3	=	0xe6fd
_CT4	=	0xe6fe
_EP0BUF	=	0xe740
_EP1OUTBUF	=	0xe780
_EP1INBUF	=	0xe7c0
_EP2FIFOBUF	=	0xf000
_EP4FIFOBUF	=	0xf400
_EP6FIFOBUF	=	0xf800
_EP8FIFOBUF	=	0xfc00
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
	.area XABS    (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area HOME    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'hook_sv'
;------------------------------------------------------------
;addr                      Allocated with name '_hook_sv_PARM_2'
;vector_number             Allocated to registers r2 
;------------------------------------------------------------
;	isr.c:40: hook_sv (unsigned char vector_number, unsigned short addr)
;	-----------------------------------------
;	 function hook_sv
;	-----------------------------------------
_hook_sv:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	mov	r2,dpl
;	isr.c:46: if (vector_number < SV_MIN || vector_number > SV_MAX)
	cjne	r2,#0x03,00112$
00112$:
	jc	00101$
	mov	a,r2
	add	a,#0xff - 0x63
	jnc	00102$
00101$:
;	isr.c:47: return;
	ret
00102$:
;	isr.c:49: if ((vector_number & 0x0f) != 0x03 && (vector_number & 0x0f) != 0x0b)
	mov	a,#0x0F
	anl	a,r2
	mov	r3,a
	cjne	r3,#0x03,00115$
	sjmp	00105$
00115$:
	mov	a,#0x0F
	anl	a,r2
	mov	r3,a
;	isr.c:50: return;
	cjne	r3,#0x0B,00107$
00105$:
;	isr.c:52: t = EA;
	mov	c,_EA
	mov	_hook_sv_t_1_1,c
;	isr.c:53: EA = 0;
	clr	_EA
;	isr.c:54: _standard_interrupt_vector[vector_number] = LJMP_OPCODE;
	mov	a,r2
	add	a,#__standard_interrupt_vector
	mov	dpl,a
	clr	a
	addc	a,#(__standard_interrupt_vector >> 8)
	mov	dph,a
	mov	a,#0x02
	movx	@dptr,a
;	isr.c:55: _standard_interrupt_vector[vector_number + 1] = addr >> 8;
	mov	r3,#0x00
	mov	a,#0x01
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	a,r4
	add	a,#__standard_interrupt_vector
	mov	dpl,a
	mov	a,r5
	addc	a,#(__standard_interrupt_vector >> 8)
	mov	dph,a
	mov	a,(_hook_sv_PARM_2 + 1)
	mov	r4,a
	movx	@dptr,a
;	isr.c:56: _standard_interrupt_vector[vector_number + 2] = addr & 0xff;
	mov	a,#0x02
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,r2
	add	a,#__standard_interrupt_vector
	mov	dpl,a
	mov	a,r3
	addc	a,#(__standard_interrupt_vector >> 8)
	mov	dph,a
	mov	r2,_hook_sv_PARM_2
	mov	r3,#0x00
	mov	a,r2
	movx	@dptr,a
;	isr.c:57: EA = t;
	mov	c,_hook_sv_t_1_1
	mov	_EA,c
00107$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'hook_uv'
;------------------------------------------------------------
;addr                      Allocated with name '_hook_uv_PARM_2'
;vector_number             Allocated to registers r2 
;------------------------------------------------------------
;	isr.c:67: hook_uv (unsigned char vector_number, unsigned short addr)
;	-----------------------------------------
;	 function hook_uv
;	-----------------------------------------
_hook_uv:
;	isr.c:73: if (vector_number < UV_MIN || vector_number > UV_MAX)
	mov	a,dpl
	mov	r2,a
	add	a,#0xff - 0x7C
	jnc	00102$
;	isr.c:74: return;
	ret
00102$:
;	isr.c:76: if ((vector_number & 0x3) != 0)
	mov	a,r2
	anl	a,#0x03
	jz	00105$
;	isr.c:77: return;
	ret
00105$:
;	isr.c:79: t = EA;
	mov	c,_EA
	mov	_hook_uv_t_1_1,c
;	isr.c:80: EA = 0;
	clr	_EA
;	isr.c:81: _usb_autovector[vector_number] = LJMP_OPCODE;
	mov	a,r2
	add	a,#__usb_autovector
	mov	dpl,a
	clr	a
	addc	a,#(__usb_autovector >> 8)
	mov	dph,a
	mov	a,#0x02
	movx	@dptr,a
;	isr.c:82: _usb_autovector[vector_number + 1] = addr >> 8;
	mov	r3,#0x00
	mov	a,#0x01
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	a,r4
	add	a,#__usb_autovector
	mov	dpl,a
	mov	a,r5
	addc	a,#(__usb_autovector >> 8)
	mov	dph,a
	mov	a,(_hook_uv_PARM_2 + 1)
	movx	@dptr,a
;	isr.c:83: _usb_autovector[vector_number + 2] = addr & 0xff;
	mov	a,#0x02
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,r2
	add	a,#__usb_autovector
	mov	dpl,a
	mov	a,r3
	addc	a,#(__usb_autovector >> 8)
	mov	dph,a
	mov	r2,_hook_uv_PARM_2
	mov	a,r2
	movx	@dptr,a
;	isr.c:84: EA = t;
	mov	c,_hook_uv_t_1_1
	mov	_EA,c
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'hook_fgv'
;------------------------------------------------------------
;addr                      Allocated with name '_hook_fgv_PARM_2'
;vector_number             Allocated to registers r2 
;------------------------------------------------------------
;	isr.c:94: hook_fgv (unsigned char vector_number, unsigned short addr)
;	-----------------------------------------
;	 function hook_fgv
;	-----------------------------------------
_hook_fgv:
	mov	r2,dpl
;	isr.c:100: if (vector_number < FGV_MIN || vector_number > FGV_MAX)
	cjne	r2,#0x80,00110$
00110$:
	jc	00101$
	mov	a,r2
	add	a,#0xff - 0xB4
	jnc	00102$
00101$:
;	isr.c:101: return;
	ret
00102$:
;	isr.c:103: if ((vector_number & 0x3) != 0)
	mov	a,r2
	anl	a,#0x03
	jz	00105$
;	isr.c:104: return;
	ret
00105$:
;	isr.c:106: t = EA;
	mov	c,_EA
	mov	_hook_fgv_t_1_1,c
;	isr.c:107: EA = 0;
	clr	_EA
;	isr.c:108: _fifo_gpif_autovector[vector_number] = LJMP_OPCODE;
	mov	a,r2
	add	a,#__fifo_gpif_autovector
	mov	dpl,a
	clr	a
	addc	a,#(__fifo_gpif_autovector >> 8)
	mov	dph,a
	mov	a,#0x02
	movx	@dptr,a
;	isr.c:109: _fifo_gpif_autovector[vector_number + 1] = addr >> 8;
	mov	r3,#0x00
	mov	a,#0x01
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	a,r4
	add	a,#__fifo_gpif_autovector
	mov	dpl,a
	mov	a,r5
	addc	a,#(__fifo_gpif_autovector >> 8)
	mov	dph,a
	mov	a,(_hook_fgv_PARM_2 + 1)
	movx	@dptr,a
;	isr.c:110: _fifo_gpif_autovector[vector_number + 2] = addr & 0xff;
	mov	a,#0x02
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,r2
	add	a,#__fifo_gpif_autovector
	mov	dpl,a
	mov	a,r3
	addc	a,#(__fifo_gpif_autovector >> 8)
	mov	dph,a
	mov	r2,_hook_fgv_PARM_2
	mov	a,r2
	movx	@dptr,a
;	isr.c:111: EA = t;
	mov	c,_hook_fgv_t_1_1
	mov	_EA,c
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'setup_autovectors'
;------------------------------------------------------------
;------------------------------------------------------------
;	isr.c:122: setup_autovectors (void)
;	-----------------------------------------
;	 function setup_autovectors
;	-----------------------------------------
_setup_autovectors:
;	isr.c:125: EIUSB = 0;
	clr	_EIUSB
;	isr.c:126: EIEX4 = 0;
	clr	_EIEX4
;	isr.c:128: hook_sv (SV_INT_2, (unsigned short) _usb_autovector);
	mov	_hook_sv_PARM_2,#__usb_autovector
	mov	(_hook_sv_PARM_2 + 1),#(__usb_autovector >> 8)
	mov	dpl,#0x43
	lcall	_hook_sv
;	isr.c:129: hook_sv (SV_INT_4, (unsigned short) _fifo_gpif_autovector);
	mov	_hook_sv_PARM_2,#__fifo_gpif_autovector
	mov	(_hook_sv_PARM_2 + 1),#(__fifo_gpif_autovector >> 8)
	mov	dpl,#0x53
	lcall	_hook_sv
;	isr.c:132: SYNCDELAY;
	 nop; nop; nop; 
;	isr.c:133: EP2FIFOIE = 0;	SYNCDELAY;
	mov	dptr,#_EP2FIFOIE
	clr	a
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:134: EP4FIFOIE = 0;	SYNCDELAY;
	mov	dptr,#_EP4FIFOIE
	clr	a
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:135: EP6FIFOIE = 0;	SYNCDELAY;
	mov	dptr,#_EP6FIFOIE
	clr	a
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:136: EP8FIFOIE = 0;	SYNCDELAY;
	mov	dptr,#_EP8FIFOIE
	clr	a
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:139: EP2FIFOIRQ = 0xff;	SYNCDELAY;
	mov	dptr,#_EP2FIFOIRQ
	mov	a,#0xFF
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:140: EP4FIFOIRQ = 0xff;	SYNCDELAY;
	mov	dptr,#_EP4FIFOIRQ
	mov	a,#0xFF
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:141: EP6FIFOIRQ = 0xff;	SYNCDELAY;
	mov	dptr,#_EP6FIFOIRQ
	mov	a,#0xFF
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:142: EP8FIFOIRQ = 0xff;	SYNCDELAY;
	mov	dptr,#_EP8FIFOIRQ
	mov	a,#0xFF
	movx	@dptr,a
	 nop; nop; nop; 
;	isr.c:144: IBNIE  = 0;
	mov	dptr,#_IBNIE
	clr	a
	movx	@dptr,a
;	isr.c:145: IBNIRQ = 0xff;
	mov	dptr,#_IBNIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:146: NAKIE  = 0;
	mov	dptr,#_NAKIE
	clr	a
	movx	@dptr,a
;	isr.c:147: NAKIRQ = 0xff;
	mov	dptr,#_NAKIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:148: USBIE  = 0;
	mov	dptr,#_USBIE
	clr	a
	movx	@dptr,a
;	isr.c:149: USBIRQ = 0xff;
	mov	dptr,#_USBIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:150: EPIE   = 0;
	mov	dptr,#_EPIE
	clr	a
	movx	@dptr,a
;	isr.c:151: EPIRQ  = 0xff;
	mov	dptr,#_EPIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:152: SYNCDELAY;	GPIFIE = 0;		
	 nop; nop; nop; 
	mov	dptr,#_GPIFIE
	clr	a
	movx	@dptr,a
;	isr.c:153: SYNCDELAY;	GPIFIRQ = 0xff;
	 nop; nop; nop; 
	mov	dptr,#_GPIFIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:154: USBERRIE = 0;
	mov	dptr,#_USBERRIE
	clr	a
	movx	@dptr,a
;	isr.c:155: USBERRIRQ = 0xff;
	mov	dptr,#_USBERRIRQ
	mov	a,#0xFF
	movx	@dptr,a
;	isr.c:156: CLRERRCNT = 0;
	mov	dptr,#_CLRERRCNT
	clr	a
	movx	@dptr,a
;	isr.c:158: INTSETUP = bmAV2EN | bmAV4EN | bmINT4IN;
	mov	dptr,#_INTSETUP
	mov	a,#0x0B
	movx	@dptr,a
;	isr.c:161: EXIF &= ~bmEXIF_USBINT;
;	isr.c:162: EXIF &= ~bmEXIF_IE4;
	anl	_EXIF,#(0xEF&0xBF)
;	isr.c:165: EIUSB = 1;
	setb	_EIUSB
;	isr.c:166: EIEX4 = 1;
	setb	_EIEX4
	ret
	.area CSEG    (CODE)
	.area CONST   (CODE)
	.area CABS    (ABS,CODE)