Problem with multiple interrupts
	
	
		Dear friends, I am trying to make two pic16F88 to serially communicate between them. 
Pic_A				Pic_B
portB.6 (Tx) >------------------------->	portB.7 (Rx)
portB.7(Rx) <-------------------------< portB.6(Tx)
To be sure to have a reliable communication, I am using DT int on portB.0 to activate serial transmission as per the code below.
	Code:
	
INCLUDE "Modedefs.bas"
INCLUDE "DT_INTS-14_3.bas"   ; Base Interrupt System
INCLUDE "ReEnterPBP.bas"     ; Include if using PBP interrupts
ANSEL = 0
CMCON = 7
OPTION_REG.6 = 1 
TrisA = %00010000
TrisB = %10000101
PortA = 0
DEFINE OSC 8
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 12  ' 9600 Baud @ 8MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
SCall       var     PortB.3
       
PwrL        var     PortA.0
PwrM        var     PortA.1
Led         var     PortA.2
Buz         var     PortA.3
STx         var     PortB.6
SRx         var     PortB.7
ZCrox       var     PortA.4
X10Tx       var     PortB.1
TxEnable    var     PortB.4
low TxEnable
low SCall
input SRx
high STx
A0              var Byte
DataFlag        var byte    
House           var byte
Unit            var Byte
Job             var Byte
Rdata           var Byte[30]
Flag0           var dataflag.0
Flag1           var DataFlag.1   ' Hserin interrupt channel
Flag2           var dataFlag.2   ' PortB.0 interrupt channel
Flag3           var DataFlag.3
Flag7           var dataFlag.7
'-------------------- Rx & PB0 DT interrupt definition -----------------
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?       
        INT_Handler    RX_INT,   _Getbytes,     PBP,  yes
        INT_Handler    INT_INT,  _DataReady,    PBP,  yes        
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM
@     INT_ENABLE  RX_INT     ; enable RX_INT interrupts
'----------------------------------------------------------------------
gosub Buzzer
low led
A0=0
DataFlag=0
pause 500
hserout ["System Ready",10,13]
Main:
pause 1
IF Rdata[0] = 36 and Flag0 = 1 then 
High led
If Rdata[1] = 49 then
House = ((Rdata[4]-48)*10) + (Rdata[5]-49)  ' X10 house value 
Unit = ((Rdata[6]-48)*10) + (Rdata[7]-49)   ' X10 Unit value
Flag7 = 0
If Rdata[8] = 49 then Job = 18 : Flag7 = 1
If Rdata[8] = 50 then Job = 26 : Flag7 = 1
If Rdata[8] = 98 then Job = 20: Flag7 = 1
If Rdata[8] = 99 then Job = 28: Flag7 = 1
if Flag7 = 0 Then Skip00
High TxEnable                               ' enable X10 transmission
pause 1                                     ' delay before X10 Tx
Xout X10Tx,Zcrox,[House\Unit,House\Job]     ' X10 transmission
low TxEnable                                ' disable X10 Transmission
goto Skip00
Endif
If Rdata[1] = 52 then     ' intra system comand
If Rdata[8] = 250 then gosub Power01 
If Rdata[8] = 240 then gosub Power02
If Rdata[8] = 230 then gosub Modem01 
If Rdata[8] = 220 then gosub Modem02
goto Skip00
endif
If Rdata[1] = 51 then     ' intra system communication
High Scall
Pause 10
serout2 STx,84,5,[str Rdata\30]
Low Scall
goto Skip00
endif
IF Rdata[1] = 57 and Flag2 = 1 then        ' send out via wifi string recived
    hserout [str Rdata\30]
endif
Skip00:                                     ' reset main pointers & flag
Rdata[0] = 0
Rdata[1] = 0
Rdata[2] = 0
Rdata[8] = 0
Flag0 = 0
Flag1 = 0
Flag2 = 0
A0=0
gosub buzzer
Low led
endif
goto Main
Getbytes:                                   ' Rx interrupt data from Xbee module
hserin 100, Nodata, [Str Rdata\9]
Flag0 = 1 
@ INT_RETURN
Nodata:
Flag0 = 0
Flag1 = 1
@ INT_RETURN
DataReady:                                  ' Intracom interrupt data from chip
hserout ["PB0 Interrupt"]  ' this message never show up
Flag0 = 0
Flag1 = 0
Flag2 = 0
serin2 STx,84,500,JumpOut,[str Rdata\30]
Flag2 = 1
Flag0 = 1
Loop:
if PortB.0 = 1 then Loop
@ INT_RETURN
JumpOut:
Flag0 = 0
Flag1 = 0
Flag2 = 0
Flag3 = 1
@ INT_RETURN
Power01:
hserout ["PowerLine Off",10,13]
pause 1
low PwrL
return
Power02:
hserout ["PowerLine On",10,13]
pause 1
high PwrL 
return
Modem01:
hserout ["Modem Off",10,13]
pause 1
low PwrM
return
Modem02:
hserout ["Modem On",10,13]
pause 1
high PwrM 
return
Buzzer:
high buz
pause 20
low buz
return
 
The Rx interrupt works fine, while the portB.0 interrupt doesn't work at all, so I am anable to get data transfer between the two pics.
There must be something wrong but I am anable to find it! Any help will be greatly appreciated.
Al.