global ?_diag global ?_fopen global ?_getline global ?_inject global ?_remove global ?_save global ?_signal global ?a_library global __ctype_ global _abuf global _catchcc signat _catchcc,88 FNCALL _catchcc,_signal global _ctp global _diag signat _diag,4216 global _fclose signat _fclose,4194 global _fopen signat _fopen,8313 global _free signat _free,4216 global _getline signat _getline,8290 global _getnb signat _getnb,66 global _inject signat _inject,4216 global _intflag global _library signat _library,88 FNSIZE _library,9,0 FNCALL _library,_getnb FNCALL _library,_diag FNCALL _library,_fopen FNCALL _library,_free FNCALL _library,_inject FNCALL _library,_getline FNCALL _library,_fclose FNCALL _library,_remove FNCALL _library,_save FNCALL _library,string_table global _linev global _onintr signat _onintr,88 FNADDR _onintr global _remove signat _remove,4194 global _save signat _save,8312 global _signal signat _signal,8290 global code_ptr global string_table global used_btemp0 global used_btemp1 global used_btemp2 global used_btemp3 global used_code_ptr processor 12F629 psect text0,local,class=CODE,delta=2 psect text1,local,class=CODE,delta=2 psect text2,local,class=CODE,delta=2 psect strings,global,class=STRING,delta=2 psect fpp__onintr,global,ovrld,class=CONST,delta=2 psect temp,global,ovrld,class=BANK0,space=1 file "c:\DOCUME~1\Vince\LOCALS~1\Temp\s1fc." psect text0 file "focal2.c" line 40 _library ; _lp2 assigned to ?a_library+0 _library$lp2 set ?a_library ; _sctp assigned to ?a_library+1 _library$sctp set ?a_library+1 ; _p assigned to ?a_library+2 _library$p set ?a_library+2 ; _lp1 assigned to ?a_library+3 _library$lp1 set ?a_library+3 ; _fp assigned to ?a_library+4 _library$fp set ?a_library+4 ; _d assigned to ?a_library+5 _library$d set ?a_library+5 ; _c assigned to ?a_library+7 _library$c set ?a_library+7 line 49 ;focal2.c: 39: void library() bcf 3,5 call _getnb movf btemp,w movwf ?a_library+7 movf btemp+1,w movwf ?a_library+8 line 50 ;focal2.c: 50: if (c!='c' && c!='s' && c!='l' && c!='d') movf ?a_library+7,w xorlw 99 iorwf ?a_library+8,w btfsc 3,2 goto l14 movf ?a_library+7,w xorlw 115 iorwf ?a_library+8,w btfsc 3,2 goto l14 movf ?a_library+7,w xorlw 108 iorwf ?a_library+8,w btfsc 3,2 goto l14 movf ?a_library+7,w xorlw 100 iorwf ?a_library+8,w btfsc 3,2 goto l14 line 51 ;focal2.c: 51: diag("Bad library command"); movlw low u19 movwf ?_diag movlw high u19 movwf ?_diag+1 call _diag line 53 ;focal2.c: 52: while (((_ctype_+1)[(unsigned char)(*ctp)]&(0x01|0x02))) l14 line 52 movf _ctp,w movwf 4 movf 0,w movwf btemp clrf btemp+1 movlw 1 addwf btemp btfsc 3,0 incf btemp+1 movf btemp+1,w addlw high __ctype_ movwf code_ptr+1 movf btemp,w addlw low __ctype_ btfsc 3,0 incf code_ptr+1 call string_table andlw 3 btfsc 3,2 goto l17 line 53 ;focal2.c: 53: ++ctp; incf _ctp line 52 goto l14 line 54 ;focal2.c: 54: while ((d = *ctp)==' ' || d=='\t') l18 line 55 ;focal2.c: 55: ++ctp; incf _ctp l17 line 54 movf _ctp,w movwf 4 movf 0,w movwf ?a_library+5 clrf ?a_library+6 movf ?a_library+6,w movwf btemp+1 movf ?a_library+5,w movwf btemp xorlw 32 iorwf btemp+1,w btfsc 3,2 goto l18 movf ?a_library+5,w xorlw 9 iorwf ?a_library+6,w btfsc 3,2 goto l18 line 56 ;focal2.c: 56: if (c!='l' && d==0) movf ?a_library+7,w xorlw 108 iorwf ?a_library+8,w btfsc 3,2 goto l20 movf ?a_library+6,w iorwf ?a_library+5,w btfss 3,2 goto l20 line 57 ;focal2.c: 57: diag("Missing file name"); movlw low u29 movwf ?_diag movlw high u29 movwf ?_diag+1 bcf 3,5 call _diag l20 line 58 ;focal2.c: 58: p = ctp; movf _ctp,w movwf ?a_library+2 line 60 ;focal2.c: 59: while (*ctp != 0) l21 line 59 movf _ctp,w movwf 4 movf 0 btfsc 3,2 goto l25 line 60 ;focal2.c: 60: ++ctp; incf _ctp line 59 goto l21 line 63 ;focal2.c: 61: switch (c) { l26 line 64 ;focal2.c: 63: case 'c': ;focal2.c: 64: if ((fp=fopen(p, "r")) == (0)) movf ?a_library+2,w movwf ?_fopen movlw 128 movwf ?_fopen+1 movlw low u39 movwf ?_fopen+2 movlw high u39 movwf ?_fopen+3 bcf 3,5 call _fopen movwf ?a_library+4 movf ?a_library+4 btfss 3,2 goto l27 line 65 ;focal2.c: 65: diag("Cannot open"); movlw low u49 movwf ?_diag movlw high u49 movwf ?_diag+1 call _diag l27 line 66 ;focal2.c: 66: lp1 = linev; movf _linev,w line 70 L1 movwf ?a_library+3 line 67 movf ?a_library+3 btfsc 3,2 goto l30 line 68 ;focal2.c: 67: while (lp1 != (0)) { ;focal2.c: 68: lp2 = lp1->l_fp; movf ?a_library+3,w movwf 4 movf 0,w movwf ?a_library line 69 ;focal2.c: 69: free ((char *) lp1); movf ?a_library+3,w call _free line 70 ;focal2.c: 70: lp1 = lp2; movf ?a_library,w line 67 goto L1 l30 line 72 ;focal2.c: 71: } clrf _linev line 73 ;focal2.c: 73: sctp = ctp; movf _ctp,w movwf ?a_library+1 line 81 ;focal2.c: 74: while (getline(abuf, fp) != 0) { l31 line 74 movf ?a_library+4,w movwf ?_getline movlw _abuf call _getline movf btemp+1,w iorwf btemp,w btfsc 3,2 goto l33 line 75 ;focal2.c: 75: ctp = abuf; movlw _abuf movwf _ctp line 76 ;focal2.c: 76: if ((c=getnb()) != 0) { call _getnb movf btemp,w movwf ?a_library+7 movf btemp+1,w movwf ?a_library+8 iorwf ?a_library+7,w btfsc 3,2 goto l31 line 77 ;focal2.c: 77: if (((_ctype_+1)[(unsigned char)(c)]&0x04) == 0) movf ?a_library+7,w movwf btemp clrf btemp+1 movlw 1 addwf btemp btfsc 3,0 incf btemp+1 movf btemp+1,w addlw high __ctype_ movwf code_ptr+1 movf btemp,w addlw low __ctype_ btfsc 3,0 incf code_ptr+1 call string_table movwf btemp btfsc btemp,2 goto l35 line 78 ;focal2.c: 78: diag("Direct line in call"); movlw low u59 movwf ?_diag movlw high u59 movwf ?_diag+1 call _diag l35 line 79 ;focal2.c: 79: inject(c); movf ?a_library+7,w movwf ?_inject movf ?a_library+8,w movwf ?_inject+1 call _inject line 74 goto l31 l33 line 82 ;focal2.c: 80: } movf ?a_library+4,w call _fclose line 83 ;focal2.c: 83: ctp = sctp; movf ?a_library+1,w movwf _ctp line 84 ;focal2.c: 84: break; return line 86 l36 line 90 ;focal2.c: 86: case 'd': ;focal2.c: 90: if (remove(p) < 0) movf ?a_library+2,w movwf ?_remove movlw 128 movwf ?_remove+1 bcf 3,5 call _remove btfss btemp+1,7 return line 92 ;focal2.c: 92: diag("Cannot delete"); movlw low u69 movwf ?_diag movlw high u69 movwf ?_diag+1 goto _diag line 95 ;focal2.c: 93: break; l38 line 97 ;focal2.c: 95: case 'l': ;focal2.c: 97: diag("Library list not implemented"); movlw low u79 movwf ?_diag movlw high u79 movwf ?_diag+1 bcf 3,5 goto _diag line 61 ;focal2.c: 165: break; l30004 movf btemp+2,w xorlw 99 btfsc 3,2 goto l26 xorlw 7 btfsc 3,2 goto l36 xorlw 8 btfsc 3,2 goto l38 xorlw 31 btfss 3,2 return line 168 ;focal2.c: 167: case 's': ;focal2.c: 168: if ((fp=fopen(p, "w")) == (0)) movf ?a_library+2,w movwf ?_fopen movlw 128 movwf ?_fopen+1 movlw low u89 movwf ?_fopen+2 movlw high u89 movwf ?_fopen+3 bcf 3,5 call _fopen movwf ?a_library+4 movf ?a_library+4 btfss 3,2 goto l40 line 169 ;focal2.c: 169: diag("Cannot create"); movlw low u99 movwf ?_diag movlw high u99 movwf ?_diag+1 call _diag l40 line 170 ;focal2.c: 170: save((0), fp); movf ?a_library+4,w movwf ?_save movlw 0 call _save line 171 ;focal2.c: 171: fclose(fp); movf ?a_library+4,w goto _fclose line 61 ;focal2.c: 172: break; l25 movf ?a_library+8,w movwf btemp+3 movf ?a_library+7,w movwf btemp+2 movf btemp+3,w btfss 3,2 return goto l30004 psect text1 line 181 _catchcc line 182 ;focal2.c: 180: void catchcc() bcf 3,5 clrf ?_signal incf ?_signal clrf ?_signal+1 movlw low fpl__onintr movwf ?_signal+2 movlw high fpl__onintr movwf ?_signal+3 bcf 3,5 goto _signal psect text2 line 192 _onintr line 193 ;focal2.c: 191: void onintr() bcf 3,5 incf _intflag btfsc 3,2 incf _intflag+1 line 194 ;focal2.c: 194: } return ;W free psect strings u89 retlw 119 ;'w' retlw 0 u39 retlw 114 ;'r' retlw 0 u49 retlw 67 ;'C' retlw 97 ;'a' retlw 110 ;'n' retlw 110 ;'n' retlw 111 ;'o' retlw 116 ;'t' retlw 32 retlw 111 ;'o' retlw 112 ;'p' retlw 101 ;'e' retlw 110 ;'n' retlw 0 u59 retlw 68 ;'D' retlw 105 ;'i' retlw 114 ;'r' retlw 101 ;'e' retlw 99 ;'c' retlw 116 ;'t' retlw 32 retlw 108 ;'l' retlw 105 ;'i' retlw 110 ;'n' retlw 101 ;'e' retlw 32 retlw 105 ;'i' retlw 110 ;'n' retlw 32 retlw 99 ;'c' retlw 97 ;'a' retlw 108 ;'l' retlw 108 ;'l' retlw 0 u69 retlw 67 ;'C' retlw 97 ;'a' retlw 110 ;'n' retlw 110 ;'n' retlw 111 ;'o' retlw 116 ;'t' retlw 32 retlw 100 ;'d' retlw 101 ;'e' retlw 108 ;'l' retlw 101 ;'e' retlw 116 ;'t' retlw 101 ;'e' retlw 0 u99 retlw 67 ;'C' retlw 97 ;'a' retlw 110 ;'n' retlw 110 ;'n' retlw 111 ;'o' retlw 116 ;'t' retlw 32 retlw 99 ;'c' retlw 114 ;'r' retlw 101 ;'e' retlw 97 ;'a' retlw 116 ;'t' retlw 101 ;'e' retlw 0 u29 retlw 77 ;'M' retlw 105 ;'i' retlw 115 ;'s' retlw 115 ;'s' retlw 105 ;'i' retlw 110 ;'n' retlw 103 ;'g' retlw 32 retlw 102 ;'f' retlw 105 ;'i' retlw 108 ;'l' retlw 101 ;'e' retlw 32 retlw 110 ;'n' retlw 97 ;'a' retlw 109 ;'m' retlw 101 ;'e' retlw 0 u19 retlw 66 ;'B' retlw 97 ;'a' retlw 100 ;'d' retlw 32 retlw 108 ;'l' retlw 105 ;'i' retlw 98 ;'b' retlw 114 ;'r' retlw 97 ;'a' retlw 114 ;'r' retlw 121 ;'y' retlw 32 retlw 99 ;'c' retlw 111 ;'o' retlw 109 ;'m' retlw 109 ;'m' retlw 97 ;'a' retlw 110 ;'n' retlw 100 ;'d' retlw 0 u79 retlw 76 ;'L' retlw 105 ;'i' retlw 98 ;'b' retlw 114 ;'r' retlw 97 ;'a' retlw 114 ;'r' retlw 121 ;'y' retlw 32 retlw 108 ;'l' retlw 105 ;'i' retlw 115 ;'s' retlw 116 ;'t' retlw 32 retlw 110 ;'n' retlw 111 ;'o' retlw 116 ;'t' retlw 32 retlw 105 ;'i' retlw 109 ;'m' retlw 112 ;'p' retlw 108 ;'l' retlw 101 ;'e' retlw 109 ;'m' retlw 101 ;'e' retlw 110 ;'n' retlw 116 ;'t' retlw 101 ;'e' retlw 100 ;'d' retlw 0 psect fpp__onintr ;function pointer lookups fpl__onintr ljmp _onintr psect temp btemp ds 4