While working on this clock my ampm stoped working and i dont know what i changed to do this. Can one of you guys help me in pointing out a problem in my code relating to the ampm.(16f887)

Code:
digit1 var portd.0
digit2 var portd.1
digit3 var portd.2
digit4 var portd.3
digit5 var portd.4
digit6 var portd.5
cnt var word
digit var byte
pattern var byte
i var word
first var byte
second var byte 
third var byte
fourth var byte
fifth var byte
sixth var byte
mills var word
seconds var byte
mins var byte
hour var byte
ampm var portb.7
parker var byte
num1 var portb.6
num2 var portb.5
num3 var portb.4
num4 var portb.3
num5 var portb.2
num6 var portb.1
num7 var portb.0
num8 var portc.4
num9 var portc.5
num0 var portc.6

seconds=45
mins=59
hour=11
mills=1
cnt=0
ANSEL=0

INTCON=%10100000
OPTION_REG=%00000000
TMR0=6
on interrupt goto isr
INTCON=%10100000  

trise=1
trisa=0
trisd=0
trisb=%11111110
trise=1
trisc=1
ampm=1
parker=0
portb=1





loopa:
if portc.3=1 then
    mills=mills+1000
    while portc.3=1
    wend
    endif
if mills>59 then
    mills=0
    seconds=seconds+30
    endif
if seconds>59 then
    seconds=0
    mins=mins+1
    endif
if mins>59 then
    mins=0
    hour=hour+1
    endif
if hour>11 then
    hour=1 
  if parker=0 then
        ampm=0
        parker=1
    else
     parker=0               
        ampm=1
    endif
    endif
    if num1=0 then
    goto loopkeypad
     endif
     goto loopa

loopkeypad:
for i=0 to 20
pause 1
next i
i=1
while i=1
hour=0
seconds=0
mins=0
wend
if num1=0 then i=0
for i=0 to 20
pause 1     
next i
goto loopa


disable
isr:TMR0=6
digit=hour dig 1
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern
digit6=1
pauseus 500
digit6=0

digit=hour dig 0
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern
digit5=1
pauseus 500
digit5=0

digit=mins dig 1
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern
digit4=1
pauseus 500
digit4=0

digit=mins dig 0
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern
digit3=1
pauseus 500
digit3=0

digit=seconds dig 1
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern 
digit2=1
pauseus 500
digit2=0

digit=seconds dig 0
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],pattern
porta=pattern
digit1=1
pauseus 500
digit1=0
cnt=cnt+1
intcon.2=0
resume 
enable


end