Microchip Technology PIC LITE Macro Assembler V1.34 build -361300703 Tue Jun 16 16:34:37 2015 Microchip Technology Omniscient Code Generator (Lite mode) build 201502162209 1 processor 16F87 2 opt pw 120 3 opt lm 4 psect text0,local,class=CODE,merge=1,delta=2 5 psect cinit,global,class=CODE,merge=1,delta=2 6 psect cstackCOMMON,global,class=COMMON,space=1,delta=1 7 psect maintext,global,class=CODE,split=1,delta=2 8 psect text1,local,class=CODE,merge=1,delta=2 9 dabs 1,0x7E,2 10 0000 ;# 11 0001 ;# 12 0002 ;# 13 0003 ;# 14 0004 ;# 15 0005 ;# 16 0006 ;# 17 000A ;# 18 000B ;# 19 000C ;# 20 000D ;# 21 000E ;# 22 000E ;# 23 000F ;# 24 0010 ;# 25 0011 ;# 26 0012 ;# 27 0013 ;# 28 0014 ;# 29 0015 ;# 30 0015 ;# 31 0016 ;# 32 0017 ;# 33 0018 ;# 34 0019 ;# 35 001A ;# 36 0081 ;# 37 0085 ;# 38 0086 ;# 39 008C ;# 40 008D ;# 41 008E ;# 42 008F ;# 43 0090 ;# 44 0092 ;# 45 0093 ;# 46 0094 ;# 47 0098 ;# 48 0099 ;# 49 009C ;# 50 009D ;# 51 0105 ;# 52 010C ;# 53 010D ;# 54 010E ;# 55 010F ;# 56 018C ;# 57 018D ;# 58 0005 _PORTA set 5 59 0005 _PORTAbits set 5 60 0006 _PORTB set 6 61 0006 _PORTBbits set 6 62 008F _OSCCONbits set 143 63 0085 _TRISA set 133 64 0086 _TRISB set 134 65 66 psect text0 67 0000 __ptext0: 68 ; #config settings 69 70 71 ;psect for function _init_oscillator 72 0000 73 psect cinit 74 07FD start_initialization: 75 07FD __initialization: 76 07FD end_of_initialization: 77 ;End of C runtime variable initialization code 78 79 07FD __end_of__initialization: 80 07FD 0183 clrf 3 81 07FE 118A 2F22 ljmp _main ;jump to C main() function 82 83 psect cstackCOMMON 84 0070 __pcstackCOMMON: 85 0070 ?_init_oscillator: 86 0070 ??_init_oscillator: 87 ; 0 bytes @ 0x0 88 89 0070 ??_main: 90 ; 0 bytes @ 0x0 91 92 0070 ?_main: 93 ; 0 bytes @ 0x0 94 95 96 ; 2 bytes @ 0x0 97 0070 ds 3 98 0073 main@nb_sec: 99 100 ; 2 bytes @ 0x3 101 0073 ds 2 102 103 psect maintext 104 0722 __pmaintext: 105 ;; 106 ;;Main: autosize = 0, tempsize = 3, incstack = 0, save=0 107 ;; 108 ;; *************** function _main ***************** 109 ;; Defined at: 110 ;; line 58 in file "main_feux_wc.c" 111 ;; Parameters: Size Location Type 112 ;; None 113 ;; Auto vars: Size Location Type 114 ;; nb_sec 2 3[COMMON] int 115 ;; Return value: Size Location Type 116 ;; 2 20[None ] int 117 ;; Registers used: 118 ;; wreg, status,2, status,0, btemp+1, pclath, cstack 119 ;; Tracked objects: 120 ;; On entry : B00/0 121 ;; On exit : 0/0 122 ;; Unchanged: 0/0 123 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 124 ;; Params: 0 0 0 0 0 125 ;; Locals: 2 0 0 0 0 126 ;; Temps: 3 0 0 0 0 127 ;; Totals: 5 0 0 0 0 128 ;;Total ram usage: 5 bytes 129 ;; Hardware stack levels required when called: 1 130 ;; This function calls: 131 ;; _init_oscillator 132 ;; This function is called by: 133 ;; Startup code after reset 134 ;; This function uses a non-reentrant model 135 ;; 136 137 138 ;psect for function _main 139 0722 _main: 140 141 ;main_feux_wc.c: 60: init_oscillator(); 142 143 ;incstack = 0 144 ; Regs used in _main: [wreg+status,2+status,0+btemp+1+pclath+cstack] 145 0722 118A 271A 118A fcall _init_oscillator 146 147 ;main_feux_wc.c: 63: TRISA=0x00; 148 0725 1683 bsf 3,5 ;RP0=1, select bank1 149 0726 1303 bcf 3,6 ;RP1=0, select bank1 150 0727 0185 clrf 5 ;volatile 151 152 ;main_feux_wc.c: 64: TRISB=0xFF; 153 0728 30FF movlw 255 154 0729 0086 movwf 6 ;volatile 155 156 ;main_feux_wc.c: 70: PORTA=0x00; 157 072A 1283 bcf 3,5 ;RP0=0, select bank0 158 072B 1303 bcf 3,6 ;RP1=0, select bank0 159 072C 0185 clrf 5 ;volatile 160 161 ;main_feux_wc.c: 71: PORTB=0x00; 162 072D 0186 clrf 6 ;volatile 163 164 ;main_feux_wc.c: 72: int nb_sec=0; 165 072E 01F3 clrf main@nb_sec 166 072F 01F4 clrf main@nb_sec+1 167 0730 l515: 168 ;main_feux_wc.c: 74: while(1) 169 170 171 ;main_feux_wc.c: 75: { 172 ;main_feux_wc.c: 76: if(PORTBbits.RB1==0){ 173 0730 1886 btfsc 6,1 ;volatile 174 0731 2F74 goto l22 175 176 ;main_feux_wc.c: 77: _delay((unsigned long)((10)*(8000000/4000.0))); 177 0732 301A movlw 26 178 0733 00F1 movwf ??_main+1 179 0734 30F8 movlw 248 180 0735 00F0 movwf ??_main 181 0736 u137: 182 0736 0BF0 decfsz ??_main,f 183 0737 2F36 goto u137 184 0738 0BF1 decfsz ??_main+1,f 185 0739 2F36 goto u137 186 073A 0000 nop 187 188 ;main_feux_wc.c: 78: if(PORTBbits.RB1==0){ 189 073B 1283 bcf 3,5 ;RP0=0, select bank0 190 073C 1303 bcf 3,6 ;RP1=0, select bank0 191 073D 1886 btfsc 6,1 ;volatile 192 073E 2F74 goto l22 193 194 ;main_feux_wc.c: 79: PORTAbits.RA0 = 0; PORTAbits.RA1 = 1; PORTAbits.RA2 = 0; 195 073F 1005 bcf 5,0 ;volatile 196 0740 1485 bsf 5,1 ;volatile 197 0741 1105 bcf 5,2 ;volatile 198 199 ;main_feux_wc.c: 80: for(nb_sec=5;nb_sec>0;nb_sec--) 200 0742 3005 movlw 5 201 0743 00F3 movwf main@nb_sec 202 0744 3000 movlw 0 203 0745 00F4 movwf main@nb_sec+1 204 0746 0874 movf main@nb_sec+1,w 205 0747 3A80 xorlw 128 206 0748 00FF movwf 127 207 0749 3080 movlw 128 208 074A 027F subwf 127,w 209 074B 1D03 skipz 210 074C 2F4F goto u35 211 074D 3001 movlw 1 212 074E 0273 subwf main@nb_sec,w 213 074F u35: 214 074F 1C03 btfss 3,0 215 0750 2F6F goto l25 216 0751 l529: 217 218 ;main_feux_wc.c: 81: _delay((unsigned long)((1000)*(8000000/4000.0))); 219 0751 300B movlw 11 220 0752 00F2 movwf ??_main+2 221 0753 3026 movlw 38 222 0754 00F1 movwf ??_main+1 223 0755 3066 movlw 102 224 0756 00F0 movwf ??_main 225 0757 u147: 226 0757 0BF0 decfsz ??_main,f 227 0758 2F57 goto u147 228 0759 0BF1 decfsz ??_main+1,f 229 075A 2F57 goto u147 230 075B 0BF2 decfsz ??_main+2,f 231 075C 2F57 goto u147 232 075D 2F5E nop2 233 075E 30FF movlw 255 234 075F 07F3 addwf main@nb_sec,f 235 0760 1803 skipnc 236 0761 0AF4 incf main@nb_sec+1,f 237 0762 30FF movlw 255 238 0763 07F4 addwf main@nb_sec+1,f 239 0764 0874 movf main@nb_sec+1,w 240 0765 3A80 xorlw 128 241 0766 00FF movwf 127 242 0767 3080 movlw 128 243 0768 027F subwf 127,w 244 0769 1D03 skipz 245 076A 2F6D goto u45 246 076B 3001 movlw 1 247 076C 0273 subwf main@nb_sec,w 248 076D u45: 249 076D 1803 skipnc 250 076E 2F51 goto l529 251 076F l25: 252 253 ;main_feux_wc.c: 82: PORTAbits.RA0 = 1; PORTAbits.RA1 = 0; PORTAbits.RA2 = 0; 254 076F 1283 bcf 3,5 ;RP0=0, select bank0 255 0770 1303 bcf 3,6 ;RP1=0, select bank0 256 0771 1405 bsf 5,0 ;volatile 257 0772 1085 bcf 5,1 ;volatile 258 0773 1105 bcf 5,2 ;volatile 259 0774 l22: 260 261 ;main_feux_wc.c: 83: } 262 ;main_feux_wc.c: 84: } 263 ;main_feux_wc.c: 85: if(PORTBbits.RB2==0){ 264 0774 1906 btfsc 6,2 ;volatile 265 0775 2FB8 goto l26 266 267 ;main_feux_wc.c: 86: _delay((unsigned long)((10)*(8000000/4000.0))); 268 0776 301A movlw 26 269 0777 00F1 movwf ??_main+1 270 0778 30F8 movlw 248 271 0779 00F0 movwf ??_main 272 077A u157: 273 077A 0BF0 decfsz ??_main,f 274 077B 2F7A goto u157 275 077C 0BF1 decfsz ??_main+1,f 276 077D 2F7A goto u157 277 077E 0000 nop 278 279 ;main_feux_wc.c: 87: if(PORTBbits.RB2==0){ 280 077F 1283 bcf 3,5 ;RP0=0, select bank0 281 0780 1303 bcf 3,6 ;RP1=0, select bank0 282 0781 1906 btfsc 6,2 ;volatile 283 0782 2FB8 goto l26 284 285 ;main_feux_wc.c: 88: PORTAbits.RA0 = 0; PORTAbits.RA1 = 1; PORTAbits.RA2 = 0; 286 0783 1005 bcf 5,0 ;volatile 287 0784 1485 bsf 5,1 ;volatile 288 0785 1105 bcf 5,2 ;volatile 289 290 ;main_feux_wc.c: 89: for(nb_sec=5;nb_sec>0;nb_sec--) 291 0786 3005 movlw 5 292 0787 00F3 movwf main@nb_sec 293 0788 3000 movlw 0 294 0789 00F4 movwf main@nb_sec+1 295 078A 0874 movf main@nb_sec+1,w 296 078B 3A80 xorlw 128 297 078C 00FF movwf 127 298 078D 3080 movlw 128 299 078E 027F subwf 127,w 300 078F 1D03 skipz 301 0790 2F93 goto u75 302 0791 3001 movlw 1 303 0792 0273 subwf main@nb_sec,w 304 0793 u75: 305 0793 1C03 btfss 3,0 306 0794 2FB3 goto l29 307 0795 l545: 308 309 ;main_feux_wc.c: 90: _delay((unsigned long)((1000)*(8000000/4000.0))); 310 0795 300B movlw 11 311 0796 00F2 movwf ??_main+2 312 0797 3026 movlw 38 313 0798 00F1 movwf ??_main+1 314 0799 3066 movlw 102 315 079A 00F0 movwf ??_main 316 079B u167: 317 079B 0BF0 decfsz ??_main,f 318 079C 2F9B goto u167 319 079D 0BF1 decfsz ??_main+1,f 320 079E 2F9B goto u167 321 079F 0BF2 decfsz ??_main+2,f 322 07A0 2F9B goto u167 323 07A1 2FA2 nop2 324 07A2 30FF movlw 255 325 07A3 07F3 addwf main@nb_sec,f 326 07A4 1803 skipnc 327 07A5 0AF4 incf main@nb_sec+1,f 328 07A6 30FF movlw 255 329 07A7 07F4 addwf main@nb_sec+1,f 330 07A8 0874 movf main@nb_sec+1,w 331 07A9 3A80 xorlw 128 332 07AA 00FF movwf 127 333 07AB 3080 movlw 128 334 07AC 027F subwf 127,w 335 07AD 1D03 skipz 336 07AE 2FB1 goto u85 337 07AF 3001 movlw 1 338 07B0 0273 subwf main@nb_sec,w 339 07B1 u85: 340 07B1 1803 skipnc 341 07B2 2F95 goto l545 342 07B3 l29: 343 344 ;main_feux_wc.c: 91: PORTAbits.RA0 = 0; PORTAbits.RA1 = 0; PORTAbits.RA2 = 1; 345 07B3 1283 bcf 3,5 ;RP0=0, select bank0 346 07B4 1303 bcf 3,6 ;RP1=0, select bank0 347 07B5 1005 bcf 5,0 ;volatile 348 07B6 1085 bcf 5,1 ;volatile 349 07B7 1505 bsf 5,2 ;volatile 350 07B8 l26: 351 352 ;main_feux_wc.c: 92: } 353 ;main_feux_wc.c: 93: } 354 ;main_feux_wc.c: 94: if(PORTBbits.RB3==0){ 355 07B8 1986 btfsc 6,3 ;volatile 356 07B9 2F30 goto l515 357 358 ;main_feux_wc.c: 95: _delay((unsigned long)((10)*(8000000/4000.0))); 359 07BA 301A movlw 26 360 07BB 00F1 movwf ??_main+1 361 07BC 30F8 movlw 248 362 07BD 00F0 movwf ??_main 363 07BE u177: 364 07BE 0BF0 decfsz ??_main,f 365 07BF 2FBE goto u177 366 07C0 0BF1 decfsz ??_main+1,f 367 07C1 2FBE goto u177 368 07C2 0000 nop 369 370 ;main_feux_wc.c: 96: if(PORTBbits.RB3==0){ 371 07C3 1283 bcf 3,5 ;RP0=0, select bank0 372 07C4 1303 bcf 3,6 ;RP1=0, select bank0 373 07C5 1986 btfsc 6,3 ;volatile 374 07C6 2F30 goto l515 375 376 ;main_feux_wc.c: 97: PORTAbits.RA0 = 0; PORTAbits.RA1 = 1; PORTAbits.RA2 = 0; 377 07C7 1005 bcf 5,0 ;volatile 378 07C8 1485 bsf 5,1 ;volatile 379 07C9 1105 bcf 5,2 ;volatile 380 381 ;main_feux_wc.c: 98: for(nb_sec=60;nb_sec>0;nb_sec--) 382 07CA 303C movlw 60 383 07CB 00F3 movwf main@nb_sec 384 07CC 3000 movlw 0 385 07CD 00F4 movwf main@nb_sec+1 386 07CE 0874 movf main@nb_sec+1,w 387 07CF 3A80 xorlw 128 388 07D0 00FF movwf 127 389 07D1 3080 movlw 128 390 07D2 027F subwf 127,w 391 07D3 1D03 skipz 392 07D4 2FD7 goto u115 393 07D5 3001 movlw 1 394 07D6 0273 subwf main@nb_sec,w 395 07D7 u115: 396 07D7 1C03 btfss 3,0 397 07D8 2FF7 goto l33 398 07D9 l561: 399 400 ;main_feux_wc.c: 99: _delay((unsigned long)((1000)*(8000000/4000.0))); 401 07D9 300B movlw 11 402 07DA 00F2 movwf ??_main+2 403 07DB 3026 movlw 38 404 07DC 00F1 movwf ??_main+1 405 07DD 3066 movlw 102 406 07DE 00F0 movwf ??_main 407 07DF u187: 408 07DF 0BF0 decfsz ??_main,f 409 07E0 2FDF goto u187 410 07E1 0BF1 decfsz ??_main+1,f 411 07E2 2FDF goto u187 412 07E3 0BF2 decfsz ??_main+2,f 413 07E4 2FDF goto u187 414 07E5 2FE6 nop2 415 07E6 30FF movlw 255 416 07E7 07F3 addwf main@nb_sec,f 417 07E8 1803 skipnc 418 07E9 0AF4 incf main@nb_sec+1,f 419 07EA 30FF movlw 255 420 07EB 07F4 addwf main@nb_sec+1,f 421 07EC 0874 movf main@nb_sec+1,w 422 07ED 3A80 xorlw 128 423 07EE 00FF movwf 127 424 07EF 3080 movlw 128 425 07F0 027F subwf 127,w 426 07F1 1D03 skipz 427 07F2 2FF5 goto u125 428 07F3 3001 movlw 1 429 07F4 0273 subwf main@nb_sec,w 430 07F5 u125: 431 07F5 1803 skipnc 432 07F6 2FD9 goto l561 433 07F7 l33: 434 435 ;main_feux_wc.c: 100: PORTAbits.RA0 = 0; PORTAbits.RA1 = 0; PORTAbits.RA2 = 1; 436 07F7 1283 bcf 3,5 ;RP0=0, select bank0 437 07F8 1303 bcf 3,6 ;RP1=0, select bank0 438 07F9 1005 bcf 5,0 ;volatile 439 07FA 1085 bcf 5,1 ;volatile 440 07FB 1505 bsf 5,2 ;volatile 441 07FC 2F30 goto l515 442 07FD __end_of_main: 443 ;main_feux_wc.c: 101: } 444 ;main_feux_wc.c: 102: } 445 ;main_feux_wc.c: 107: } 446 ;main_feux_wc.c: 108: return 0; 447 ; Return value of _main is never used 448 449 450 psect text1 451 071A __ptext1: 452 ;; *************** function _init_oscillator ***************** 453 ;; Defined at: 454 ;; line 111 in file "main_feux_wc.c" 455 ;; Parameters: Size Location Type 456 ;; None 457 ;; Auto vars: Size Location Type 458 ;; None 459 ;; Return value: Size Location Type 460 ;; None void 461 ;; Registers used: 462 ;; wreg, status,2, status,0 463 ;; Tracked objects: 464 ;; On entry : 0/0 465 ;; On exit : 0/0 466 ;; Unchanged: 0/0 467 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 468 ;; Params: 0 0 0 0 0 469 ;; Locals: 0 0 0 0 0 470 ;; Temps: 0 0 0 0 0 471 ;; Totals: 0 0 0 0 0 472 ;;Total ram usage: 0 bytes 473 ;; Hardware stack levels used: 1 474 ;; This function calls: 475 ;; Nothing 476 ;; This function is called by: 477 ;; _main 478 ;; This function uses a non-reentrant model 479 ;; 480 481 482 ;psect for function _init_oscillator 483 071A _init_oscillator: 484 485 ;main_feux_wc.c: 112: OSCCONbits.IRCF = 0b111; 486 487 ;incstack = 0 488 ; Regs used in _init_oscillator: [wreg+status,2+status,0] 489 071A 3070 movlw 112 490 071B 1683 bsf 3,5 ;RP0=1, select bank1 491 071C 1303 bcf 3,6 ;RP1=0, select bank1 492 071D 048F iorwf 15,f ;volatile 493 494 ;main_feux_wc.c: 113: OSCCONbits.SCS = 0b00; 495 071E 30FC movlw -4 496 071F 058F andwf 15,f ;volatile 497 498 ;main_feux_wc.c: 114: OSCCONbits.IOFS = 1; 499 0720 150F bsf 15,2 ;volatile 500 0721 0008 return 501 0722 __end_of_init_oscillator: 502 007E btemp set 126 ;btemp 503 007E wtemp set 126 504 007E wtemp0 set 126 505 0080 wtemp1 set 128 506 0082 wtemp2 set 130 507 0084 wtemp3 set 132 508 0086 wtemp4 set 134 509 0088 wtemp5 set 136 510 007F wtemp6 set 127 511 007E ttemp set 126 512 007E ttemp0 set 126 513 0081 ttemp1 set 129 514 0084 ttemp2 set 132 515 0087 ttemp3 set 135 516 007F ttemp4 set 127 517 007E ltemp set 126 518 007E ltemp0 set 126 519 0082 ltemp1 set 130 520 0086 ltemp2 set 134 521 0080 ltemp3 set 128 Data Sizes: Strings 0 Constant 0 Data 0 BSS 0 Persistent 0 Stack 0 Auto Spaces: Space Size Autos Used COMMON 14 5 5 BANK0 80 0 0 BANK1 80 0 0 BANK3 96 0 0 BANK2 96 0 0 Pointer List with Targets: None. Critical Paths under _main in COMMON None. Critical Paths under _main in BANK0 None. Critical Paths under _main in BANK1 None. Critical Paths under _main in BANK3 None. Critical Paths under _main in BANK2 None. Call Graph Tables: --------------------------------------------------------------------------------- (Depth) Function Calls Base Space Used Autos Params Refs --------------------------------------------------------------------------------- (0) _main 5 5 0 90 0 COMMON 5 5 0 _init_oscillator --------------------------------------------------------------------------------- (1) _init_oscillator 0 0 0 0 --------------------------------------------------------------------------------- Estimated maximum stack depth 1 --------------------------------------------------------------------------------- Call Graph Graphs: _main (ROOT) _init_oscillator Address spaces: Name Size Autos Total Cost Usage BITCOMMON E 0 0 0 0.0% EEDATA 100 0 0 0 0.0% NULL 0 0 0 0 0.0% CODE 0 0 0 0 0.0% COMMON E 5 5 1 35.7% BITSFR0 0 0 0 1 0.0% SFR0 0 0 0 1 0.0% BITSFR1 0 0 0 2 0.0% SFR1 0 0 0 2 0.0% STACK 0 0 0 2 0.0% ABS 0 0 0 3 0.0% BITBANK0 50 0 0 4 0.0% BITSFR3 0 0 0 4 0.0% SFR3 0 0 0 4 0.0% BANK0 50 0 0 5 0.0% BITSFR2 0 0 0 5 0.0% SFR2 0 0 0 5 0.0% BITBANK1 50 0 0 6 0.0% BANK1 50 0 0 7 0.0% BITBANK3 60 0 0 8 0.0% BANK3 60 0 0 9 0.0% BITBANK2 60 0 0 10 0.0% BANK2 60 0 0 11 0.0% DATA 0 0 0 12 0.0% Microchip Technology PIC Macro Assembler V1.34 build -361300703 Symbol Table Tue Jun 16 16:34:37 2015 __CFG_CP$ON 0000 l22 0774 l33 07F7 l25 076F l26 07B8 l29 07B3 __CFG_CPD$ON 0000 u35 074F u45 076D u75 0793 u85 07B1 l515 0730 l561 07D9 l545 0795 l529 0751 u115 07D7 u125 07F5 u137 0736 u147 0757 u157 077A u167 079B u177 07BE u187 07DF __CFG_LVP$OFF 0000 __CFG_WRT$OFF 0000 _main 0722 btemp 007E ??_init_oscillator 0070 ltemp 007E start 0000 ttemp 007E wtemp 007E ?_main 0070 __CFG_WDTE$OFF 0000 __CFG_DEBUG$OFF 0000 _PORTA 0005 _PORTB 0006 _TRISA 0085 _TRISB 0086 __CFG_CCPMX$RB3 0000 __CFG_PWRTE$ON 0000 __CFG_BOREN$OFF 0000 ltemp0 007E ltemp1 0082 ltemp2 0086 ltemp3 0080 ttemp0 007E ttemp1 0081 ttemp2 0084 ttemp3 0087 ttemp4 007F status 0003 wtemp0 007E wtemp1 0080 wtemp2 0082 wtemp3 0084 wtemp4 0086 wtemp5 0088 wtemp6 007F __CFG_MCLRE$OFF 0000 __initialization 07FD __end_of_main 07FD ??_main 0070 __end_of__initialization 07FD __pcstackCOMMON 0070 _init_oscillator 071A __pmaintext 0722 __end_of_init_oscillator 0722 __ptext0 0000 __ptext1 071A end_of_initialization 07FD _PORTAbits 0005 _PORTBbits 0006 main@nb_sec 0073 ?_init_oscillator 0070 start_initialization 07FD ___latbits 0001 __size_of_main 00DB __size_of_init_oscillator 0008 _OSCCONbits 008F __CFG_FOSC$INTOSCIO 0000