global ?a_main global ?a_pwmout global _i global _isr signat _isr,72 FNROOT _isr FNCALL _isr,_pwmout global _main signat _main,88 FNSIZE _main,27,0 global _pwmout signat _pwmout,4216 FNSIZE _pwmout,1,0 global _sent global _sinetable global _x global awmul global clear_bank0 global code_ptr global config_word global int_entry global int_func global int_restore global save_btemp0 global start global string_table global used_btemp0 global used_btemp1 global used_btemp2 global used_btemp3 global used_btemp4 global used_btemp5 global used_code_ptr processor 16C73A psect text0,local,class=CODE,delta=2 psect config,global,class=CODE,delta=2 psect strings,global,class=STRING,delta=2 psect text1,local,class=CODE,delta=2 psect intcode,global,class=CODE,delta=2 psect intsave_1,global,ovrld,class=BANK1,space=1 psect intsave_0,global,ovrld,class=BANK0,space=1 psect intret,global,class=CODE,delta=2 psect intentry,global,class=CODE,delta=2 psect intsave,global,class=BANK0,space=1 psect text2,local,class=CODE,delta=2 psect text3,local,class=CODE,delta=2 psect rbit_0,global,bit,class=BANK0,space=1 psect rbss_0,global,class=BANK0,space=1 psect temp,global,ovrld,class=BANK0,space=1 file "$$017977.000" ;# psect text0 file "D:\NL.C" line 252 _pwmout ; _x assigned to ?a_pwmout+0 ;_x stored from w bcf 3,5 movwf ?a_pwmout& (0+127) line 253 ;D:\NL.C: 253: CCP1X = ( x & 0x02 ) ? 1 : 0 ; btfss ?a_pwmout& (0+127),1 goto u10 bsf 23,5 goto u20 u10 bcf 23,5 u20 line 254 ;D:\NL.C: 254: CCP1Y = ( x & 0x01 ) ? 1 : 0 ; btfss ?a_pwmout& (0+127),0 goto u30 bsf 23,4 goto u40 u30 bcf 23,4 u40 line 255 ;D:\NL.C: 255: CCPR1L = ( x >> 2 ) & 0x3f ; movf ?a_pwmout& (0+127),w movwf btemp bcf 3,0 rrf btemp bcf 3,0 rrf btemp,w andlw 63 movwf 21 ;volatile line 256 ;D:\NL.C: 256: } return psect config file "$$017977.000" config_word ;# dw 50 ;# psect strings _sinetable retlw 0 retlw 3 retlw 6 retlw 9 retlw 12 retlw 15 retlw 18 retlw 21 retlw 24 retlw 27 retlw 30 retlw 33 retlw 36 retlw 39 retlw 42 retlw 45 retlw 48 retlw 51 retlw 54 retlw 57 retlw 59 retlw 62 retlw 65 retlw 67 retlw 70 retlw 73 retlw 75 retlw 78 retlw 80 retlw 82 retlw 85 retlw 87 retlw 89 retlw 91 retlw 94 retlw 96 retlw 98 retlw 100 retlw 102 retlw 103 retlw 105 retlw 107 retlw 108 retlw 110 retlw 112 retlw 113 retlw 114 retlw 116 retlw 117 retlw 118 retlw 119 retlw 120 retlw 121 retlw 122 retlw 123 retlw 123 retlw 124 retlw 125 retlw 125 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 126 retlw 125 retlw 125 retlw 124 retlw 123 retlw 123 retlw 122 retlw 121 retlw 120 retlw 119 retlw 118 retlw 117 retlw 116 retlw 114 retlw 113 retlw 112 retlw 110 retlw 108 retlw 107 retlw 105 retlw 103 retlw 102 retlw 100 retlw 98 retlw 96 retlw 94 retlw 91 retlw 89 retlw 87 retlw 85 retlw 82 retlw 80 retlw 78 retlw 75 retlw 73 retlw 70 retlw 67 retlw 65 retlw 62 retlw 59 retlw 57 retlw 54 retlw 51 retlw 48 retlw 45 retlw 42 retlw 39 retlw 36 retlw 33 retlw 30 retlw 27 retlw 24 retlw 21 retlw 18 retlw 15 retlw 12 retlw 9 retlw 6 retlw 3 retlw 0 retlw -3 retlw -6 retlw -9 retlw -12 retlw -15 retlw -18 retlw -21 retlw -24 retlw -27 retlw -30 retlw -33 retlw -36 retlw -39 retlw -42 retlw -45 retlw -48 retlw -51 retlw -54 retlw -57 retlw -59 retlw -62 retlw -65 retlw -67 retlw -70 retlw -73 retlw -75 retlw -78 retlw -80 retlw -82 retlw -85 retlw -87 retlw -89 retlw -91 retlw -94 retlw -96 retlw -98 retlw -100 retlw -102 retlw -103 retlw -105 retlw -107 retlw -108 retlw -110 retlw -112 retlw -113 retlw -114 retlw -116 retlw -117 retlw -118 retlw -119 retlw -120 retlw -121 retlw -122 retlw -123 retlw -123 retlw -124 retlw -125 retlw -125 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -126 retlw -125 retlw -125 retlw -124 retlw -123 retlw -123 retlw -122 retlw -121 retlw -120 retlw -119 retlw -118 retlw -117 retlw -116 retlw -114 retlw -113 retlw -112 retlw -110 retlw -108 retlw -107 retlw -105 retlw -103 retlw -102 retlw -100 retlw -98 retlw -96 retlw -94 retlw -91 retlw -89 retlw -87 retlw -85 retlw -82 retlw -80 retlw -78 retlw -75 retlw -73 retlw -70 retlw -67 retlw -65 retlw -62 retlw -59 retlw -57 retlw -54 retlw -51 retlw -48 retlw -45 retlw -42 retlw -39 retlw -36 retlw -33 retlw -30 retlw -27 retlw -24 retlw -21 retlw -18 retlw -15 retlw -12 retlw -9 retlw -6 retlw -3 psect text1 file "D:\NL.C" line 266 _isr psect intcode int_func line 267 ;D:\NL.C: 267: TMR0 = (256-156)+9 ; movlw 109 bcf 3,5 movwf 1 ;volatile line 268 ;D:\NL.C: 268: RC5 = 1 ; bsf 7,5 line 269 ;D:\NL.C: 269: T0IF = 0 ; bcf 11,2 line 270 ;D:\NL.C: 270: pwmout ( x ) ; movf _x& (0+127),w lcall _pwmout line 271 ;D:\NL.C: 271: sent = 1 ; bsf (_sent/(0+8))& (0+127),_sent& (0+7) line 272 ;D:\NL.C: 272: RC5 = 0 ; bcf 7,5 psect intsave_1 line 273 ds 1 psect intsave_0 saved_w ds 1 psect intret movf saved_pclath,w movwf 10 int_restore movf saved_status,w movwf 3 swapf saved_w swapf saved_w,w retfie psect intentry int_entry movwf saved_w movf 3,w clrf 3 movwf saved_status movf 10,w movwf saved_pclath clrf 10 psect intsave saved_status ds 1 saved_pclath ds 1 psect text2 line 278 _main line 288 ; _a1 assigned to ?a_main+0 ; _dsr assigned to ?a_main+1 ; _a2 assigned to ?a_main+2 ; _a3 assigned to ?a_main+3 ; _a assigned to ?a_main+4 ; _ncount assigned to ?a_main+5 ; _ch assigned to ?a_main+6 ; _dp2 assigned to ?a_main+7 ; _dp3 assigned to ?a_main+9 ; _dp1 assigned to ?a_main+11 ; _p1 assigned to ?a_main+13 ; _p2 assigned to ?a_main+15 ; _p3 assigned to ?a_main+17 ; _ledcount assigned to ?a_main+19 ; _lastsr assigned to ?a_main+21 ; _sr assigned to ?a_main+23 ; _y assigned to ?a_main+25 ;D:\NL.C: 283: unsigned short p1, p2, p3 ; ;D:\NL.C: 284: signed short dp1, dp2, dp3 ; ;D:\NL.C: 288: unsigned short ledcount=0 ; bcf 3,5 clrf (?a_main+19)& (0+127) clrf (?a_main+20)& (0+127) line 300 ;D:\NL.C: 292: unsigned char a, a1, a2, a3 ; ;D:\NL.C: 300: unsigned short sr = 1, lastsr ; clrf (?a_main+23)& (0+127) incf (?a_main+23)& (0+127) clrf (?a_main+24)& (0+127) line 302 ;D:\NL.C: 301: signed char dsr ; ;D:\NL.C: 302: unsigned char ncount=0 ; clrf (?a_main+5)& (0+127) line 309 ;D:\NL.C: 309: unsigned char ch=0 ; clrf (?a_main+6)& (0+127) line 316 ;D:\NL.C: 311: ; ;D:\NL.C: 316: TRISA = 0xff ; movlw -1 bsf 3,5 movwf 5 line 317 ;D:\NL.C: 317: TRISB = 0x00 ; clrf 6 line 318 ;D:\NL.C: 318: TRISC = 0x00 ; clrf 7 line 320 ;D:\NL.C: 320: PR2 = 0x3f ; movlw 63 movwf 18 ;volatile line 321 ;D:\NL.C: 321: T2CON = 0x04 ; movlw 4 bcf 3,5 movwf 18 ;volatile line 322 ;D:\NL.C: 322: CCP1CON = 0x0c ; movlw 12 movwf 23 ;volatile line 323 ;D:\NL.C: 323: ADCON1 = 0x03 ; movlw 3 bsf 3,5 movwf 31 ;volatile line 325 ;D:\NL.C: 325: T0CS = 0 ; bcf 1,5 line 326 ;D:\NL.C: 326: PSA = 0 ; bcf 1,3 line 327 ;D:\NL.C: 327: PS2=0 ; PS1=0 ; PS0=1 ; bcf 1,2 bcf 1,1 bsf 1,0 line 328 ;D:\NL.C: 328: TMR0 = 0 ; bcf 3,5 clrf 1 ;volatile line 329 ;D:\NL.C: 329: T0IF = 0 ; bcf 11,2 line 330 ;D:\NL.C: 330: T0IE = 1 ; bsf 11,5 line 331 ;D:\NL.C: 331: GIE = 1 ; bsf 11,7 line 333 ;D:\NL.C: 333: RC3 = 1 ; bsf 7,3 line 340 ;D:\NL.C: 340: for ( i=0 ; 1 ; i++ ) { clrf _i& (0+127) l4 line 346 ;D:\NL.C: 346: RC6 = 1 ; bsf 7,6 line 350 ;D:\NL.C: 350: switch (ch) { goto l9 line 351 l10 ;D:\NL.C: 351: case 0: (ADCON0 = 0x81 | ( (0) << 3 )) ; break ; movlw -127 goto L2 line 352 l11 ;D:\NL.C: 352: case 1: (ADCON0 = 0x81 | ( (1) << 3 )) ; break ; movlw -119 goto L2 line 353 l12 ;D:\NL.C: 353: case 2: (ADCON0 = 0x81 | ( (2) << 3 )) ; break ; movlw -111 L2 movwf 31 ;volatile goto l8 line 350 l9 movf (?a_main+6)& (0+127),w btfsc 3,2 goto l10 xorlw 1 btfsc 3,2 goto l11 xorlw 3 btfsc 3,2 goto l12 line 354 l8 line 396 ;D:\NL.C: 396: if ( !ncount ) { movf (?a_main+5)& (0+127) btfss 3,2 goto l13 line 397 ;D:\NL.C: 397: lastsr = sr ; bcf 3,5 movf (?a_main+23)& (0+127),w movwf (?a_main+21)& (0+127) movf (?a_main+24)& (0+127),w movwf (?a_main+22)& (0+127) line 398 ;D:\NL.C: 398: sr >>= 1 ; bcf 3,0 rrf (?a_main+24)& (0+127) rrf (?a_main+23)& (0+127) line 399 ;D:\NL.C: 399: if ( ( (*((unsigned char*)&lastsr+0)) ^ (*((unsigned char*)&sr+0)) ) & 1 ) { movf ((?a_main+21)& (0+255))& (0+127),w xorwf ((?a_main+23)& (0+255))& (0+127),w andlw 1 btfsc 3,2 goto l14 line 400 ;D:\NL.C: 400: sr |= 0x4000 ; bcf 3,5 bsf ((?a_main+23)& (0+127)+1),6 line 401 l14 line 407 ;D:\NL.C: 401: } ;D:\NL.C: 407: dsr = ( sr - lastsr ) / 8 ; bcf 3,5 movf (?a_main+24)& (0+127),w movwf btemp+1 movf (?a_main+23)& (0+127),w movwf btemp movf (?a_main+21)& (0+127),w subwf btemp btfss 3,0 decf btemp+1 movf (?a_main+22)& (0+127),w subwf btemp+1 bcf 3,0 rrf btemp+1 rrf btemp bcf 3,0 rrf btemp+1 rrf btemp bcf 3,0 rrf btemp+1 rrf btemp movf btemp,w movwf (?a_main+1)& (0+127) line 408 ;D:\NL.C: 408: ncount=8 ; movlw 8 movwf (?a_main+5)& (0+127) line 409 ;D:\NL.C: 409: } else { goto l15 l13 line 410 ;D:\NL.C: 410: lastsr += dsr ; bcf 3,5 movf (?a_main+1)& (0+127),w movwf btemp clrf btemp+1 btfsc btemp,7 decf btemp+1 addwf (?a_main+21)& (0+127) btfsc 3,0 incf (?a_main+22)& (0+127) movf btemp+1,w addwf (?a_main+22)& (0+127) line 411 ;D:\NL.C: 411: ncount-- ; decf (?a_main+5)& (0+127) line 412 l15 line 417 ;D:\NL.C: 412: } ;D:\NL.C: 417: dp1 = 3441 + (((a2)<<2)+((a2)<<1)) ; movf (?a_main+2)& (0+127),w movwf btemp+2 clrf btemp+3 bcf 3,0 rlf btemp+2 rlf btemp+3 movf (?a_main+2)& (0+127),w movwf btemp clrf btemp+1 movf btemp+2,w addwf btemp btfsc 3,0 incf btemp+1 movf btemp+3,w addwf btemp+1 bcf 3,0 rlf btemp rlf btemp+1 movlw 113 addwf btemp,w movwf (?a_main+11)& (0+127) movlw 13 btfsc 3,0 movlw 14 addwf btemp+1,w movwf ((?a_main+11)& (0+127)+1) line 418 ;D:\NL.C: 418: p1 += dp1 ; movf (?a_main+11)& (0+127),w addwf (?a_main+13)& (0+127) btfsc 3,0 incf (?a_main+14)& (0+127) movf (?a_main+12)& (0+127),w addwf (?a_main+14)& (0+127) line 423 ;D:\NL.C: 423: dp2 = dp1 + -81 + ((a1)) ; movf ?a_main& (0+127),w movwf btemp clrf btemp+1 movf (?a_main+11)& (0+127),w addwf btemp btfsc 3,0 incf btemp+1 movf (?a_main+12)& (0+127),w addwf btemp+1 movlw 175 addwf btemp,w movwf (?a_main+7)& (0+127) movlw 255 btfsc 3,0 movlw 256 addwf btemp+1,w movwf ((?a_main+7)& (0+127)+1) line 424 ;D:\NL.C: 424: p2 += dp2 ; movf (?a_main+7)& (0+127),w addwf (?a_main+15)& (0+127) btfsc 3,0 incf (?a_main+16)& (0+127) movf (?a_main+8)& (0+127),w addwf (?a_main+16)& (0+127) line 430 ;D:\NL.C: 430: dp3 = 1987 + (((a3)<<1) + (a3)) + (((*((unsigned char*)&lastsr+0)))<<1) ; movf ((?a_main+21)& (0+255))& (0+127),w movwf btemp clrf btemp+1 movf (?a_main+3)& (0+127),w movwf btemp+2 clrf btemp+3 movf btemp,w addwf btemp+2 btfsc 3,0 incf btemp+3 movf btemp+1,w addwf btemp+3 bcf 3,0 rlf btemp+2 rlf btemp+3 movf (?a_main+3)& (0+127),w movwf btemp clrf btemp+1 movf btemp+2,w addwf btemp btfsc 3,0 incf btemp+1 movf btemp+3,w addwf btemp+1 movlw 195 addwf btemp,w movwf (?a_main+9)& (0+127) movlw 7 btfsc 3,0 movlw 8 addwf btemp+1,w movwf ((?a_main+9)& (0+127)+1) line 431 ;D:\NL.C: 431: p3 += dp3 ; movf (?a_main+9)& (0+127),w addwf (?a_main+17)& (0+127) btfsc 3,0 incf (?a_main+18)& (0+127) movf (?a_main+10)& (0+127),w addwf (?a_main+18)& (0+127) line 438 ;D:\NL.C: 438: (ADGO=1) ; bsf 31,2 line 443 ;D:\NL.C: 443: x = 0 ; clrf _x& (0+127) clrf (_x+1)& (0+127) line 448 ;D:\NL.C: 448: x += sinetable[ (*((unsigned char*)&p1+1)) ] ; movf (((?a_main+13)& (0+255)+1))& (0+127),w movwf btemp clrf btemp+1 movf btemp+1,w addlw high _sinetable movwf code_ptr+1 movf btemp,w addlw low _sinetable btfsc 3,0 incf code_ptr+1 lcall string_table movwf btemp clrf btemp+1 btfsc btemp,7 decf btemp+1 addwf _x& (0+127) btfsc 3,0 incf (_x+1)& (0+127) movf btemp+1,w addwf (_x+1)& (0+127) line 458 ;D:\NL.C: 452: ; ;D:\NL.C: 458: x = ( x + sinetable[ (*((unsigned char*)&p2+1)) ] ) >> 1 ; movf (((?a_main+15)& (0+255)+1))& (0+127),w movwf btemp clrf btemp+1 movf btemp+1,w addlw high _sinetable movwf code_ptr+1 movf btemp,w addlw low _sinetable btfsc 3,0 incf code_ptr+1 lcall string_table movwf btemp clrf btemp+1 btfsc btemp,7 decf btemp+1 movf _x& (0+127),w addwf btemp btfsc 3,0 incf btemp+1 movf (_x+1)& (0+127),w addwf btemp+1 rlf btemp+1,w rrf btemp+1,w movwf (_x+1)& (0+127) rrf btemp,w movwf _x& (0+127) line 469 ;D:\NL.C: 462: ; ;D:\NL.C: 469: x = ( x * ( ( a3 + 127 ) >> 1 ) ) ; movf (?a_main+3)& (0+127),w movwf btemp+2 clrf btemp+3 movlw 127 addwf btemp+2 btfsc 3,0 incf btemp+3 rlf btemp+3,w rrf btemp+3 rrf btemp+2 movf _x& (0+127),w movwf btemp movf (_x+1)& (0+127),w movwf btemp+1 lcall awmul bcf 3,5 movf btemp+4,w movwf _x& (0+127) movf btemp+5,w movwf (_x+1)& (0+127) line 470 ;D:\NL.C: 470: x = (*(( signed char*)&x+1)) ; movf ((_x& (0+255)+1))& (0+127),w movwf _x& (0+127) clrf (_x+1)& (0+127) btfsc _x& (0+127),7 decf (_x+1)& (0+127) line 483 ;D:\NL.C: 475: ; ;D:\NL.C: 481: { ;D:\NL.C: 482: signed short y ; ;D:\NL.C: 483: y = sinetable[ (*((unsigned char*)&p3+1)) ] ; movf (((?a_main+17)& (0+255)+1))& (0+127),w movwf btemp clrf btemp+1 movf btemp+1,w addlw high _sinetable movwf code_ptr+1 movf btemp,w addlw low _sinetable btfsc 3,0 incf code_ptr+1 lcall string_table movwf (?a_main+25)& (0+127) clrf (?a_main+26)& (0+127) btfsc (?a_main+25)& (0+127),7 decf (?a_main+26)& (0+127) line 484 ;D:\NL.C: 484: y >>= 1 ; rlf (?a_main+26)& (0+127),w rrf (?a_main+26)& (0+127) rrf (?a_main+25)& (0+127) line 485 ;D:\NL.C: 485: x = ( x + y ) >> 1 ; movf (_x+1)& (0+127),w movwf btemp+1 movf _x& (0+127),w movwf btemp movf (?a_main+25)& (0+127),w addwf btemp btfsc 3,0 incf btemp+1 movf (?a_main+26)& (0+127),w addwf btemp+1 rlf btemp+1,w rrf btemp+1,w movwf (_x+1)& (0+127) rrf btemp,w movwf _x& (0+127) line 500 ;D:\NL.C: 486: } ;D:\NL.C: 491: ; ;D:\NL.C: 500: x += 128 ; movlw 128 addwf _x& (0+127) btfsc 3,0 incf (_x+1)& (0+127) line 507 ;D:\NL.C: 501: ; ;D:\NL.C: 507: { while ( ADGO ) ; } ; l16 bcf 3,5 btfsc 31,2 goto l16 line 511 ;D:\NL.C: 511: a = ADRES ; bcf 3,5 movf 30,w ;volatile movwf (?a_main+4)& (0+127) line 517 ;D:\NL.C: 517: if ( a == 255 ) { incf (?a_main+4)& (0+127),w btfss 3,2 goto l19 line 518 ;D:\NL.C: 518: ledcount = 2*(8000/10) ; movlw 64 bcf 3,5 movwf (?a_main+19)& (0+127) movlw 6 movwf (?a_main+20)& (0+127) line 519 ;D:\NL.C: 519: } else { goto l20 l19 line 520 ;D:\NL.C: 520: if ( ledcount ) { bcf 3,5 movf (?a_main+20)& (0+127),w iorwf (?a_main+19)& (0+127),w btfsc 3,2 goto l20 line 521 ;D:\NL.C: 521: ledcount-- ; bcf 3,5 movf (?a_main+19)& (0+127) btfsc 3,2 decf (?a_main+20)& (0+127) decf (?a_main+19)& (0+127) line 523 ;D:\NL.C: 522: } ;D:\NL.C: 523: } l20 line 525 ;D:\NL.C: 525: RB7 = ledcount ? 0 : 1 ; bcf 3,5 movf (?a_main+20)& (0+127),w iorwf (?a_main+19)& (0+127),w btfss 3,2 goto u100 bcf 3,5 bsf 6,7 goto l23 u100 bcf 3,5 bcf 6,7 line 527 ;D:\NL.C: 527: switch (ch) { goto l23 line 528 l24 ;D:\NL.C: 528: case 0: a1 = a ; ch=1 ; break ; movf (?a_main+4)& (0+127),w movwf ?a_main& (0+127) clrf (?a_main+6)& (0+127) incf (?a_main+6)& (0+127) goto l22 line 529 l25 ;D:\NL.C: 529: case 1: a2 = a ; ch=2 ; break ; movf (?a_main+4)& (0+127),w movwf (?a_main+2)& (0+127) movlw 2 movwf (?a_main+6)& (0+127) goto l22 line 530 l26 ;D:\NL.C: 530: case 2: a3 = a ; ch=0 ; break ; movf (?a_main+4)& (0+127),w movwf (?a_main+3)& (0+127) clrf (?a_main+6)& (0+127) goto l22 line 527 l23 movf (?a_main+6)& (0+127),w btfsc 3,2 goto l24 xorlw 1 btfsc 3,2 goto l25 xorlw 3 btfsc 3,2 goto l26 line 531 l22 line 533 ;D:\NL.C: 533: RC6 = 0 ; bcf 7,6 line 534 ;D:\NL.C: 534: if ( sent && i != 0 ) { btfss (_sent/(0+8))& (0+127),_sent& (0+7) goto l28 movf _i& (0+127) btfsc 3,2 goto l28 line 535 ;D:\NL.C: 535: RC3 = 0 ; bcf 3,5 bcf 7,3 line 537 ;D:\NL.C: 536: } ;D:\NL.C: 537: while ( ! sent ) ; l28 bcf 3,5 btfss (_sent/(0+8))& (0+127),_sent& (0+7) goto l28 line 538 ;D:\NL.C: 538: sent = 0 ; bcf 3,5 bcf (_sent/(0+8))& (0+127),_sent& (0+7) line 340 ;D:\NL.C: 543: } incf _i& (0+127) goto l4 psect text3 psect rbit_0 _sent ds 1 psect rbss_0 _i ds 1 _x ds 2 psect temp btemp ds 6