ABSF WROTE:Refering to Fig 14-14 of section 14.5 Interrupts of the 16F628 datasheet. The interrupts from T0IF, INTF and RBIF has higher priority as they are only maskable by GIE. TMR1IF, TMR2IF, CCP1IF, CMIF, TXIF, RCIF and EEIF have lower priority and they're maskable by GIE or PEIE.
Actually there is no priority base interrupt in PC16F, as what I know, at least for the time being, Microchip might change the architecture

Masking with extra PEIE is just to group up the interrupt. They are being divided into core interrupt (which is controlled by GIE and its IE only) and Peripheral interrupt which have extra bit PEIE to enable them.
So in other words, let's say timer 0 and timer 1 interrupt are being enabled. And at a time, T0IF (Timer 0) and TMR1IF (Timer 1) is flag because of interrupt condition happen, and this happen at the same time. Which interrupt is being served? Let's have discussion here

I like discussion.
So during Timer1 interrupt in progress, is it to possible to be interrupted by CCP1 or timer2 interrupt in C language?
Very good question you have there allen, you are going deep now

the answer is no, and again, let's start discussion.