I am working with Cypress ez-usb development board. The problem come to me is that a FIFO internal interrupt function never be called. What could be the problem? It supouse to write some data to enpoint when the FIFO programmable flag or FIFO empty flag detected. The configuration for the internal interrupt INT4 as: // enable internal interrupt4, enable autovector INT4SETUP |= (INT4SFC | INT4_AV4EN | INT4_INTERNAL); // seems to be needed??? EXIF &= ~bmBIT6; // clear flag ABINIRQ |= bmAINPF; // clear interrupt request EIEX4 = 1; // enable INT4 The interrupt jump table code in assembly as following: NAME INT4JmpTbl extrn code (ISR_AINPF,ISR_AINFF) public INT4_AutoVector, INT4_Jump_Table ;--------------------------------------------------------------------------- --- ; Interrupt Vectors ;--------------------------------------------------------------------------- --- CSEG AT 53H INT4_AutoVector equ $ + 2 ljmp INT4_Jump_Table ; Autovector will replace byte 55 ;--------------------------------------------------------------------------- --- ; INT4 Jump Table ;--------------------------------------------------------------------------- --- ?PR?INT4_JUMP_TABLE?INT4JT segment code page ; Place jump table on a page boundary RSEG ?PR?INT4_JUMP_TABLE?INT4JT ; autovector jump table INT4_Jump_Table: ljmp ISR_AINPF db 0 ljmp ISR_AINFF db 0 ; end