It's beyond on my understanding and mental capabilities ...
Code:
;                        Termometru 7 segmente 
'======================================================================================

;@ DEVICE pic16F628A, intOSC_osc_noclkout, WDT_OFF, PWRT_ON, MCLR_OFF, LVP_OFF, CPD_OFF

DEFINE OSC 4
CMCON		= 7
VRCON 	= 0
INTCON 	= 0

                                
    Common_4   	VAR PORTA.0
    Common_3   	VAR PORTA.1
    Common_2   	VAR PORTA.2
    Common_1   	VAR PORTA.3  
    DP            VAR PORTB.7

Temp   	    Var     byte
Temperature     Var     Word
TempC           Var     Word
I               Var     Byte
Sign            Var     Word
Float           Var     Word
V		    Var     Word		   
Dummy           Var     Byte
Busy		    Var     Bit
    DIGIT_0     VAR 	BYTE
    DIGIT_1     VAR 	BYTE
    DIGIT_2     VAR 	BYTE
    DIGIT_3     VAR 	BYTE
digit		    Var 	BYTE


DQ VAR PORTA.4
DQ_DIR var TRISA.4
command var byte
pis   var byte

	TrisB=0					' Make PortB outputs
	TrisA.0=0:TrisA.1=0:TrisA.2=0		' Make only the specific bits of PortA outputs					
	TrisA.3=0:TrisA.4=1
	PortA=0:PortB=0			     	' Clear PortB and PortA

INCLUDE "DT_INTS-14.bas"     ' Base Interrupt System
INCLUDE "ReEnterPBP.bas"     ' Include if using PBP interrupts

ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler   TMR1_INT,  _show,   PBP,  yes
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM

T1CON = $31                ; Prescaler=8, TMR1ON
@ INT_ENABLE  TMR1_INT     ; enable Timer 1 interrupts



    
'======================================================================================
Gosub init1820 			' Init the DS1820

command = $cc 			' Issue Skip ROM command
Gosub write1820

command = $44 			' Start temperature conversion
Gosub write1820


Gosub init1820 			' Do another init

command = $cc 			' Issue Skip ROM command
Gosub write1820
   
MainLOOP:
command = $be           ' Read the temperature
Gosub write1820
Gosub read1820

TEMPERATURE = ((tempERATURE>> 1)*100)+((TEMPERATURE.0*5)*10)
Gosub Selectie 
Goto MainLOOP

'======================================================================================
Selectie :
IF sign ="-" then					
    DIGIT_3="-"
    else
    DIGIT_3=" "
ENDIF
 
IF TEMPERATURE DIG 2 = 0 THEN
    DIGIT_2 = " "
    ELSE
    DIGIT_2 = TEMPERATURE dig 2
ENDIF

    DIGIT_1 = TEMPERATURE dig 1
    DIGIT_0 = TEMPERATURE dig 0

RETURN

'====================================================================================== 
show:   
for i=0 to 4
    TEMP = DIGIT_3 : gosub segments
    COMMON_1 = 1 : PAUSE 1 : COMMON_1 = 0

     
    TEMP = DIGIT_2 : GOSUB segments
    COMMON_2 = 1 : PAUSE 1 : COMMON_2 = 0
   
    TEMP = DIGIT_1 : GOSUB segments
    COMMON_3 = 1 : DP = 0 : PAUSE 1 : COMMON_3 = 0 : DP = 1
  
    TEMP = DIGIT_0 : GOSUB segments
    COMMON_4 = 1 : PAUSE 1 : COMMON_4 = 0
next i

segments:  ; CONVERTS DATES TO 7 SEGMENT CODE for Common ANOD
    
    SELECT CASE TEMP       
CASE 0 	 : PortB=%11000000 ; 0=ON ; 1=OFF
CASE 1 	 : PortB=%11111001
CASE 2 	 : PortB=%10100100      
CASE 3 	 : PortB=%10110000        
CASE 4 	 : PortB=%10011001
CASE 5 	 : PortB=%10010010        
CASE 6 	 : PortB=%10000010
CASE 7 	 : PortB=%11111000        
CASE 8 	 : PortB=%10000000       
CASE 9 	 : PortB=%10010000        
CASE "-"     : PortB=%10111111               
CASE " "     : PortB=%11111111        
    END SELECT 
return
@ INT_RETURN
'====================================================================================== 
' Initialize DS1820 and check for presence
init1820:
   Low DQ              ' Set the data pin low to init
   Pauseus 500         ' Wait > 480us
   DQ_DIR = 1          ' Release data pin (set to input for high)

   Pauseus 100         ' Wait > 60us
   If DQ = 1 Then
      Pause 500
      Goto mainLOOP     ' Try again
   Endif
   Pauseus 400         ' Wait for end of presence pulse
   Return

' Write "command" byte to the DS1820
write1820:
   For pis = 1 To 8      ' 8 bits to a byte
     If command.0 = 0 Then
        Gosub write0   ' Write a 0 bit
     Else
        Gosub write1   ' Write a 1 bit
     Endif
     command = command >> 1  ' Shift to next bit
   Next pis
   Return

' Write a 0 bit to the DS1820
write0:
   Low DQ
   Pauseus 60          ' Low for > 60us for 0
   DQ_DIR = 1          ' Release data pin (set to input for high)
   Return

' Write a 1 bit to the DS1820
write1:
   Low DQ              ' Low for < 15us for 1
 @ nop                 ' Delay 1us at 4MHz
   DQ_DIR = 1          ' Release data pin (set to input for high)
   Pauseus 60          ' Use up rest of time slot
   Return

' Read temperature from the DS1820
read1820:
   For pis = 1 To 16     ' 16 bits to a word
     temperature = temperature >> 1  ' Shift down bits
     Gosub readbit     ' Get the bit to the top of temp
   Next pis
   If Temperature.15 then       
  Temperature= ~Temperature +1
  Sign  = 1
Endif
   Return

' Read a bit from the DS1820
readbit:
   temperature.15 = 1         ' Preset read bit to 1
   Low DQ              ' Start the time slot
 @ nop                 ' Delay 1us at 4MHz
   DQ_DIR = 1          ' Release data pin (set to input for high)
   If DQ = 0 Then
      temperature.15 = 0      ' Set bit to 0
   Endif
   Pauseus 60          ' Wait out rest of time slot
   Return    

end

ERROR Line 23: Redefinition of VAR. (DT_INTS-14.bas) ?!?
Can not be done a simple termometer with LED display ?