From e6bffe23c87a9f6de8abdec747600f674b9cab62 Mon Sep 17 00:00:00 2001 From: William Harrington Date: Sat, 27 Jul 2019 22:16:27 -0500 Subject: Copy project files into repo --- dist/default/production/I2C_LCD.X.production.lst | 6004 ++++++++++++++++++++++ 1 file changed, 6004 insertions(+) create mode 100755 dist/default/production/I2C_LCD.X.production.lst (limited to 'dist/default/production/I2C_LCD.X.production.lst') diff --git a/dist/default/production/I2C_LCD.X.production.lst b/dist/default/production/I2C_LCD.X.production.lst new file mode 100755 index 0000000..5a80686 --- /dev/null +++ b/dist/default/production/I2C_LCD.X.production.lst @@ -0,0 +1,6004 @@ + + +Microchip MPLAB XC8 Assembler V2.05 build -831301201 + Sat Jul 27 21:52:44 2019 + +Microchip MPLAB XC8 C Compiler v2.05 (Free license) build 20181220022703 Og1 + 1 processor 16F877A + 2 opt pw 120 + 3 opt flic + 4 psect idataBANK0,global,class=CODE,delta=2 + 5 psect idataBANK1,global,class=CODE,delta=2 + 6 psect strings,global,class=STRING,delta=2 + 7 psect cinit,global,class=CODE,merge=1,delta=2 + 8 psect bssBANK0,global,class=BANK0,space=1,delta=1 + 9 psect dataBANK0,global,class=BANK0,space=1,delta=1 + 10 psect bssBANK1,global,class=BANK1,space=1,delta=1 + 11 psect dataBANK1,global,class=BANK1,space=1,delta=1 + 12 psect inittext,global,class=CODE,delta=2 + 13 psect clrtext,global,class=CODE,delta=2 + 14 psect cstackCOMMON,global,class=COMMON,space=1,delta=1 + 15 psect cstackBANK0,global,class=BANK0,space=1,delta=1 + 16 psect maintext,global,class=CODE,split=1,delta=2 + 17 psect text1,local,class=CODE,merge=1,delta=2 + 18 psect text2,local,class=CODE,merge=1,delta=2 + 19 psect text3,local,class=CODE,merge=1,delta=2 + 20 psect text4,local,class=CODE,merge=1,delta=2 + 21 psect text5,local,class=CODE,merge=1,delta=2,group=1 + 22 psect text6,local,class=CODE,merge=1,delta=2,group=1 + 23 psect text7,local,class=CODE,merge=1,delta=2 + 24 psect text8,local,class=CODE,merge=1,delta=2,group=1 + 25 psect text9,local,class=CODE,merge=1,delta=2,group=1 + 26 psect text10,local,class=CODE,merge=1,delta=2 + 27 psect text11,local,class=CODE,merge=1,delta=2 + 28 psect text12,local,class=CODE,merge=1,delta=2 + 29 psect text13,local,class=CODE,merge=1,delta=2 + 30 psect text14,local,class=CODE,merge=1,delta=2 + 31 psect text15,local,class=CODE,merge=1,delta=2 + 32 psect text16,local,class=CODE,merge=1,delta=2 + 33 psect text17,local,class=CODE,merge=1,delta=2 + 34 psect text18,local,class=CODE,merge=1,delta=2 + 35 psect text19,local,class=CODE,merge=1,delta=2 + 36 psect text20,local,class=CODE,merge=1,delta=2 + 37 psect text21,local,class=CODE,merge=1,delta=2 + 38 psect text22,local,class=CODE,merge=1,delta=2 + 39 psect text23,local,class=CODE,merge=1,delta=2 + 40 psect text24,local,class=CODE,merge=1,delta=2 + 41 psect text25,local,class=CODE,merge=1,delta=2,group=1 + 42 psect text26,local,class=CODE,merge=1,delta=2 + 43 psect text27,local,class=CODE,merge=1,delta=2 + 44 psect text28,local,class=CODE,merge=1,delta=2 + 45 psect text29,local,class=CODE,merge=1,delta=2 + 46 psect text30,local,class=CODE,merge=1,delta=2,group=1 + 47 psect text31,local,class=CODE,merge=1,delta=2,group=1 + 48 psect text32,local,class=CODE,merge=1,delta=2 + 49 dabs 1,0x7E,2 + 50 0000 + 51 ; Version 2.05 + 52 ; Generated 20/12/2018 GMT + 53 ; + 54 ; Copyright © 2018, Microchip Technology Inc. and its subsidiaries ("Microchip") + 55 ; All rights reserved. + 56 ; + 57 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch + + ip"). + 58 ; + 59 ; Redistribution and use in source and binary forms, with or without modification, are + 60 ; permitted provided that the following conditions are met: + 61 ; + 62 ; 1. Redistributions of source code must retain the above copyright notice, this lis + + t of + 63 ; conditions and the following disclaimer. + 64 ; + 65 ; 2. Redistributions in binary form must reproduce the above copyright notice, this + + list + 66 ; of conditions and the following disclaimer in the documentation and/or other + 67 ; materials provided with the distribution. + 68 ; + 69 ; 3. Microchip's name may not be used to endorse or promote products derived from th + + is + 70 ; software without specific prior written permission. + 71 ; + 72 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + 73 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F + + OR + 74 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC + + T, + 75 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO + 76 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS + 77 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST + + RICT + 78 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U + + SE OF + 79 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 80 ; + 81 ; + 82 ; Code-generator required, PIC16F877A Definitions + 83 ; + 84 ; SFR Addresses + 85 0000 ;# + 86 0001 ;# + 87 0002 ;# + 88 0003 ;# + 89 0004 ;# + 90 0005 ;# + 91 0006 ;# + 92 0007 ;# + 93 0008 ;# + 94 0009 ;# + 95 000A ;# + 96 000B ;# + 97 000C ;# + 98 000D ;# + 99 000E ;# + 100 000E ;# + 101 000F ;# + 102 0010 ;# + 103 0011 ;# + 104 0012 ;# + 105 0013 ;# + 106 0014 ;# + 107 0015 ;# + 108 0015 ;# + 109 0016 ;# + 110 0017 ;# + 111 0018 ;# + 112 0019 ;# + 113 001A ;# + 114 001B ;# + 115 001B ;# + 116 001C ;# + 117 001D ;# + 118 001E ;# + 119 001F ;# + 120 0081 ;# + 121 0085 ;# + 122 0086 ;# + 123 0087 ;# + 124 0088 ;# + 125 0089 ;# + 126 008C ;# + 127 008D ;# + 128 008E ;# + 129 0091 ;# + 130 0092 ;# + 131 0093 ;# + 132 0094 ;# + 133 0098 ;# + 134 0099 ;# + 135 009C ;# + 136 009D ;# + 137 009E ;# + 138 009F ;# + 139 010C ;# + 140 010D ;# + 141 010E ;# + 142 010F ;# + 143 018C ;# + 144 018D ;# + 145 0000 ;# + 146 0001 ;# + 147 0002 ;# + 148 0003 ;# + 149 0004 ;# + 150 0005 ;# + 151 0006 ;# + 152 0007 ;# + 153 0008 ;# + 154 0009 ;# + 155 000A ;# + 156 000B ;# + 157 000C ;# + 158 000D ;# + 159 000E ;# + 160 000E ;# + 161 000F ;# + 162 0010 ;# + 163 0011 ;# + 164 0012 ;# + 165 0013 ;# + 166 0014 ;# + 167 0015 ;# + 168 0015 ;# + 169 0016 ;# + 170 0017 ;# + 171 0018 ;# + 172 0019 ;# + 173 001A ;# + 174 001B ;# + 175 001B ;# + 176 001C ;# + 177 001D ;# + 178 001E ;# + 179 001F ;# + 180 0081 ;# + 181 0085 ;# + 182 0086 ;# + 183 0087 ;# + 184 0088 ;# + 185 0089 ;# + 186 008C ;# + 187 008D ;# + 188 008E ;# + 189 0091 ;# + 190 0092 ;# + 191 0093 ;# + 192 0094 ;# + 193 0098 ;# + 194 0099 ;# + 195 009C ;# + 196 009D ;# + 197 009E ;# + 198 009F ;# + 199 010C ;# + 200 010D ;# + 201 010E ;# + 202 010F ;# + 203 018C ;# + 204 018D ;# + 205 0000 ;# + 206 0001 ;# + 207 0002 ;# + 208 0003 ;# + 209 0004 ;# + 210 0005 ;# + 211 0006 ;# + 212 0007 ;# + 213 0008 ;# + 214 0009 ;# + 215 000A ;# + 216 000B ;# + 217 000C ;# + 218 000D ;# + 219 000E ;# + 220 000E ;# + 221 000F ;# + 222 0010 ;# + 223 0011 ;# + 224 0012 ;# + 225 0013 ;# + 226 0014 ;# + 227 0015 ;# + 228 0015 ;# + 229 0016 ;# + 230 0017 ;# + 231 0018 ;# + 232 0019 ;# + 233 001A ;# + 234 001B ;# + 235 001B ;# + 236 001C ;# + 237 001D ;# + 238 001E ;# + 239 001F ;# + 240 0081 ;# + 241 0085 ;# + 242 0086 ;# + 243 0087 ;# + 244 0088 ;# + 245 0089 ;# + 246 008C ;# + 247 008D ;# + 248 008E ;# + 249 0091 ;# + 250 0092 ;# + 251 0093 ;# + 252 0094 ;# + 253 0098 ;# + 254 0099 ;# + 255 009C ;# + 256 009D ;# + 257 009E ;# + 258 009F ;# + 259 010C ;# + 260 010D ;# + 261 010E ;# + 262 010F ;# + 263 018C ;# + 264 018D ;# + 265 0000 ;# + 266 0001 ;# + 267 0002 ;# + 268 0003 ;# + 269 0004 ;# + 270 0005 ;# + 271 0006 ;# + 272 0007 ;# + 273 0008 ;# + 274 0009 ;# + 275 000A ;# + 276 000B ;# + 277 000C ;# + 278 000D ;# + 279 000E ;# + 280 000E ;# + 281 000F ;# + 282 0010 ;# + 283 0011 ;# + 284 0012 ;# + 285 0013 ;# + 286 0014 ;# + 287 0015 ;# + 288 0015 ;# + 289 0016 ;# + 290 0017 ;# + 291 0018 ;# + 292 0019 ;# + 293 001A ;# + 294 001B ;# + 295 001B ;# + 296 001C ;# + 297 001D ;# + 298 001E ;# + 299 001F ;# + 300 0081 ;# + 301 0085 ;# + 302 0086 ;# + 303 0087 ;# + 304 0088 ;# + 305 0089 ;# + 306 008C ;# + 307 008D ;# + 308 008E ;# + 309 0091 ;# + 310 0092 ;# + 311 0093 ;# + 312 0094 ;# + 313 0098 ;# + 314 0099 ;# + 315 009C ;# + 316 009D ;# + 317 009E ;# + 318 009F ;# + 319 010C ;# + 320 010D ;# + 321 010E ;# + 322 010F ;# + 323 018C ;# + 324 018D ;# + 325 0000 ;# + 326 0001 ;# + 327 0002 ;# + 328 0003 ;# + 329 0004 ;# + 330 0005 ;# + 331 0006 ;# + 332 0007 ;# + 333 0008 ;# + 334 0009 ;# + 335 000A ;# + 336 000B ;# + 337 000C ;# + 338 000D ;# + 339 000E ;# + 340 000E ;# + 341 000F ;# + 342 0010 ;# + 343 0011 ;# + 344 0012 ;# + 345 0013 ;# + 346 0014 ;# + 347 0015 ;# + 348 0015 ;# + 349 0016 ;# + 350 0017 ;# + 351 0018 ;# + 352 0019 ;# + 353 001A ;# + 354 001B ;# + 355 001B ;# + 356 001C ;# + 357 001D ;# + 358 001E ;# + 359 001F ;# + 360 0081 ;# + 361 0085 ;# + 362 0086 ;# + 363 0087 ;# + 364 0088 ;# + 365 0089 ;# + 366 008C ;# + 367 008D ;# + 368 008E ;# + 369 0091 ;# + 370 0092 ;# + 371 0093 ;# + 372 0094 ;# + 373 0098 ;# + 374 0099 ;# + 375 009C ;# + 376 009D ;# + 377 009E ;# + 378 009F ;# + 379 010C ;# + 380 010D ;# + 381 010E ;# + 382 010F ;# + 383 018C ;# + 384 018D ;# + 385 0000 ;# + 386 0001 ;# + 387 0002 ;# + 388 0003 ;# + 389 0004 ;# + 390 0005 ;# + 391 0006 ;# + 392 0007 ;# + 393 0008 ;# + 394 0009 ;# + 395 000A ;# + 396 000B ;# + 397 000C ;# + 398 000D ;# + 399 000E ;# + 400 000E ;# + 401 000F ;# + 402 0010 ;# + 403 0011 ;# + 404 0012 ;# + 405 0013 ;# + 406 0014 ;# + 407 0015 ;# + 408 0015 ;# + 409 0016 ;# + 410 0017 ;# + 411 0018 ;# + 412 0019 ;# + 413 001A ;# + 414 001B ;# + 415 001B ;# + 416 001C ;# + 417 001D ;# + 418 001E ;# + 419 001F ;# + 420 0081 ;# + 421 0085 ;# + 422 0086 ;# + 423 0087 ;# + 424 0088 ;# + 425 0089 ;# + 426 008C ;# + 427 008D ;# + 428 008E ;# + 429 0091 ;# + 430 0092 ;# + 431 0093 ;# + 432 0094 ;# + 433 0098 ;# + 434 0099 ;# + 435 009C ;# + 436 009D ;# + 437 009E ;# + 438 009F ;# + 439 010C ;# + 440 010D ;# + 441 010E ;# + 442 010F ;# + 443 018C ;# + 444 018D ;# + 445 0000 ;# + 446 0001 ;# + 447 0002 ;# + 448 0003 ;# + 449 0004 ;# + 450 0005 ;# + 451 0006 ;# + 452 0007 ;# + 453 0008 ;# + 454 0009 ;# + 455 000A ;# + 456 000B ;# + 457 000C ;# + 458 000D ;# + 459 000E ;# + 460 000E ;# + 461 000F ;# + 462 0010 ;# + 463 0011 ;# + 464 0012 ;# + 465 0013 ;# + 466 0014 ;# + 467 0015 ;# + 468 0015 ;# + 469 0016 ;# + 470 0017 ;# + 471 0018 ;# + 472 0019 ;# + 473 001A ;# + 474 001B ;# + 475 001B ;# + 476 001C ;# + 477 001D ;# + 478 001E ;# + 479 001F ;# + 480 0081 ;# + 481 0085 ;# + 482 0086 ;# + 483 0087 ;# + 484 0088 ;# + 485 0089 ;# + 486 008C ;# + 487 008D ;# + 488 008E ;# + 489 0091 ;# + 490 0092 ;# + 491 0093 ;# + 492 0094 ;# + 493 0098 ;# + 494 0099 ;# + 495 009C ;# + 496 009D ;# + 497 009E ;# + 498 009F ;# + 499 010C ;# + 500 010D ;# + 501 010E ;# + 502 010F ;# + 503 018C ;# + 504 018D ;# + 505 + 506 psect idataBANK0 + 507 0CEA __pidataBANK0: + 508 + 509 ;initializer for _year + 510 0CEA 3413 retlw 19 + 511 0CEB 3400 retlw 0 + 512 + 513 ;initializer for _month + 514 0CEC 3407 retlw 7 + 515 0CED 3400 retlw 0 + 516 + 517 ;initializer for _date + 518 0CEE 341B retlw 27 + 519 0CEF 3400 retlw 0 + 520 + 521 ;initializer for _hour + 522 0CF0 3415 retlw 21 + 523 0CF1 3400 retlw 0 + 524 + 525 ;initializer for _min + 526 0CF2 342A retlw 42 + 527 0CF3 3400 retlw 0 + 528 + 529 ;initializer for _sec + 530 0CF4 341E retlw 30 + 531 0CF5 3400 retlw 0 + 532 + 533 ;initializer for _temp_sign + 534 0CF6 3420 retlw 32 + 535 + 536 psect idataBANK1 + 537 0070 __pidataBANK1: + 538 + 539 ;initializer for _century + 540 0070 3414 retlw 20 + 541 0071 3400 retlw 0 + 542 + 543 ;initializer for _dayofweek + 544 0072 3407 retlw 7 + 545 0073 3400 retlw 0 + 546 001A _RCREG set 26 + 547 0019 _TXREG set 25 + 548 0013 _SSPBUF set 19 + 549 0014 _SSPCON set 20 + 550 0008 _PORTD set 8 + 551 0007 _PORTC set 7 + 552 0041 _RD1 set 65 + 553 0065 _RCIF set 101 + 554 00C1 _OERR set 193 + 555 0064 _TXIF set 100 + 556 00C6 _RX9 set 198 + 557 00C4 _CREN set 196 + 558 00C7 _SPEN set 199 + 559 0043 _RD3 set 67 + 560 0042 _RD2 set 66 + 561 0047 _RD7 set 71 + 562 0046 _RD6 set 70 + 563 0045 _RD5 set 69 + 564 0044 _RD4 set 68 + 565 0099 _SPBRG set 153 + 566 0094 _SSPSTAT set 148 + 567 0093 _SSPADD set 147 + 568 0091 _SSPCON2 set 145 + 569 0088 _TRISD set 136 + 570 0087 _TRISC set 135 + 571 04C6 _TX9 set 1222 + 572 04C5 _TXEN set 1221 + 573 04C4 _SYNC set 1220 + 574 04C2 _BRGH set 1218 + 575 043F _TRISC7 set 1087 + 576 043E _TRISC6 set 1086 + 577 048C _ACKEN set 1164 + 578 048D _ACKDT set 1165 + 579 048B _RCEN set 1163 + 580 048A _PEN set 1162 + 581 0489 _RSEN set 1161 + 582 0488 _SEN set 1160 + 583 043C _TRISC4 set 1084 + 584 043B _TRISC3 set 1083 + 585 + 586 psect strings + 587 0003 __pstrings: + 588 0003 stringtab: + 589 0003 __stringtab: + 590 + 591 ; String table - string pointers are 1 byte each + 592 0003 1BFF btfsc btemp+1,7 + 593 0004 280D ljmp stringcode + 594 0005 1383 bcf 3,7 + 595 0006 187F btfsc btemp+1,0 + 596 0007 1783 bsf 3,7 + 597 0008 0800 movf 0,w + 598 0009 0A84 incf 4,f + 599 000A 1903 skipnz + 600 000B 0AFF incf btemp+1,f + 601 000C 0008 return + 602 000D stringcode: + 603 000D stringdir: + 604 000D 3000 movlw high stringdir + 605 000E 008A movwf 10 + 606 000F 0804 movf 4,w + 607 0010 0A84 incf 4,f + 608 0011 0782 addwf 2,f + 609 0012 __stringbase: + 610 0012 3400 retlw 0 + 611 0013 __end_of__stringtab: + 612 0013 STR_8: + 613 0013 3452 retlw 82 ;'R' + 614 0014 3454 retlw 84 ;'T' + 615 0015 3443 retlw 67 ;'C' + 616 0016 342F retlw 47 ;'/' + 617 0017 344C retlw 76 ;'L' + 618 0018 3443 retlw 67 ;'C' + 619 0019 3444 retlw 68 ;'D' + 620 001A 3420 retlw 32 ;' ' + 621 001B 3477 retlw 119 ;'w' + 622 001C 3469 retlw 105 ;'i' + 623 001D 3474 retlw 116 ;'t' + 624 001E 3468 retlw 104 ;'h' + 625 001F 3420 retlw 32 ;' ' + 626 0020 3450 retlw 80 ;'P' + 627 0021 3449 retlw 73 ;'I' + 628 0022 3443 retlw 67 ;'C' + 629 0023 3400 retlw 0 + 630 0024 STR_11: + 631 0024 3464 retlw 100 ;'d' + 632 0025 3464 retlw 100 ;'d' + 633 0026 3464 retlw 100 ;'d' + 634 0027 342C retlw 44 ;',' + 635 0028 3420 retlw 32 ;' ' + 636 0029 3444 retlw 68 ;'D' + 637 002A 3444 retlw 68 ;'D' + 638 002B 342F retlw 47 ;'/' + 639 002C 344D retlw 77 ;'M' + 640 002D 344D retlw 77 ;'M' + 641 002E 342F retlw 47 ;'/' + 642 002F 3459 retlw 89 ;'Y' + 643 0030 3459 retlw 89 ;'Y' + 644 0031 3420 retlw 32 ;' ' + 645 0032 3420 retlw 32 ;' ' + 646 0033 3400 retlw 0 + 647 0034 STR_9: + 648 0034 3420 retlw 32 ;' ' + 649 0035 3443 retlw 67 ;'C' + 650 0036 3469 retlw 105 ;'i' + 651 0037 3472 retlw 114 ;'r' + 652 0038 3463 retlw 99 ;'c' + 653 0039 3475 retlw 117 ;'u' + 654 003A 3469 retlw 105 ;'i' + 655 003B 3474 retlw 116 ;'t' + 656 003C 3420 retlw 32 ;' ' + 657 003D 3444 retlw 68 ;'D' + 658 003E 3469 retlw 105 ;'i' + 659 003F 3467 retlw 103 ;'g' + 660 0040 3465 retlw 101 ;'e' + 661 0041 3473 retlw 115 ;'s' + 662 0042 3474 retlw 116 ;'t' + 663 0043 3400 retlw 0 + 664 0044 STR_10: + 665 0044 3448 retlw 72 ;'H' + 666 0045 3448 retlw 72 ;'H' + 667 0046 343A retlw 58 ;':' + 668 0047 346D retlw 109 ;'m' + 669 0048 346D retlw 109 ;'m' + 670 0049 343A retlw 58 ;':' + 671 004A 3473 retlw 115 ;'s' + 672 004B 3473 retlw 115 ;'s' + 673 004C 3420 retlw 32 ;' ' + 674 004D 342D retlw 45 ;'-' + 675 004E 3450 retlw 80 ;'P' + 676 004F 3450 retlw 80 ;'P' + 677 0050 342E retlw 46 ;'.' + 678 0051 3450 retlw 80 ;'P' + 679 0052 3400 retlw 0 + 680 0053 STR_4: + 681 0053 3457 retlw 87 ;'W' + 682 0054 3465 retlw 101 ;'e' + 683 0055 3464 retlw 100 ;'d' + 684 0056 3400 retlw 0 + 685 0057 STR_3: + 686 0057 3454 retlw 84 ;'T' + 687 0058 3475 retlw 117 ;'u' + 688 0059 3465 retlw 101 ;'e' + 689 005A 3400 retlw 0 + 690 005B STR_6: + 691 005B 3446 retlw 70 ;'F' + 692 005C 3472 retlw 114 ;'r' + 693 005D 3469 retlw 105 ;'i' + 694 005E 3400 retlw 0 + 695 005F STR_2: + 696 005F 344D retlw 77 ;'M' + 697 0060 346F retlw 111 ;'o' + 698 0061 346E retlw 110 ;'n' + 699 0062 3400 retlw 0 + 700 0063 STR_1: + 701 0063 3453 retlw 83 ;'S' + 702 0064 3475 retlw 117 ;'u' + 703 0065 346E retlw 110 ;'n' + 704 0066 3400 retlw 0 + 705 0067 STR_7: + 706 0067 3453 retlw 83 ;'S' + 707 0068 3461 retlw 97 ;'a' + 708 0069 3474 retlw 116 ;'t' + 709 006A 3400 retlw 0 + 710 006B STR_5: + 711 006B 3454 retlw 84 ;'T' + 712 006C 3468 retlw 104 ;'h' + 713 006D 3475 retlw 117 ;'u' + 714 006E 3400 retlw 0 + 715 + 716 ; #config settings + 717 0000 + 718 psect cinit + 719 07D3 start_initialization: + 720 07D3 __initialization: + 721 + 722 ; Initialize objects allocated to BANK1 + 723 07D3 1383 bcf 3,7 ;select IRP bank0 + 724 07D4 30D2 movlw low (__pdataBANK1+4) + 725 07D5 00FD movwf btemp+-1 + 726 07D6 3000 movlw high __pidataBANK1 + 727 07D7 00FE movwf btemp + 728 07D8 3070 movlw low __pidataBANK1 + 729 07D9 00FF movwf btemp+1 + 730 07DA 30CE movlw low __pdataBANK1 + 731 07DB 0084 movwf 4 + 732 07DC 120A 158A 24FB 120A 118A fcall init_ram0 + 733 + 734 ; Initialize objects allocated to BANK0 + 735 07E1 306F movlw low (__pdataBANK0+13) + 736 07E2 00FD movwf btemp+-1 + 737 07E3 300C movlw high __pidataBANK0 + 738 07E4 00FE movwf btemp + 739 07E5 30EA movlw low __pidataBANK0 + 740 07E6 00FF movwf btemp+1 + 741 07E7 3062 movlw low __pdataBANK0 + 742 07E8 0084 movwf 4 + 743 07E9 120A 158A 24FB 120A 118A fcall init_ram0 + 744 + 745 ; Clear objects allocated to BANK1 + 746 07EE 30A0 movlw low __pbssBANK1 + 747 07EF 0084 movwf 4 + 748 07F0 30CE movlw low (__pbssBANK1+46) + 749 07F1 120A 158A 24CE 120A 118A fcall clear_ram0 + 750 + 751 ; Clear objects allocated to BANK0 + 752 07F6 3020 movlw low __pbssBANK0 + 753 07F7 0084 movwf 4 + 754 07F8 304D movlw low (__pbssBANK0+45) + 755 07F9 120A 158A 24CE fcall clear_ram0 + 756 07FC end_of_initialization: + 757 ;End of C runtime variable initialization code + 758 + 759 07FC __end_of__initialization: + 760 07FC 0183 clrf 3 + 761 07FD 120A 118A 2A4C ljmp _main ;jump to C main() function + 762 + 763 psect bssBANK0 + 764 0020 __pbssBANK0: + 765 0020 _temperature_msb: + 766 0020 ds 2 + 767 0022 _temperature_lsb: + 768 0022 ds 2 + 769 0024 _control_reg: + 770 0024 ds 2 + 771 0026 _alarm2_status: + 772 0026 ds 2 + 773 0028 _alarm1_status: + 774 0028 ds 2 + 775 002A _alarm2_hour: + 776 002A ds 2 + 777 002C _alarm2_min: + 778 002C ds 2 + 779 002E _alarm1_hour: + 780 002E ds 2 + 781 0030 _alarm1_min: + 782 0030 ds 2 + 783 0032 _alarm1_sec: + 784 0032 ds 2 + 785 0034 _alarm2_hour_1: + 786 0034 ds 1 + 787 0035 _alarm2_hour_0: + 788 0035 ds 1 + 789 0036 _alarm2_min_1: + 790 0036 ds 1 + 791 0037 _alarm2_min_0: + 792 0037 ds 1 + 793 0038 _alarm1_hour_1: + 794 0038 ds 1 + 795 0039 _alarm1_hour_0: + 796 0039 ds 1 + 797 003A _alarm1_min_1: + 798 003A ds 1 + 799 003B _alarm1_min_0: + 800 003B ds 1 + 801 003C _alarm1_sec_1: + 802 003C ds 1 + 803 003D _alarm1_sec_0: + 804 003D ds 1 + 805 003E _temp_2: + 806 003E ds 1 + 807 003F _temp_1: + 808 003F ds 1 + 809 0040 _temp_0: + 810 0040 ds 1 + 811 0041 _year_1: + 812 0041 ds 1 + 813 0042 _year_0: + 814 0042 ds 1 + 815 0043 _month_1: + 816 0043 ds 1 + 817 0044 _month_0: + 818 0044 ds 1 + 819 0045 _day_1: + 820 0045 ds 1 + 821 0046 _day_0: + 822 0046 ds 1 + 823 0047 _hour_1: + 824 0047 ds 1 + 825 0048 _hour_0: + 826 0048 ds 1 + 827 0049 _min_1: + 828 0049 ds 1 + 829 004A _min_0: + 830 004A ds 1 + 831 004B _sec_1: + 832 004B ds 1 + 833 004C _sec_0: + 834 004C ds 1 + 835 + 836 psect dataBANK0 + 837 0062 __pdataBANK0: + 838 0062 _year: + 839 0062 ds 2 + 840 0064 _month: + 841 0064 ds 2 + 842 0066 _date: + 843 0066 ds 2 + 844 0068 _hour: + 845 0068 ds 2 + 846 006A _min: + 847 006A ds 2 + 848 006C _sec: + 849 006C ds 2 + 850 006E _temp_sign: + 851 006E ds 1 + 852 + 853 psect bssBANK1 + 854 00A0 __pbssBANK1: + 855 00A0 _buf: + 856 00A0 ds 40 + 857 00C8 _sec_chg: + 858 00C8 ds 2 + 859 00CA _weekday: + 860 00CA ds 2 + 861 00CC _status_reg: + 862 00CC ds 2 + 863 + 864 psect dataBANK1 + 865 00CE __pdataBANK1: + 866 00CE _century: + 867 00CE ds 2 + 868 00D0 _dayofweek: + 869 00D0 ds 2 + 870 + 871 psect inittext + 872 0CF7 init_fetch0: + 873 ; Called with low address in FSR and high address in W + 874 + 875 0CF7 087E movf 126,w + 876 0CF8 008A movwf 10 + 877 0CF9 087F movf 127,w + 878 0CFA 0082 movwf 2 + 879 0CFB init_ram0: + 880 ;Called with: + 881 ; high address of idata address in btemp + 882 ; low address of idata address in btemp+1 + 883 ; low address of data in FSR + 884 ; high address + 1 of data in btemp-1 + 885 + 886 0CFB 24F7 120A 158A fcall init_fetch0 + 887 0CFE 0080 movwf 0 + 888 0CFF 0A84 incf 4,f + 889 0D00 0804 movf 4,w + 890 0D01 067D xorwf 125,w + 891 0D02 1903 btfsc 3,2 + 892 0D03 3400 retlw 0 + 893 0D04 0AFF incf 127,f + 894 0D05 1903 btfsc 3,2 + 895 0D06 0AFE incf 126,f + 896 0D07 2CFB goto init_ram0 + 897 + 898 psect clrtext + 899 0CCE clear_ram0: + 900 ; Called with FSR containing the base address, and + 901 ; W with the last address+1 + 902 + 903 0CCE 0064 clrwdt ;clear the watchdog before getting into this loop + 904 0CCF clrloop0: + 905 0CCF 0180 clrf 0 ;clear RAM location pointed to by FSR + 906 0CD0 0A84 incf 4,f ;increment pointer + 907 0CD1 0604 xorwf 4,w ;XOR with final address + 908 0CD2 1903 btfsc 3,2 ;have we reached the end yet? + 909 0CD3 3400 retlw 0 ;all done for this memory range, return + 910 0CD4 0604 xorwf 4,w ;XOR again to restore value + 911 0CD5 2CCF goto clrloop0 ;do the next byte + 912 + 913 psect cstackCOMMON + 914 0070 __pcstackCOMMON: + 915 0070 ?_Lcd_Init: + 916 0070 ?_display_Intro: + 917 ; 1 bytes @ 0x0 + 918 + 919 0070 ?_display_Lcd_Layout: + 920 ; 1 bytes @ 0x0 + 921 + 922 0070 ?_Update_Current_Date_Time: + 923 ; 1 bytes @ 0x0 + 924 + 925 0070 ?_Read_Alarms_Temp: + 926 ; 1 bytes @ 0x0 + 927 + 928 0070 ?_Get_Alarm_Status: + 929 ; 1 bytes @ 0x0 + 930 + 931 0070 ??_Get_Alarm_Status: + 932 ; 1 bytes @ 0x0 + 933 + 934 0070 ?_format_DateTimeChars: + 935 ; 1 bytes @ 0x0 + 936 + 937 0070 ?_format_Temperature: + 938 ; 1 bytes @ 0x0 + 939 + 940 0070 ?_getWeekDay: + 941 ; 1 bytes @ 0x0 + 942 + 943 0070 ?_update_Display: + 944 ; 1 bytes @ 0x0 + 945 + 946 0070 ?_Lcd_Clear: + 947 ; 1 bytes @ 0x0 + 948 + 949 0070 ?_Lcd_Write_Char: + 950 ; 1 bytes @ 0x0 + 951 + 952 0070 ?_alarm: + 953 ; 1 bytes @ 0x0 + 954 + 955 0070 ?_Lcd_Port: + 956 ; 1 bytes @ 0x0 + 957 + 958 0070 ??_Lcd_Port: + 959 ; 1 bytes @ 0x0 + 960 + 961 0070 ?_Lcd_Cmd: + 962 ; 1 bytes @ 0x0 + 963 + 964 0070 ?_I2C_Master_Wait: + 965 ; 1 bytes @ 0x0 + 966 + 967 0070 ??_I2C_Master_Wait: + 968 ; 1 bytes @ 0x0 + 969 + 970 0070 ?_I2C_Master_Start: + 971 ; 1 bytes @ 0x0 + 972 + 973 0070 ??_I2C_Master_Start: + 974 ; 1 bytes @ 0x0 + 975 + 976 0070 ?_I2C_Master_Repeated_Start: + 977 ; 1 bytes @ 0x0 + 978 + 979 0070 ??_I2C_Master_Repeated_Start: + 980 ; 1 bytes @ 0x0 + 981 + 982 0070 ?_I2C_Master_Stop: + 983 ; 1 bytes @ 0x0 + 984 + 985 0070 ??_I2C_Master_Stop: + 986 ; 1 bytes @ 0x0 + 987 + 988 0070 ?_I2C_Master_Write: + 989 ; 1 bytes @ 0x0 + 990 + 991 0070 ?_main: + 992 ; 1 bytes @ 0x0 + 993 + 994 0070 ?_I2C_Master_Read: + 995 ; 2 bytes @ 0x0 + 996 + 997 0070 ?___wmul: + 998 ; 2 bytes @ 0x0 + 999 + 1000 0070 ?___awdiv: + 1001 ; 2 bytes @ 0x0 + 1002 + 1003 0070 ?___awmod: + 1004 ; 2 bytes @ 0x0 + 1005 + 1006 0070 ?___lwdiv: + 1007 ; 2 bytes @ 0x0 + 1008 + 1009 0070 ?___lwmod: + 1010 ; 2 bytes @ 0x0 + 1011 + 1012 0070 ?___lmul: + 1013 ; 2 bytes @ 0x0 + 1014 + 1015 0070 Lcd_Port@a: + 1016 ; 4 bytes @ 0x0 + 1017 + 1018 0070 getWeekDay@dayofweek: + 1019 ; 1 bytes @ 0x0 + 1020 + 1021 0070 I2C_Master_Write@data: + 1022 ; 2 bytes @ 0x0 + 1023 + 1024 0070 I2C_Master_Read@ack: + 1025 ; 2 bytes @ 0x0 + 1026 + 1027 0070 alarm@numberOfBeeps: + 1028 ; 2 bytes @ 0x0 + 1029 + 1030 0070 ___wmul@multiplier: + 1031 ; 2 bytes @ 0x0 + 1032 + 1033 0070 ___awdiv@divisor: + 1034 ; 2 bytes @ 0x0 + 1035 + 1036 0070 ___awmod@divisor: + 1037 ; 2 bytes @ 0x0 + 1038 + 1039 0070 ___lwdiv@divisor: + 1040 ; 2 bytes @ 0x0 + 1041 + 1042 0070 ___lwmod@divisor: + 1043 ; 2 bytes @ 0x0 + 1044 + 1045 0070 ___lmul@multiplier: + 1046 ; 2 bytes @ 0x0 + 1047 + 1048 + 1049 ; 4 bytes @ 0x0 + 1050 0070 ds 1 + 1051 0071 ??_Lcd_Write_Char: + 1052 0071 ??_Lcd_Cmd: + 1053 ; 1 bytes @ 0x1 + 1054 + 1055 + 1056 ; 1 bytes @ 0x1 + 1057 0071 ds 1 + 1058 0072 ??_getWeekDay: + 1059 0072 ??_alarm: + 1060 ; 1 bytes @ 0x2 + 1061 + 1062 0072 ??_I2C_Master_Write: + 1063 ; 1 bytes @ 0x2 + 1064 + 1065 0072 ??_I2C_Master_Read: + 1066 ; 1 bytes @ 0x2 + 1067 + 1068 0072 Lcd_Write_Char@temp: + 1069 ; 1 bytes @ 0x2 + 1070 + 1071 0072 ___wmul@multiplicand: + 1072 ; 1 bytes @ 0x2 + 1073 + 1074 0072 ___awdiv@dividend: + 1075 ; 2 bytes @ 0x2 + 1076 + 1077 0072 ___awmod@dividend: + 1078 ; 2 bytes @ 0x2 + 1079 + 1080 0072 ___lwdiv@dividend: + 1081 ; 2 bytes @ 0x2 + 1082 + 1083 0072 ___lwmod@dividend: + 1084 ; 2 bytes @ 0x2 + 1085 + 1086 + 1087 ; 2 bytes @ 0x2 + 1088 0072 ds 1 + 1089 0073 Lcd_Cmd@a: + 1090 0073 Lcd_Write_Char@y: + 1091 ; 1 bytes @ 0x3 + 1092 + 1093 + 1094 ; 1 bytes @ 0x3 + 1095 0073 ds 1 + 1096 0074 ??_Lcd_Init: + 1097 0074 ??_Lcd_Clear: + 1098 ; 1 bytes @ 0x4 + 1099 + 1100 0074 ?_Lcd_Set_Cursor: + 1101 ; 1 bytes @ 0x4 + 1102 + 1103 0074 ??___wmul: + 1104 ; 1 bytes @ 0x4 + 1105 + 1106 0074 ??___awdiv: + 1107 ; 1 bytes @ 0x4 + 1108 + 1109 0074 ??___awmod: + 1110 ; 1 bytes @ 0x4 + 1111 + 1112 0074 ??___lwdiv: + 1113 ; 1 bytes @ 0x4 + 1114 + 1115 0074 ??___lwmod: + 1116 ; 1 bytes @ 0x4 + 1117 + 1118 0074 Lcd_Set_Cursor@b: + 1119 ; 1 bytes @ 0x4 + 1120 + 1121 0074 Lcd_Write_Char@a: + 1122 ; 1 bytes @ 0x4 + 1123 + 1124 0074 I2C_Master_Read@incoming: + 1125 ; 1 bytes @ 0x4 + 1126 + 1127 0074 ___wmul@product: + 1128 ; 2 bytes @ 0x4 + 1129 + 1130 0074 ___lmul@multiplicand: + 1131 ; 2 bytes @ 0x4 + 1132 + 1133 + 1134 ; 4 bytes @ 0x4 + 1135 0074 ds 1 + 1136 0075 ??_Lcd_Set_Cursor: + 1137 0075 ?_Lcd_Write_String: + 1138 ; 1 bytes @ 0x5 + 1139 + 1140 0075 ___awdiv@counter: + 1141 ; 1 bytes @ 0x5 + 1142 + 1143 0075 ___awmod@counter: + 1144 ; 1 bytes @ 0x5 + 1145 + 1146 0075 ___lwmod@counter: + 1147 ; 1 bytes @ 0x5 + 1148 + 1149 0075 Lcd_Write_String@a: + 1150 ; 1 bytes @ 0x5 + 1151 + 1152 0075 alarm@i: + 1153 ; 2 bytes @ 0x5 + 1154 + 1155 0075 ___lwdiv@quotient: + 1156 ; 2 bytes @ 0x5 + 1157 + 1158 + 1159 ; 2 bytes @ 0x5 + 1160 0075 ds 1 + 1161 0076 ?_BCD_2_DEC: + 1162 0076 ___awdiv@sign: + 1163 ; 2 bytes @ 0x6 + 1164 + 1165 0076 ___awmod@sign: + 1166 ; 1 bytes @ 0x6 + 1167 + 1168 0076 BCD_2_DEC@to_convert: + 1169 ; 1 bytes @ 0x6 + 1170 + 1171 + 1172 ; 2 bytes @ 0x6 + 1173 0076 ds 1 + 1174 0077 ??_Lcd_Write_String: + 1175 0077 Lcd_Set_Cursor@a: + 1176 ; 1 bytes @ 0x7 + 1177 + 1178 0077 ___lwdiv@counter: + 1179 ; 1 bytes @ 0x7 + 1180 + 1181 0077 Lcd_Write_String@i: + 1182 ; 1 bytes @ 0x7 + 1183 + 1184 0077 alarm@j: + 1185 ; 2 bytes @ 0x7 + 1186 + 1187 0077 ___awdiv@quotient: + 1188 ; 2 bytes @ 0x7 + 1189 + 1190 + 1191 ; 2 bytes @ 0x7 + 1192 0077 ds 1 + 1193 0078 ??_format_DateTimeChars: + 1194 0078 ??_BCD_2_DEC: + 1195 ; 1 bytes @ 0x8 + 1196 + 1197 0078 ??___lmul: + 1198 ; 1 bytes @ 0x8 + 1199 + 1200 0078 Lcd_Set_Cursor@z: + 1201 ; 1 bytes @ 0x8 + 1202 + 1203 + 1204 ; 1 bytes @ 0x8 + 1205 0078 ds 1 + 1206 0079 ??_format_Temperature: + 1207 0079 Lcd_Set_Cursor@y: + 1208 ; 1 bytes @ 0x9 + 1209 + 1210 0079 ___lmul@product: + 1211 ; 1 bytes @ 0x9 + 1212 + 1213 + 1214 ; 4 bytes @ 0x9 + 1215 0079 ds 1 + 1216 007A ??_Update_Current_Date_Time: + 1217 007A ??_Read_Alarms_Temp: + 1218 ; 1 bytes @ 0xA + 1219 + 1220 007A Lcd_Set_Cursor@temp: + 1221 ; 1 bytes @ 0xA + 1222 + 1223 + 1224 ; 1 bytes @ 0xA + 1225 007A ds 1 + 1226 007B ??_display_Intro: + 1227 007B ??_display_Lcd_Layout: + 1228 ; 1 bytes @ 0xB + 1229 + 1230 007B ??_update_Display: + 1231 ; 1 bytes @ 0xB + 1232 + 1233 + 1234 ; 1 bytes @ 0xB + 1235 007B ds 2 + 1236 007D ??___lldiv: + 1237 + 1238 ; 1 bytes @ 0xD + 1239 007D ds 1 + 1240 007E ??_main: + 1241 + 1242 psect cstackBANK0 + 1243 004D __pcstackBANK0: + 1244 ; 1 bytes @ 0xE + 1245 + 1246 004D ?___lldiv: + 1247 004D ___lldiv@divisor: + 1248 ; 4 bytes @ 0x0 + 1249 + 1250 + 1251 ; 4 bytes @ 0x0 + 1252 004D ds 4 + 1253 0051 ___lldiv@dividend: + 1254 + 1255 ; 4 bytes @ 0x4 + 1256 0051 ds 4 + 1257 0055 ___lldiv@quotient: + 1258 + 1259 ; 4 bytes @ 0x8 + 1260 0055 ds 4 + 1261 0059 ___lldiv@counter: + 1262 + 1263 ; 1 bytes @ 0xC + 1264 0059 ds 1 + 1265 005A ?_I2C_Master_Init: + 1266 005A I2C_Master_Init@freq_K: + 1267 ; 1 bytes @ 0xD + 1268 + 1269 + 1270 ; 4 bytes @ 0xD + 1271 005A ds 4 + 1272 005E ??_I2C_Master_Init: + 1273 + 1274 ; 1 bytes @ 0x11 + 1275 005E ds 4 + 1276 + 1277 psect maintext + 1278 024C __pmaintext: + 1279 ;; + 1280 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0 + 1281 ;; + 1282 ;; *************** function _main ***************** + 1283 ;; Defined at: + 1284 ;; line 17 in file "main.c" + 1285 ;; Parameters: Size Location Type + 1286 ;; None + 1287 ;; Auto vars: Size Location Type + 1288 ;; None + 1289 ;; Return value: Size Location Type + 1290 ;; 2 142[None ] int + 1291 ;; Registers used: + 1292 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 1293 ;; Tracked objects: + 1294 ;; On entry : B00/0 + 1295 ;; On exit : 0/0 + 1296 ;; Unchanged: 0/0 + 1297 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1298 ;; Params: 0 0 0 0 0 + 1299 ;; Locals: 0 0 0 0 0 + 1300 ;; Temps: 0 0 0 0 0 + 1301 ;; Totals: 0 0 0 0 0 + 1302 ;;Total ram usage: 0 bytes + 1303 ;; Hardware stack levels required when called: 4 + 1304 ;; This function calls: + 1305 ;; _Get_Alarm_Status + 1306 ;; _I2C_Master_Init + 1307 ;; _Lcd_Init + 1308 ;; _Read_Alarms_Temp + 1309 ;; _Update_Current_Date_Time + 1310 ;; _display_Intro + 1311 ;; _display_Lcd_Layout + 1312 ;; _format_DateTimeChars + 1313 ;; _format_Temperature + 1314 ;; _getWeekDay + 1315 ;; _update_Display + 1316 ;; This function is called by: + 1317 ;; Startup code after reset + 1318 ;; This function uses a non-reentrant model + 1319 ;; + 1320 + 1321 + 1322 ;psect for function _main + 1323 024C _main: + 1324 + 1325 ;main.c: 18: TRISC = 0x00; + 1326 + 1327 ;incstack = 0 + 1328 ; Regs used in _main: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 1329 024C 1683 bsf 3,5 ;RP0=1, select bank1 + 1330 024D 1303 bcf 3,6 ;RP1=0, select bank1 + 1331 024E 0187 clrf 7 ;volatile + 1332 + 1333 ;main.c: 19: PORTC = 0x00; + 1334 024F 1283 bcf 3,5 ;RP0=0, select bank0 + 1335 0250 1303 bcf 3,6 ;RP1=0, select bank0 + 1336 0251 0187 clrf 7 ;volatile + 1337 + 1338 ;main.c: 21: TRISD = 0x00; + 1339 0252 1683 bsf 3,5 ;RP0=1, select bank1 + 1340 0253 1303 bcf 3,6 ;RP1=0, select bank1 + 1341 0254 0188 clrf 8 ;volatile + 1342 + 1343 ;main.c: 22: PORTD = 0x00; + 1344 0255 1283 bcf 3,5 ;RP0=0, select bank0 + 1345 0256 1303 bcf 3,6 ;RP1=0, select bank0 + 1346 0257 0188 clrf 8 ;volatile + 1347 + 1348 ;main.c: 33: I2C_Master_Init(100000); + 1349 0258 3000 movlw 0 + 1350 0259 00DD movwf I2C_Master_Init@freq_K+3 + 1351 025A 3001 movlw 1 + 1352 025B 00DC movwf I2C_Master_Init@freq_K+2 + 1353 025C 3086 movlw 134 + 1354 025D 00DB movwf I2C_Master_Init@freq_K+1 + 1355 025E 30A0 movlw 160 + 1356 025F 00DA movwf I2C_Master_Init@freq_K + 1357 0260 120A 118A 20E6 120A 118A fcall _I2C_Master_Init + 1358 + 1359 ;main.c: 41: Lcd_Init(); + 1360 0265 120A 118A 2190 120A 118A fcall _Lcd_Init + 1361 + 1362 ;main.c: 49: display_Intro(); + 1363 026A 120A 158A 25FE 120A 118A fcall _display_Intro + 1364 + 1365 ;main.c: 50: display_Lcd_Layout(); + 1366 026F 120A 158A 26E7 120A 118A fcall _display_Lcd_Layout + 1367 0274 l2092: + 1368 + 1369 ;main.c: 72: Update_Current_Date_Time(); + 1370 0274 120A 118A 2339 120A 118A fcall _Update_Current_Date_Time + 1371 + 1372 ;main.c: 76: Read_Alarms_Temp(); + 1373 0279 120A 118A 241C 120A 118A fcall _Read_Alarms_Temp + 1374 + 1375 ;main.c: 79: Get_Alarm_Status(); + 1376 027E 120A 158A 2508 120A 118A fcall _Get_Alarm_Status + 1377 + 1378 ;main.c: 83: format_DateTimeChars(); + 1379 0283 120A 118A 261A 120A 118A fcall _format_DateTimeChars + 1380 + 1381 ;main.c: 87: format_Temperature(); + 1382 0288 120A 118A 22B8 120A 118A fcall _format_Temperature + 1383 028D 3007 movlw 7 + 1384 028E 00F0 movwf getWeekDay@dayofweek + 1385 028F 3000 movlw 0 + 1386 0290 00F1 movwf getWeekDay@dayofweek+1 + 1387 0291 120A 118A 2097 120A 118A fcall _getWeekDay + 1388 + 1389 ;main.c: 94: if (sec_chg != sec) { + 1390 0296 1283 bcf 3,5 ;RP0=0, select bank0 + 1391 0297 1303 bcf 3,6 ;RP1=0, select bank0 + 1392 0298 086D movf _sec+1,w + 1393 0299 1683 bsf 3,5 ;RP0=1, select bank1 + 1394 029A 1303 bcf 3,6 ;RP1=0, select bank1 + 1395 029B 0649 xorwf (_sec_chg+1)^(0+128),w + 1396 029C 1D03 skipz + 1397 029D 2AA4 goto u1565 + 1398 029E 1283 bcf 3,5 ;RP0=0, select bank0 + 1399 029F 1303 bcf 3,6 ;RP1=0, select bank0 + 1400 02A0 086C movf _sec,w + 1401 02A1 1683 bsf 3,5 ;RP0=1, select bank1 + 1402 02A2 1303 bcf 3,6 ;RP1=0, select bank1 + 1403 02A3 0648 xorwf _sec_chg^(0+128),w + 1404 02A4 u1565: + 1405 02A4 1903 skipnz + 1406 02A5 2A74 goto l2092 + 1407 + 1408 ;main.c: 96: update_Display(); + 1409 02A6 120A 118A 2513 120A 118A fcall _update_Display + 1410 + 1411 ;main.c: 99: sec_chg = sec; + 1412 02AB 1283 bcf 3,5 ;RP0=0, select bank0 + 1413 02AC 1303 bcf 3,6 ;RP1=0, select bank0 + 1414 02AD 086D movf _sec+1,w + 1415 02AE 1683 bsf 3,5 ;RP0=1, select bank1 + 1416 02AF 1303 bcf 3,6 ;RP1=0, select bank1 + 1417 02B0 00C9 movwf (_sec_chg+1)^(0+128) + 1418 02B1 1283 bcf 3,5 ;RP0=0, select bank0 + 1419 02B2 1303 bcf 3,6 ;RP1=0, select bank0 + 1420 02B3 086C movf _sec,w + 1421 02B4 1683 bsf 3,5 ;RP0=1, select bank1 + 1422 02B5 1303 bcf 3,6 ;RP1=0, select bank1 + 1423 02B6 00C8 movwf _sec_chg^(0+128) + 1424 02B7 2A74 goto l2092 + 1425 02B8 __end_of_main: + 1426 + 1427 psect text1 + 1428 0513 __ptext1: + 1429 ;; *************** function _update_Display ***************** + 1430 ;; Defined at: + 1431 ;; line 248 in file "main.c" + 1432 ;; Parameters: Size Location Type + 1433 ;; None + 1434 ;; Auto vars: Size Location Type + 1435 ;; None + 1436 ;; Return value: Size Location Type + 1437 ;; 1 wreg void + 1438 ;; Registers used: + 1439 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 1440 ;; Tracked objects: + 1441 ;; On entry : 0/0 + 1442 ;; On exit : 0/0 + 1443 ;; Unchanged: 0/0 + 1444 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1445 ;; Params: 0 0 0 0 0 + 1446 ;; Locals: 0 0 0 0 0 + 1447 ;; Temps: 1 0 0 0 0 + 1448 ;; Totals: 1 0 0 0 0 + 1449 ;;Total ram usage: 1 bytes + 1450 ;; Hardware stack levels used: 1 + 1451 ;; Hardware stack levels required when called: 3 + 1452 ;; This function calls: + 1453 ;; _Lcd_Set_Cursor + 1454 ;; _Lcd_Write_Char + 1455 ;; _Lcd_Write_String + 1456 ;; _alarm + 1457 ;; This function is called by: + 1458 ;; _main + 1459 ;; This function uses a non-reentrant model + 1460 ;; + 1461 + 1462 + 1463 ;psect for function _update_Display + 1464 0513 _update_Display: + 1465 + 1466 ;main.c: 250: Lcd_Set_Cursor(1, 1); + 1467 + 1468 ;incstack = 0 + 1469 ; Regs used in _update_Display: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 1470 0513 01F4 clrf Lcd_Set_Cursor@b + 1471 0514 0AF4 incf Lcd_Set_Cursor@b,f + 1472 0515 3001 movlw 1 + 1473 0516 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1474 + 1475 ;main.c: 251: Lcd_Write_Char(hour_1); + 1476 051B 1283 bcf 3,5 ;RP0=0, select bank0 + 1477 051C 1303 bcf 3,6 ;RP1=0, select bank0 + 1478 051D 0847 movf _hour_1,w + 1479 051E 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1480 + 1481 ;main.c: 252: Lcd_Write_Char(hour_0); + 1482 0523 1283 bcf 3,5 ;RP0=0, select bank0 + 1483 0524 1303 bcf 3,6 ;RP1=0, select bank0 + 1484 0525 0848 movf _hour_0,w + 1485 0526 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1486 + 1487 ;main.c: 255: Lcd_Set_Cursor(1, 4); + 1488 052B 3004 movlw 4 + 1489 052C 00FB movwf ??_update_Display + 1490 052D 087B movf ??_update_Display,w + 1491 052E 00F4 movwf Lcd_Set_Cursor@b + 1492 052F 3001 movlw 1 + 1493 0530 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1494 + 1495 ;main.c: 256: Lcd_Write_Char(min_1); + 1496 0535 1283 bcf 3,5 ;RP0=0, select bank0 + 1497 0536 1303 bcf 3,6 ;RP1=0, select bank0 + 1498 0537 0849 movf _min_1,w + 1499 0538 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1500 + 1501 ;main.c: 257: Lcd_Write_Char(min_0); + 1502 053D 1283 bcf 3,5 ;RP0=0, select bank0 + 1503 053E 1303 bcf 3,6 ;RP1=0, select bank0 + 1504 053F 084A movf _min_0,w + 1505 0540 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1506 + 1507 ;main.c: 260: Lcd_Set_Cursor(1, 7); + 1508 0545 3007 movlw 7 + 1509 0546 00FB movwf ??_update_Display + 1510 0547 087B movf ??_update_Display,w + 1511 0548 00F4 movwf Lcd_Set_Cursor@b + 1512 0549 3001 movlw 1 + 1513 054A 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1514 + 1515 ;main.c: 261: Lcd_Write_Char(sec_1); + 1516 054F 1283 bcf 3,5 ;RP0=0, select bank0 + 1517 0550 1303 bcf 3,6 ;RP1=0, select bank0 + 1518 0551 084B movf _sec_1,w + 1519 0552 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1520 + 1521 ;main.c: 262: Lcd_Write_Char(sec_0); + 1522 0557 1283 bcf 3,5 ;RP0=0, select bank0 + 1523 0558 1303 bcf 3,6 ;RP1=0, select bank0 + 1524 0559 084C movf _sec_0,w + 1525 055A 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1526 + 1527 ;main.c: 265: Lcd_Set_Cursor(2, 6); + 1528 055F 3006 movlw 6 + 1529 0560 00FB movwf ??_update_Display + 1530 0561 087B movf ??_update_Display,w + 1531 0562 00F4 movwf Lcd_Set_Cursor@b + 1532 0563 3002 movlw 2 + 1533 0564 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1534 + 1535 ;main.c: 266: Lcd_Write_Char(day_1); + 1536 0569 1283 bcf 3,5 ;RP0=0, select bank0 + 1537 056A 1303 bcf 3,6 ;RP1=0, select bank0 + 1538 056B 0845 movf _day_1,w + 1539 056C 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1540 + 1541 ;main.c: 267: Lcd_Write_Char(day_0); + 1542 0571 1283 bcf 3,5 ;RP0=0, select bank0 + 1543 0572 1303 bcf 3,6 ;RP1=0, select bank0 + 1544 0573 0846 movf _day_0,w + 1545 0574 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1546 + 1547 ;main.c: 270: Lcd_Set_Cursor(2, 9); + 1548 0579 3009 movlw 9 + 1549 057A 00FB movwf ??_update_Display + 1550 057B 087B movf ??_update_Display,w + 1551 057C 00F4 movwf Lcd_Set_Cursor@b + 1552 057D 3002 movlw 2 + 1553 057E 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1554 + 1555 ;main.c: 271: Lcd_Write_Char(month_1); + 1556 0583 1283 bcf 3,5 ;RP0=0, select bank0 + 1557 0584 1303 bcf 3,6 ;RP1=0, select bank0 + 1558 0585 0843 movf _month_1,w + 1559 0586 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1560 + 1561 ;main.c: 272: Lcd_Write_Char(month_0); + 1562 058B 1283 bcf 3,5 ;RP0=0, select bank0 + 1563 058C 1303 bcf 3,6 ;RP1=0, select bank0 + 1564 058D 0844 movf _month_0,w + 1565 058E 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1566 + 1567 ;main.c: 275: Lcd_Set_Cursor(2, 12); + 1568 0593 300C movlw 12 + 1569 0594 00FB movwf ??_update_Display + 1570 0595 087B movf ??_update_Display,w + 1571 0596 00F4 movwf Lcd_Set_Cursor@b + 1572 0597 3002 movlw 2 + 1573 0598 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1574 + 1575 ;main.c: 276: Lcd_Write_Char(year_1); + 1576 059D 1283 bcf 3,5 ;RP0=0, select bank0 + 1577 059E 1303 bcf 3,6 ;RP1=0, select bank0 + 1578 059F 0841 movf _year_1,w + 1579 05A0 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1580 + 1581 ;main.c: 277: Lcd_Write_Char(year_0); + 1582 05A5 1283 bcf 3,5 ;RP0=0, select bank0 + 1583 05A6 1303 bcf 3,6 ;RP1=0, select bank0 + 1584 05A7 0842 movf _year_0,w + 1585 05A8 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1586 + 1587 ;main.c: 280: Lcd_Set_Cursor(2, 1); + 1588 05AD 01F4 clrf Lcd_Set_Cursor@b + 1589 05AE 0AF4 incf Lcd_Set_Cursor@b,f + 1590 05AF 3002 movlw 2 + 1591 05B0 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1592 + 1593 ;main.c: 281: Lcd_Write_String(weekday); + 1594 05B5 1683 bsf 3,5 ;RP0=1, select bank1 + 1595 05B6 1303 bcf 3,6 ;RP1=0, select bank1 + 1596 05B7 084A movf _weekday^(0+128),w + 1597 05B8 00F5 movwf Lcd_Write_String@a + 1598 05B9 084B movf (_weekday+1)^(0+128),w + 1599 05BA 00F6 movwf Lcd_Write_String@a+1 + 1600 05BB 120A 158A 259F 120A 118A fcall _Lcd_Write_String + 1601 + 1602 ;main.c: 284: Lcd_Set_Cursor(1, 10); + 1603 05C0 300A movlw 10 + 1604 05C1 00FB movwf ??_update_Display + 1605 05C2 087B movf ??_update_Display,w + 1606 05C3 00F4 movwf Lcd_Set_Cursor@b + 1607 05C4 3001 movlw 1 + 1608 05C5 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1609 + 1610 ;main.c: 285: Lcd_Write_Char(temp_sign); + 1611 05CA 1283 bcf 3,5 ;RP0=0, select bank0 + 1612 05CB 1303 bcf 3,6 ;RP1=0, select bank0 + 1613 05CC 086E movf _temp_sign,w + 1614 05CD 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1615 + 1616 ;main.c: 286: Lcd_Write_Char(temp_2); + 1617 05D2 1283 bcf 3,5 ;RP0=0, select bank0 + 1618 05D3 1303 bcf 3,6 ;RP1=0, select bank0 + 1619 05D4 083E movf _temp_2,w + 1620 05D5 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1621 + 1622 ;main.c: 287: Lcd_Write_Char(temp_1); + 1623 05DA 1283 bcf 3,5 ;RP0=0, select bank0 + 1624 05DB 1303 bcf 3,6 ;RP1=0, select bank0 + 1625 05DC 083F movf _temp_1,w + 1626 05DD 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1627 + 1628 ;main.c: 288: Lcd_Set_Cursor(1, 14); + 1629 05E2 300E movlw 14 + 1630 05E3 00FB movwf ??_update_Display + 1631 05E4 087B movf ??_update_Display,w + 1632 05E5 00F4 movwf Lcd_Set_Cursor@b + 1633 05E6 3001 movlw 1 + 1634 05E7 120A 158A 276B 120A 118A fcall _Lcd_Set_Cursor + 1635 + 1636 ;main.c: 289: Lcd_Write_Char(temp_0); + 1637 05EC 1283 bcf 3,5 ;RP0=0, select bank0 + 1638 05ED 1303 bcf 3,6 ;RP1=0, select bank0 + 1639 05EE 0840 movf _temp_0,w + 1640 05EF 120A 158A 2633 120A 118A fcall _Lcd_Write_Char + 1641 + 1642 ;main.c: 291: if (min == 00 && sec == 00) { + 1643 05F4 1283 bcf 3,5 ;RP0=0, select bank0 + 1644 05F5 1303 bcf 3,6 ;RP1=0, select bank0 + 1645 05F6 086A movf _min,w + 1646 05F7 046B iorwf _min+1,w + 1647 05F8 1D03 btfss 3,2 + 1648 05F9 2E07 goto l2072 + 1649 05FA 086C movf _sec,w + 1650 05FB 046D iorwf _sec+1,w + 1651 05FC 1D03 btfss 3,2 + 1652 05FD 2E07 goto l2072 + 1653 + 1654 ;main.c: 292: alarm(2); + 1655 05FE 3002 movlw 2 + 1656 05FF 00F0 movwf alarm@numberOfBeeps + 1657 0600 3000 movlw 0 + 1658 0601 00F1 movwf alarm@numberOfBeeps+1 + 1659 0602 120A 158A 2728 120A 118A fcall _alarm + 1660 0607 l2072: + 1661 + 1662 ;main.c: 295: if (min == 30 && sec == 00) { + 1663 0607 301E movlw 30 + 1664 0608 1283 bcf 3,5 ;RP0=0, select bank0 + 1665 0609 1303 bcf 3,6 ;RP1=0, select bank0 + 1666 060A 066A xorwf _min,w + 1667 060B 046B iorwf _min+1,w + 1668 060C 1D03 btfss 3,2 + 1669 060D 0008 return + 1670 060E 086C movf _sec,w + 1671 060F 046D iorwf _sec+1,w + 1672 0610 1D03 btfss 3,2 + 1673 0611 0008 return + 1674 + 1675 ;main.c: 296: alarm(1); + 1676 0612 3001 movlw 1 + 1677 0613 00F0 movwf alarm@numberOfBeeps + 1678 0614 3000 movlw 0 + 1679 0615 00F1 movwf alarm@numberOfBeeps+1 + 1680 0616 120A 158A 2728 fcall _alarm + 1681 0619 0008 return + 1682 061A __end_of_update_Display: + 1683 + 1684 psect text2 + 1685 0F28 __ptext2: + 1686 ;; *************** function _alarm ***************** + 1687 ;; Defined at: + 1688 ;; line 4 in file "beep.c" + 1689 ;; Parameters: Size Location Type + 1690 ;; numberOfBeep 2 0[COMMON] unsigned int + 1691 ;; Auto vars: Size Location Type + 1692 ;; j 2 7[COMMON] int + 1693 ;; i 2 5[COMMON] int + 1694 ;; Return value: Size Location Type + 1695 ;; 1 wreg void + 1696 ;; Registers used: + 1697 ;; wreg, status,2, btemp+1 + 1698 ;; Tracked objects: + 1699 ;; On entry : 0/0 + 1700 ;; On exit : 0/0 + 1701 ;; Unchanged: 0/0 + 1702 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1703 ;; Params: 2 0 0 0 0 + 1704 ;; Locals: 4 0 0 0 0 + 1705 ;; Temps: 3 0 0 0 0 + 1706 ;; Totals: 9 0 0 0 0 + 1707 ;;Total ram usage: 9 bytes + 1708 ;; Hardware stack levels used: 1 + 1709 ;; This function calls: + 1710 ;; Nothing + 1711 ;; This function is called by: + 1712 ;; _update_Display + 1713 ;; This function uses a non-reentrant model + 1714 ;; + 1715 + 1716 + 1717 ;psect for function _alarm + 1718 0F28 _alarm: + 1719 + 1720 ;beep.c: 5: for (int i = 0; i < numberOfBeeps; i++) { + 1721 + 1722 ;incstack = 0 + 1723 ; Regs used in _alarm: [wreg+status,2+btemp+1] + 1724 0F28 01F5 clrf alarm@i + 1725 0F29 01F6 clrf alarm@i+1 + 1726 0F2A l487: + 1727 0F2A 0871 movf alarm@numberOfBeeps+1,w + 1728 0F2B 0276 subwf alarm@i+1,w + 1729 0F2C 1D03 skipz + 1730 0F2D 2F30 goto u985 + 1731 0F2E 0870 movf alarm@numberOfBeeps,w + 1732 0F2F 0275 subwf alarm@i,w + 1733 0F30 u985: + 1734 0F30 1803 btfsc 3,0 + 1735 0F31 0008 return + 1736 + 1737 ;beep.c: 6: for (int j = 0; j < 250; j++) { + 1738 0F32 01F7 clrf alarm@j + 1739 0F33 01F8 clrf alarm@j+1 + 1740 0F34 l489: + 1741 + 1742 ;beep.c: 7: RD1 = 1; + 1743 0F34 1283 bcf 3,5 ;RP0=0, select bank0 + 1744 0F35 1303 bcf 3,6 ;RP1=0, select bank0 + 1745 0F36 1488 bsf 8,1 ;volatile + 1746 + 1747 ;beep.c: 8: _delay((unsigned long)((375)*(20000000/4000000.0))); + 1748 0F37 3003 movlw 3 + 1749 0F38 00F3 movwf ??_alarm+1 + 1750 0F39 306E movlw 110 + 1751 0F3A 00F2 movwf ??_alarm + 1752 0F3B u1577: + 1753 0F3B 0BF2 decfsz ??_alarm,f + 1754 0F3C 2F3B goto u1577 + 1755 0F3D 0BF3 decfsz ??_alarm+1,f + 1756 0F3E 2F3B goto u1577 + 1757 + 1758 ;beep.c: 9: RD1 = 0; + 1759 0F3F 1283 bcf 3,5 ;RP0=0, select bank0 + 1760 0F40 1303 bcf 3,6 ;RP1=0, select bank0 + 1761 0F41 1088 bcf 8,1 ;volatile + 1762 + 1763 ;beep.c: 10: _delay((unsigned long)((125)*(20000000/4000000.0))); + 1764 0F42 30D0 movlw 208 + 1765 0F43 00F2 movwf ??_alarm + 1766 0F44 u1587: + 1767 0F44 0BF2 decfsz ??_alarm,f + 1768 0F45 2F44 goto u1587 + 1769 + 1770 ;beep.c: 11: } + 1771 0F46 3001 movlw 1 + 1772 0F47 07F7 addwf alarm@j,f + 1773 0F48 1803 skipnc + 1774 0F49 0AF8 incf alarm@j+1,f + 1775 0F4A 3000 movlw 0 + 1776 0F4B 07F8 addwf alarm@j+1,f + 1777 0F4C 0878 movf alarm@j+1,w + 1778 0F4D 3A80 xorlw 128 + 1779 0F4E 00FF movwf 127 + 1780 0F4F 3080 movlw 128 + 1781 0F50 027F subwf 127,w + 1782 0F51 1D03 skipz + 1783 0F52 2F55 goto u975 + 1784 0F53 30FA movlw 250 + 1785 0F54 0277 subwf alarm@j,w + 1786 0F55 u975: + 1787 0F55 1C03 skipc + 1788 0F56 2F34 goto l489 + 1789 + 1790 ;beep.c: 13: _delay((unsigned long)((500)*(20000000/4000.0))); + 1791 0F57 300D movlw 13 + 1792 0F58 00F4 movwf ??_alarm+2 + 1793 0F59 30AF movlw 175 + 1794 0F5A 00F3 movwf ??_alarm+1 + 1795 0F5B 30B6 movlw 182 + 1796 0F5C 00F2 movwf ??_alarm + 1797 0F5D u1597: + 1798 0F5D 0BF2 decfsz ??_alarm,f + 1799 0F5E 2F5D goto u1597 + 1800 0F5F 0BF3 decfsz ??_alarm+1,f + 1801 0F60 2F5D goto u1597 + 1802 0F61 0BF4 decfsz ??_alarm+2,f + 1803 0F62 2F5D goto u1597 + 1804 0F63 0000 nop + 1805 + 1806 ;beep.c: 14: } + 1807 0F64 3001 movlw 1 + 1808 0F65 07F5 addwf alarm@i,f + 1809 0F66 1803 skipnc + 1810 0F67 0AF6 incf alarm@i+1,f + 1811 0F68 3000 movlw 0 + 1812 0F69 07F6 addwf alarm@i+1,f + 1813 0F6A 2F2A goto l487 + 1814 0F6B __end_of_alarm: + 1815 + 1816 psect text3 + 1817 0097 __ptext3: + 1818 ;; *************** function _getWeekDay ***************** + 1819 ;; Defined at: + 1820 ;; line 193 in file "main.c" + 1821 ;; Parameters: Size Location Type + 1822 ;; dayofweek 2 0[COMMON] unsigned int + 1823 ;; Auto vars: Size Location Type + 1824 ;; None + 1825 ;; Return value: Size Location Type + 1826 ;; 1 wreg void + 1827 ;; Registers used: + 1828 ;; wreg, fsr0l, fsr0h, status,2, status,0 + 1829 ;; Tracked objects: + 1830 ;; On entry : 0/0 + 1831 ;; On exit : 0/0 + 1832 ;; Unchanged: 0/0 + 1833 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1834 ;; Params: 2 0 0 0 0 + 1835 ;; Locals: 0 0 0 0 0 + 1836 ;; Temps: 0 0 0 0 0 + 1837 ;; Totals: 2 0 0 0 0 + 1838 ;;Total ram usage: 2 bytes + 1839 ;; Hardware stack levels used: 1 + 1840 ;; This function calls: + 1841 ;; Nothing + 1842 ;; This function is called by: + 1843 ;; _main + 1844 ;; This function uses a non-reentrant model + 1845 ;; + 1846 + 1847 + 1848 ;psect for function _getWeekDay + 1849 0097 _getWeekDay: + 1850 + 1851 ;main.c: 194: switch (dayofweek) { + 1852 + 1853 ;incstack = 0 + 1854 ; Regs used in _getWeekDay: [wreg-fsr0h+status,2+status,0] + 1855 0097 28C9 goto l2044 + 1856 0098 l2028: + 1857 + 1858 ;main.c: 196: weekday = "Sun"; + 1859 0098 3051 movlw (low ((STR_1-__stringbase)| (0+32768)))& (0+255) + 1860 0099 1683 bsf 3,5 ;RP0=1, select bank1 + 1861 009A 1303 bcf 3,6 ;RP1=0, select bank1 + 1862 009B 00CA movwf _weekday^(0+128) + 1863 009C 3080 movlw 128 + 1864 009D 00CB movwf (_weekday+1)^(0+128) + 1865 + 1866 ;main.c: 197: break; + 1867 009E 0008 return + 1868 009F l2030: + 1869 + 1870 ;main.c: 199: weekday = "Mon"; + 1871 009F 304D movlw (low ((STR_2-__stringbase)| (0+32768)))& (0+255) + 1872 00A0 1683 bsf 3,5 ;RP0=1, select bank1 + 1873 00A1 1303 bcf 3,6 ;RP1=0, select bank1 + 1874 00A2 00CA movwf _weekday^(0+128) + 1875 00A3 3080 movlw 128 + 1876 00A4 00CB movwf (_weekday+1)^(0+128) + 1877 + 1878 ;main.c: 200: break; + 1879 00A5 0008 return + 1880 00A6 l2032: + 1881 + 1882 ;main.c: 202: weekday = "Tue"; + 1883 00A6 3045 movlw (low ((STR_3-__stringbase)| (0+32768)))& (0+255) + 1884 00A7 1683 bsf 3,5 ;RP0=1, select bank1 + 1885 00A8 1303 bcf 3,6 ;RP1=0, select bank1 + 1886 00A9 00CA movwf _weekday^(0+128) + 1887 00AA 3080 movlw 128 + 1888 00AB 00CB movwf (_weekday+1)^(0+128) + 1889 + 1890 ;main.c: 203: break; + 1891 00AC 0008 return + 1892 00AD l2034: + 1893 + 1894 ;main.c: 205: weekday = "Wed"; + 1895 00AD 3041 movlw (low ((STR_4-__stringbase)| (0+32768)))& (0+255) + 1896 00AE 1683 bsf 3,5 ;RP0=1, select bank1 + 1897 00AF 1303 bcf 3,6 ;RP1=0, select bank1 + 1898 00B0 00CA movwf _weekday^(0+128) + 1899 00B1 3080 movlw 128 + 1900 00B2 00CB movwf (_weekday+1)^(0+128) + 1901 + 1902 ;main.c: 206: break; + 1903 00B3 0008 return + 1904 00B4 l2036: + 1905 + 1906 ;main.c: 208: weekday = "Thu"; + 1907 00B4 3059 movlw (low ((STR_5-__stringbase)| (0+32768)))& (0+255) + 1908 00B5 1683 bsf 3,5 ;RP0=1, select bank1 + 1909 00B6 1303 bcf 3,6 ;RP1=0, select bank1 + 1910 00B7 00CA movwf _weekday^(0+128) + 1911 00B8 3080 movlw 128 + 1912 00B9 00CB movwf (_weekday+1)^(0+128) + 1913 + 1914 ;main.c: 209: break; + 1915 00BA 0008 return + 1916 00BB l2038: + 1917 + 1918 ;main.c: 211: weekday = "Fri"; + 1919 00BB 3049 movlw (low ((STR_6-__stringbase)| (0+32768)))& (0+255) + 1920 00BC 1683 bsf 3,5 ;RP0=1, select bank1 + 1921 00BD 1303 bcf 3,6 ;RP1=0, select bank1 + 1922 00BE 00CA movwf _weekday^(0+128) + 1923 00BF 3080 movlw 128 + 1924 00C0 00CB movwf (_weekday+1)^(0+128) + 1925 + 1926 ;main.c: 212: break; + 1927 00C1 0008 return + 1928 00C2 l2040: + 1929 + 1930 ;main.c: 214: weekday = "Sat"; + 1931 00C2 3055 movlw (low ((STR_7-__stringbase)| (0+32768)))& (0+255) + 1932 00C3 1683 bsf 3,5 ;RP0=1, select bank1 + 1933 00C4 1303 bcf 3,6 ;RP1=0, select bank1 + 1934 00C5 00CA movwf _weekday^(0+128) + 1935 00C6 3080 movlw 128 + 1936 00C7 00CB movwf (_weekday+1)^(0+128) + 1937 + 1938 ;main.c: 215: break; + 1939 00C8 0008 return + 1940 00C9 l2044: + 1941 + 1942 ; Switch on 2 bytes has been partitioned into a top level switch of size 1, and 1 sub-sw + + itches + 1943 ; Switch size 1, requested type "simple" + 1944 ; Number of cases is 1, Range of values is 0 to 0 + 1945 ; switch strategies available: + 1946 ; Name Instructions Cycles + 1947 ; simple_byte 4 3 (average) + 1948 ; direct_byte 11 8 (fixed) + 1949 ; jumptable 260 6 (fixed) + 1950 ; Chosen strategy is simple_byte + 1951 00C9 0871 movf getWeekDay@dayofweek+1,w + 1952 00CA 3A00 xorlw 0 ; case 0 + 1953 00CB 1903 skipnz + 1954 00CC 28CE goto l2146 + 1955 00CD 28E5 goto l171 + 1956 00CE l2146: + 1957 + 1958 ; Switch size 1, requested type "simple" + 1959 ; Number of cases is 7, Range of values is 1 to 7 + 1960 ; switch strategies available: + 1961 ; Name Instructions Cycles + 1962 ; simple_byte 22 12 (average) + 1963 ; direct_byte 32 11 (fixed) + 1964 ; jumptable 263 9 (fixed) + 1965 ; Chosen strategy is simple_byte + 1966 00CE 0870 movf getWeekDay@dayofweek,w + 1967 00CF 3A01 xorlw 1 ; case 1 + 1968 00D0 1903 skipnz + 1969 00D1 2898 goto l2028 + 1970 00D2 3A03 xorlw 3 ; case 2 + 1971 00D3 1903 skipnz + 1972 00D4 289F goto l2030 + 1973 00D5 3A01 xorlw 1 ; case 3 + 1974 00D6 1903 skipnz + 1975 00D7 28A6 goto l2032 + 1976 00D8 3A07 xorlw 7 ; case 4 + 1977 00D9 1903 skipnz + 1978 00DA 28AD goto l2034 + 1979 00DB 3A01 xorlw 1 ; case 5 + 1980 00DC 1903 skipnz + 1981 00DD 28B4 goto l2036 + 1982 00DE 3A03 xorlw 3 ; case 6 + 1983 00DF 1903 skipnz + 1984 00E0 28BB goto l2038 + 1985 00E1 3A01 xorlw 1 ; case 7 + 1986 00E2 1903 skipnz + 1987 00E3 28C2 goto l2040 + 1988 00E4 28E5 goto l171 + 1989 00E5 l171: + 1990 00E5 0008 return + 1991 00E6 __end_of_getWeekDay: + 1992 + 1993 psect text4 + 1994 02B8 __ptext4: + 1995 ;; *************** function _format_Temperature ***************** + 1996 ;; Defined at: + 1997 ;; line 156 in file "main.c" + 1998 ;; Parameters: Size Location Type + 1999 ;; None + 2000 ;; Auto vars: Size Location Type + 2001 ;; None + 2002 ;; Return value: Size Location Type + 2003 ;; 1 wreg void + 2004 ;; Registers used: + 2005 ;; wreg, status,2, status,0, pclath, cstack + 2006 ;; Tracked objects: + 2007 ;; On entry : 0/0 + 2008 ;; On exit : 0/0 + 2009 ;; Unchanged: 0/0 + 2010 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2011 ;; Params: 0 0 0 0 0 + 2012 ;; Locals: 0 0 0 0 0 + 2013 ;; Temps: 1 0 0 0 0 + 2014 ;; Totals: 1 0 0 0 0 + 2015 ;;Total ram usage: 1 bytes + 2016 ;; Hardware stack levels used: 1 + 2017 ;; Hardware stack levels required when called: 1 + 2018 ;; This function calls: + 2019 ;; ___awdiv + 2020 ;; ___awmod + 2021 ;; ___wmul + 2022 ;; This function is called by: + 2023 ;; _main + 2024 ;; This function uses a non-reentrant model + 2025 ;; + 2026 + 2027 + 2028 ;psect for function _format_Temperature + 2029 02B8 _format_Temperature: + 2030 + 2031 ;main.c: 158: if (temperature_msb < 0) { + 2032 + 2033 ;incstack = 0 + 2034 ; Regs used in _format_Temperature: [wreg+status,2+status,0+pclath+cstack] + 2035 02B8 1283 bcf 3,5 ;RP0=0, select bank0 + 2036 02B9 1303 bcf 3,6 ;RP1=0, select bank0 + 2037 02BA 1FA1 btfss _temperature_msb+1,7 + 2038 02BB 2AD1 goto l2000 + 2039 + 2040 ;main.c: 159: temperature_msb *= -1; + 2041 02BC 30FF movlw 255 + 2042 02BD 00F0 movwf ___wmul@multiplier + 2043 02BE 30FF movlw 255 + 2044 02BF 00F1 movwf ___wmul@multiplier+1 + 2045 02C0 0821 movf _temperature_msb+1,w + 2046 02C1 00F3 movwf ___wmul@multiplicand+1 + 2047 02C2 0820 movf _temperature_msb,w + 2048 02C3 00F2 movwf ___wmul@multiplicand + 2049 02C4 120A 158A 2552 120A 118A fcall ___wmul + 2050 02C9 0871 movf ?___wmul+1,w + 2051 02CA 1283 bcf 3,5 ;RP0=0, select bank0 + 2052 02CB 1303 bcf 3,6 ;RP1=0, select bank0 + 2053 02CC 00A1 movwf _temperature_msb+1 + 2054 02CD 0870 movf ?___wmul,w + 2055 02CE 00A0 movwf _temperature_msb + 2056 + 2057 ;main.c: 160: temp_sign = '-'; + 2058 02CF 302D movlw 45 + 2059 02D0 2AD2 goto L1 + 2060 02D1 l2000: + 2061 ;main.c: 161: } else { + 2062 + 2063 + 2064 ;main.c: 162: temp_sign = '+'; + 2065 02D1 302B movlw 43 + 2066 02D2 L1: + 2067 02D2 00F9 movwf ??_format_Temperature + 2068 02D3 0879 movf ??_format_Temperature,w + 2069 02D4 00EE movwf _temp_sign + 2070 + 2071 ;main.c: 166: temperature_lsb >>= 6; + 2072 02D5 3006 movlw 6 + 2073 02D6 u1475: + 2074 02D6 1003 clrc + 2075 02D7 0CA3 rrf _temperature_lsb+1,f + 2076 02D8 0CA2 rrf _temperature_lsb,f + 2077 02D9 3EFF addlw -1 + 2078 02DA 1D03 skipz + 2079 02DB 2AD6 goto u1475 + 2080 + 2081 ;main.c: 169: temperature_lsb *= 25; + 2082 02DC 3019 movlw 25 + 2083 02DD 00F0 movwf ___wmul@multiplier + 2084 02DE 3000 movlw 0 + 2085 02DF 00F1 movwf ___wmul@multiplier+1 + 2086 02E0 0823 movf _temperature_lsb+1,w + 2087 02E1 00F3 movwf ___wmul@multiplicand+1 + 2088 02E2 0822 movf _temperature_lsb,w + 2089 02E3 00F2 movwf ___wmul@multiplicand + 2090 02E4 120A 158A 2552 120A 118A fcall ___wmul + 2091 02E9 0871 movf ?___wmul+1,w + 2092 02EA 1283 bcf 3,5 ;RP0=0, select bank0 + 2093 02EB 1303 bcf 3,6 ;RP1=0, select bank0 + 2094 02EC 00A3 movwf _temperature_lsb+1 + 2095 02ED 0870 movf ?___wmul,w + 2096 02EE 00A2 movwf _temperature_lsb + 2097 + 2098 ;main.c: 171: if (temperature_lsb == 0) { + 2099 02EF 0822 movf _temperature_lsb,w + 2100 02F0 0423 iorwf _temperature_lsb+1,w + 2101 02F1 1D03 btfss 3,2 + 2102 02F2 2AF7 goto l2010 + 2103 + 2104 ;main.c: 172: temp_0 = '0'; + 2105 02F3 3030 movlw 48 + 2106 02F4 00F9 movwf ??_format_Temperature + 2107 02F5 0879 movf ??_format_Temperature,w + 2108 02F6 00C0 movwf _temp_0 + 2109 02F7 l2010: + 2110 + 2111 ;main.c: 175: if (temperature_lsb == 25) { + 2112 02F7 3019 movlw 25 + 2113 02F8 0622 xorwf _temperature_lsb,w + 2114 02F9 0423 iorwf _temperature_lsb+1,w + 2115 02FA 1D03 btfss 3,2 + 2116 02FB 2B00 goto l2014 + 2117 + 2118 ;main.c: 176: temp_0 = '2'; + 2119 02FC 3032 movlw 50 + 2120 02FD 00F9 movwf ??_format_Temperature + 2121 02FE 0879 movf ??_format_Temperature,w + 2122 02FF 00C0 movwf _temp_0 + 2123 0300 l2014: + 2124 + 2125 ;main.c: 179: if (temperature_lsb == 50) { + 2126 0300 3032 movlw 50 + 2127 0301 0622 xorwf _temperature_lsb,w + 2128 0302 0423 iorwf _temperature_lsb+1,w + 2129 0303 1D03 btfss 3,2 + 2130 0304 2B09 goto l2018 + 2131 + 2132 ;main.c: 180: temp_0 = '5'; + 2133 0305 3035 movlw 53 + 2134 0306 00F9 movwf ??_format_Temperature + 2135 0307 0879 movf ??_format_Temperature,w + 2136 0308 00C0 movwf _temp_0 + 2137 0309 l2018: + 2138 + 2139 ;main.c: 183: if (temperature_lsb == 75) { + 2140 0309 304B movlw 75 + 2141 030A 0622 xorwf _temperature_lsb,w + 2142 030B 0423 iorwf _temperature_lsb+1,w + 2143 030C 1D03 btfss 3,2 + 2144 030D 2B12 goto l2022 + 2145 + 2146 ;main.c: 184: temp_0 = '7'; + 2147 030E 3037 movlw 55 + 2148 030F 00F9 movwf ??_format_Temperature + 2149 0310 0879 movf ??_format_Temperature,w + 2150 0311 00C0 movwf _temp_0 + 2151 0312 l2022: + 2152 + 2153 ;main.c: 187: temp_1 = temperature_msb % 10 + '0'; + 2154 0312 300A movlw 10 + 2155 0313 00F0 movwf ___awmod@divisor + 2156 0314 3000 movlw 0 + 2157 0315 00F1 movwf ___awmod@divisor+1 + 2158 0316 0821 movf _temperature_msb+1,w + 2159 0317 00F3 movwf ___awmod@dividend+1 + 2160 0318 0820 movf _temperature_msb,w + 2161 0319 00F2 movwf ___awmod@dividend + 2162 031A 120A 158A 27B5 120A 118A fcall ___awmod + 2163 031F 0870 movf ?___awmod,w + 2164 0320 3E30 addlw 48 + 2165 0321 00F9 movwf ??_format_Temperature + 2166 0322 0879 movf ??_format_Temperature,w + 2167 0323 1283 bcf 3,5 ;RP0=0, select bank0 + 2168 0324 1303 bcf 3,6 ;RP1=0, select bank0 + 2169 0325 00BF movwf _temp_1 + 2170 + 2171 ;main.c: 188: temp_2 = temperature_msb / 10 + '0'; + 2172 0326 300A movlw 10 + 2173 0327 00F0 movwf ___awdiv@divisor + 2174 0328 3000 movlw 0 + 2175 0329 00F1 movwf ___awdiv@divisor+1 + 2176 032A 0821 movf _temperature_msb+1,w + 2177 032B 00F3 movwf ___awdiv@dividend+1 + 2178 032C 0820 movf _temperature_msb,w + 2179 032D 00F2 movwf ___awdiv@dividend + 2180 032E 120A 118A 2137 fcall ___awdiv + 2181 0331 0870 movf ?___awdiv,w + 2182 0332 3E30 addlw 48 + 2183 0333 00F9 movwf ??_format_Temperature + 2184 0334 0879 movf ??_format_Temperature,w + 2185 0335 1283 bcf 3,5 ;RP0=0, select bank0 + 2186 0336 1303 bcf 3,6 ;RP1=0, select bank0 + 2187 0337 00BE movwf _temp_2 + 2188 0338 0008 return + 2189 0339 __end_of_format_Temperature: + 2190 + 2191 psect text5 + 2192 0FB5 __ptext5: + 2193 ;; *************** function ___awmod ***************** + 2194 ;; Defined at: + 2195 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\awmod.c" + 2196 ;; Parameters: Size Location Type + 2197 ;; divisor 2 0[COMMON] int + 2198 ;; dividend 2 2[COMMON] int + 2199 ;; Auto vars: Size Location Type + 2200 ;; sign 1 6[COMMON] unsigned char + 2201 ;; counter 1 5[COMMON] unsigned char + 2202 ;; Return value: Size Location Type + 2203 ;; 2 0[COMMON] int + 2204 ;; Registers used: + 2205 ;; wreg, status,2, status,0 + 2206 ;; Tracked objects: + 2207 ;; On entry : 0/0 + 2208 ;; On exit : 0/0 + 2209 ;; Unchanged: 0/0 + 2210 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2211 ;; Params: 4 0 0 0 0 + 2212 ;; Locals: 2 0 0 0 0 + 2213 ;; Temps: 1 0 0 0 0 + 2214 ;; Totals: 7 0 0 0 0 + 2215 ;;Total ram usage: 7 bytes + 2216 ;; Hardware stack levels used: 1 + 2217 ;; This function calls: + 2218 ;; Nothing + 2219 ;; This function is called by: + 2220 ;; _format_Temperature + 2221 ;; _DEC_2_BCD + 2222 ;; This function uses a non-reentrant model + 2223 ;; + 2224 + 2225 + 2226 ;psect for function ___awmod + 2227 0FB5 ___awmod: + 2228 + 2229 ;incstack = 0 + 2230 ; Regs used in ___awmod: [wreg+status,2+status,0] + 2231 0FB5 01F6 clrf ___awmod@sign + 2232 0FB6 1FF3 btfss ___awmod@dividend+1,7 + 2233 0FB7 2FBF goto l1866 + 2234 0FB8 09F2 comf ___awmod@dividend,f + 2235 0FB9 09F3 comf ___awmod@dividend+1,f + 2236 0FBA 0AF2 incf ___awmod@dividend,f + 2237 0FBB 1903 skipnz + 2238 0FBC 0AF3 incf ___awmod@dividend+1,f + 2239 0FBD 01F6 clrf ___awmod@sign + 2240 0FBE 0AF6 incf ___awmod@sign,f + 2241 0FBF l1866: + 2242 0FBF 1FF1 btfss ___awmod@divisor+1,7 + 2243 0FC0 2FC6 goto l1870 + 2244 0FC1 09F0 comf ___awmod@divisor,f + 2245 0FC2 09F1 comf ___awmod@divisor+1,f + 2246 0FC3 0AF0 incf ___awmod@divisor,f + 2247 0FC4 1903 skipnz + 2248 0FC5 0AF1 incf ___awmod@divisor+1,f + 2249 0FC6 l1870: + 2250 0FC6 0870 movf ___awmod@divisor,w + 2251 0FC7 0471 iorwf ___awmod@divisor+1,w + 2252 0FC8 1903 btfsc 3,2 + 2253 0FC9 2FF3 goto l1888 + 2254 0FCA 01F5 clrf ___awmod@counter + 2255 0FCB 0AF5 incf ___awmod@counter,f + 2256 0FCC l1878: + 2257 0FCC 1BF1 btfsc ___awmod@divisor+1,7 + 2258 0FCD 2FDA goto l1880 + 2259 0FCE 3001 movlw 1 + 2260 0FCF u1265: + 2261 0FCF 1003 clrc + 2262 0FD0 0DF0 rlf ___awmod@divisor,f + 2263 0FD1 0DF1 rlf ___awmod@divisor+1,f + 2264 0FD2 3EFF addlw -1 + 2265 0FD3 1D03 skipz + 2266 0FD4 2FCF goto u1265 + 2267 0FD5 3001 movlw 1 + 2268 0FD6 00F4 movwf ??___awmod + 2269 0FD7 0874 movf ??___awmod,w + 2270 0FD8 07F5 addwf ___awmod@counter,f + 2271 0FD9 2FCC goto l1878 + 2272 0FDA l1880: + 2273 0FDA 0871 movf ___awmod@divisor+1,w + 2274 0FDB 0273 subwf ___awmod@dividend+1,w + 2275 0FDC 1D03 skipz + 2276 0FDD 2FE0 goto u1285 + 2277 0FDE 0870 movf ___awmod@divisor,w + 2278 0FDF 0272 subwf ___awmod@dividend,w + 2279 0FE0 u1285: + 2280 0FE0 1C03 skipc + 2281 0FE1 2FE8 goto l1884 + 2282 0FE2 0870 movf ___awmod@divisor,w + 2283 0FE3 02F2 subwf ___awmod@dividend,f + 2284 0FE4 0871 movf ___awmod@divisor+1,w + 2285 0FE5 1C03 skipc + 2286 0FE6 03F3 decf ___awmod@dividend+1,f + 2287 0FE7 02F3 subwf ___awmod@dividend+1,f + 2288 0FE8 l1884: + 2289 0FE8 3001 movlw 1 + 2290 0FE9 u1295: + 2291 0FE9 1003 clrc + 2292 0FEA 0CF1 rrf ___awmod@divisor+1,f + 2293 0FEB 0CF0 rrf ___awmod@divisor,f + 2294 0FEC 3EFF addlw -1 + 2295 0FED 1D03 skipz + 2296 0FEE 2FE9 goto u1295 + 2297 0FEF 3001 movlw 1 + 2298 0FF0 02F5 subwf ___awmod@counter,f + 2299 0FF1 1D03 btfss 3,2 + 2300 0FF2 2FDA goto l1880 + 2301 0FF3 l1888: + 2302 0FF3 0876 movf ___awmod@sign,w + 2303 0FF4 1903 btfsc 3,2 + 2304 0FF5 2FFB goto l1892 + 2305 0FF6 09F2 comf ___awmod@dividend,f + 2306 0FF7 09F3 comf ___awmod@dividend+1,f + 2307 0FF8 0AF2 incf ___awmod@dividend,f + 2308 0FF9 1903 skipnz + 2309 0FFA 0AF3 incf ___awmod@dividend+1,f + 2310 0FFB l1892: + 2311 0FFB 0873 movf ___awmod@dividend+1,w + 2312 0FFC 00F1 movwf ?___awmod+1 + 2313 0FFD 0872 movf ___awmod@dividend,w + 2314 0FFE 00F0 movwf ?___awmod + 2315 0FFF 0008 return + 2316 1000 __end_of___awmod: + 2317 + 2318 psect text6 + 2319 0137 __ptext6: + 2320 ;; *************** function ___awdiv ***************** + 2321 ;; Defined at: + 2322 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\awdiv.c" + 2323 ;; Parameters: Size Location Type + 2324 ;; divisor 2 0[COMMON] int + 2325 ;; dividend 2 2[COMMON] int + 2326 ;; Auto vars: Size Location Type + 2327 ;; quotient 2 7[COMMON] int + 2328 ;; sign 1 6[COMMON] unsigned char + 2329 ;; counter 1 5[COMMON] unsigned char + 2330 ;; Return value: Size Location Type + 2331 ;; 2 0[COMMON] int + 2332 ;; Registers used: + 2333 ;; wreg, status,2, status,0 + 2334 ;; Tracked objects: + 2335 ;; On entry : 0/0 + 2336 ;; On exit : 0/0 + 2337 ;; Unchanged: 0/0 + 2338 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2339 ;; Params: 4 0 0 0 0 + 2340 ;; Locals: 4 0 0 0 0 + 2341 ;; Temps: 1 0 0 0 0 + 2342 ;; Totals: 9 0 0 0 0 + 2343 ;;Total ram usage: 9 bytes + 2344 ;; Hardware stack levels used: 1 + 2345 ;; This function calls: + 2346 ;; Nothing + 2347 ;; This function is called by: + 2348 ;; _format_Temperature + 2349 ;; _DEC_2_BCD + 2350 ;; This function uses a non-reentrant model + 2351 ;; + 2352 + 2353 + 2354 ;psect for function ___awdiv + 2355 0137 ___awdiv: + 2356 + 2357 ;incstack = 0 + 2358 ; Regs used in ___awdiv: [wreg+status,2+status,0] + 2359 0137 01F6 clrf ___awdiv@sign + 2360 0138 1FF1 btfss ___awdiv@divisor+1,7 + 2361 0139 2941 goto l1822 + 2362 013A 09F0 comf ___awdiv@divisor,f + 2363 013B 09F1 comf ___awdiv@divisor+1,f + 2364 013C 0AF0 incf ___awdiv@divisor,f + 2365 013D 1903 skipnz + 2366 013E 0AF1 incf ___awdiv@divisor+1,f + 2367 013F 01F6 clrf ___awdiv@sign + 2368 0140 0AF6 incf ___awdiv@sign,f + 2369 0141 l1822: + 2370 0141 1FF3 btfss ___awdiv@dividend+1,7 + 2371 0142 294C goto l1828 + 2372 0143 09F2 comf ___awdiv@dividend,f + 2373 0144 09F3 comf ___awdiv@dividend+1,f + 2374 0145 0AF2 incf ___awdiv@dividend,f + 2375 0146 1903 skipnz + 2376 0147 0AF3 incf ___awdiv@dividend+1,f + 2377 0148 3001 movlw 1 + 2378 0149 00F4 movwf ??___awdiv + 2379 014A 0874 movf ??___awdiv,w + 2380 014B 06F6 xorwf ___awdiv@sign,f + 2381 014C l1828: + 2382 014C 01F7 clrf ___awdiv@quotient + 2383 014D 01F8 clrf ___awdiv@quotient+1 + 2384 014E 0870 movf ___awdiv@divisor,w + 2385 014F 0471 iorwf ___awdiv@divisor+1,w + 2386 0150 1903 btfsc 3,2 + 2387 0151 2983 goto l1850 + 2388 0152 01F5 clrf ___awdiv@counter + 2389 0153 0AF5 incf ___awdiv@counter,f + 2390 0154 l1838: + 2391 0154 1BF1 btfsc ___awdiv@divisor+1,7 + 2392 0155 2962 goto l1840 + 2393 0156 3001 movlw 1 + 2394 0157 u1165: + 2395 0157 1003 clrc + 2396 0158 0DF0 rlf ___awdiv@divisor,f + 2397 0159 0DF1 rlf ___awdiv@divisor+1,f + 2398 015A 3EFF addlw -1 + 2399 015B 1D03 skipz + 2400 015C 2957 goto u1165 + 2401 015D 3001 movlw 1 + 2402 015E 00F4 movwf ??___awdiv + 2403 015F 0874 movf ??___awdiv,w + 2404 0160 07F5 addwf ___awdiv@counter,f + 2405 0161 2954 goto l1838 + 2406 0162 l1840: + 2407 0162 3001 movlw 1 + 2408 0163 u1185: + 2409 0163 1003 clrc + 2410 0164 0DF7 rlf ___awdiv@quotient,f + 2411 0165 0DF8 rlf ___awdiv@quotient+1,f + 2412 0166 3EFF addlw -1 + 2413 0167 1D03 skipz + 2414 0168 2963 goto u1185 + 2415 0169 0871 movf ___awdiv@divisor+1,w + 2416 016A 0273 subwf ___awdiv@dividend+1,w + 2417 016B 1D03 skipz + 2418 016C 296F goto u1195 + 2419 016D 0870 movf ___awdiv@divisor,w + 2420 016E 0272 subwf ___awdiv@dividend,w + 2421 016F u1195: + 2422 016F 1C03 skipc + 2423 0170 2978 goto l1846 + 2424 0171 0870 movf ___awdiv@divisor,w + 2425 0172 02F2 subwf ___awdiv@dividend,f + 2426 0173 0871 movf ___awdiv@divisor+1,w + 2427 0174 1C03 skipc + 2428 0175 03F3 decf ___awdiv@dividend+1,f + 2429 0176 02F3 subwf ___awdiv@dividend+1,f + 2430 0177 1477 bsf ___awdiv@quotient,0 + 2431 0178 l1846: + 2432 0178 3001 movlw 1 + 2433 0179 u1205: + 2434 0179 1003 clrc + 2435 017A 0CF1 rrf ___awdiv@divisor+1,f + 2436 017B 0CF0 rrf ___awdiv@divisor,f + 2437 017C 3EFF addlw -1 + 2438 017D 1D03 skipz + 2439 017E 2979 goto u1205 + 2440 017F 3001 movlw 1 + 2441 0180 02F5 subwf ___awdiv@counter,f + 2442 0181 1D03 btfss 3,2 + 2443 0182 2962 goto l1840 + 2444 0183 l1850: + 2445 0183 0876 movf ___awdiv@sign,w + 2446 0184 1903 btfsc 3,2 + 2447 0185 298B goto l1854 + 2448 0186 09F7 comf ___awdiv@quotient,f + 2449 0187 09F8 comf ___awdiv@quotient+1,f + 2450 0188 0AF7 incf ___awdiv@quotient,f + 2451 0189 1903 skipnz + 2452 018A 0AF8 incf ___awdiv@quotient+1,f + 2453 018B l1854: + 2454 018B 0878 movf ___awdiv@quotient+1,w + 2455 018C 00F1 movwf ?___awdiv+1 + 2456 018D 0877 movf ___awdiv@quotient,w + 2457 018E 00F0 movwf ?___awdiv + 2458 018F 0008 return + 2459 0190 __end_of___awdiv: + 2460 + 2461 psect text7 + 2462 061A __ptext7: + 2463 ;; *************** function _format_DateTimeChars ***************** + 2464 ;; Defined at: + 2465 ;; line 129 in file "main.c" + 2466 ;; Parameters: Size Location Type + 2467 ;; None + 2468 ;; Auto vars: Size Location Type + 2469 ;; None + 2470 ;; Return value: Size Location Type + 2471 ;; 1 wreg void + 2472 ;; Registers used: + 2473 ;; wreg, status,2, status,0, pclath, cstack + 2474 ;; Tracked objects: + 2475 ;; On entry : 0/0 + 2476 ;; On exit : 0/0 + 2477 ;; Unchanged: 0/0 + 2478 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2479 ;; Params: 0 0 0 0 0 + 2480 ;; Locals: 0 0 0 0 0 + 2481 ;; Temps: 1 0 0 0 0 + 2482 ;; Totals: 1 0 0 0 0 + 2483 ;;Total ram usage: 1 bytes + 2484 ;; Hardware stack levels used: 1 + 2485 ;; Hardware stack levels required when called: 1 + 2486 ;; This function calls: + 2487 ;; ___lwdiv + 2488 ;; ___lwmod + 2489 ;; This function is called by: + 2490 ;; _main + 2491 ;; This function uses a non-reentrant model + 2492 ;; + 2493 + 2494 + 2495 ;psect for function _format_DateTimeChars + 2496 061A _format_DateTimeChars: + 2497 + 2498 ;main.c: 130: sec_0 = sec % 10 + '0'; + 2499 + 2500 ;incstack = 0 + 2501 ; Regs used in _format_DateTimeChars: [wreg+status,2+status,0+pclath+cstack] + 2502 061A 300A movlw 10 + 2503 061B 00F0 movwf ___lwmod@divisor + 2504 061C 3000 movlw 0 + 2505 061D 00F1 movwf ___lwmod@divisor+1 + 2506 061E 1283 bcf 3,5 ;RP0=0, select bank0 + 2507 061F 1303 bcf 3,6 ;RP1=0, select bank0 + 2508 0620 086D movf _sec+1,w + 2509 0621 00F3 movwf ___lwmod@dividend+1 + 2510 0622 086C movf _sec,w + 2511 0623 00F2 movwf ___lwmod@dividend + 2512 0624 120A 158A 25CC 120A 118A fcall ___lwmod + 2513 0629 0870 movf ?___lwmod,w + 2514 062A 3E30 addlw 48 + 2515 062B 00F8 movwf ??_format_DateTimeChars + 2516 062C 0878 movf ??_format_DateTimeChars,w + 2517 062D 1283 bcf 3,5 ;RP0=0, select bank0 + 2518 062E 1303 bcf 3,6 ;RP1=0, select bank0 + 2519 062F 00CC movwf _sec_0 + 2520 + 2521 ;main.c: 131: sec_1 = sec / 10 + '0'; + 2522 0630 300A movlw 10 + 2523 0631 00F0 movwf ___lwdiv@divisor + 2524 0632 3000 movlw 0 + 2525 0633 00F1 movwf ___lwdiv@divisor+1 + 2526 0634 086D movf _sec+1,w + 2527 0635 00F3 movwf ___lwdiv@dividend+1 + 2528 0636 086C movf _sec,w + 2529 0637 00F2 movwf ___lwdiv@dividend + 2530 0638 120A 158A 266C 120A 118A fcall ___lwdiv + 2531 063D 0870 movf ?___lwdiv,w + 2532 063E 3E30 addlw 48 + 2533 063F 00F8 movwf ??_format_DateTimeChars + 2534 0640 0878 movf ??_format_DateTimeChars,w + 2535 0641 1283 bcf 3,5 ;RP0=0, select bank0 + 2536 0642 1303 bcf 3,6 ;RP1=0, select bank0 + 2537 0643 00CB movwf _sec_1 + 2538 + 2539 ;main.c: 132: min_0 = min % 10 + '0'; + 2540 0644 300A movlw 10 + 2541 0645 00F0 movwf ___lwmod@divisor + 2542 0646 3000 movlw 0 + 2543 0647 00F1 movwf ___lwmod@divisor+1 + 2544 0648 086B movf _min+1,w + 2545 0649 00F3 movwf ___lwmod@dividend+1 + 2546 064A 086A movf _min,w + 2547 064B 00F2 movwf ___lwmod@dividend + 2548 064C 120A 158A 25CC 120A 118A fcall ___lwmod + 2549 0651 0870 movf ?___lwmod,w + 2550 0652 3E30 addlw 48 + 2551 0653 00F8 movwf ??_format_DateTimeChars + 2552 0654 0878 movf ??_format_DateTimeChars,w + 2553 0655 1283 bcf 3,5 ;RP0=0, select bank0 + 2554 0656 1303 bcf 3,6 ;RP1=0, select bank0 + 2555 0657 00CA movwf _min_0 + 2556 + 2557 ;main.c: 133: min_1 = min / 10 + '0'; + 2558 0658 300A movlw 10 + 2559 0659 00F0 movwf ___lwdiv@divisor + 2560 065A 3000 movlw 0 + 2561 065B 00F1 movwf ___lwdiv@divisor+1 + 2562 065C 086B movf _min+1,w + 2563 065D 00F3 movwf ___lwdiv@dividend+1 + 2564 065E 086A movf _min,w + 2565 065F 00F2 movwf ___lwdiv@dividend + 2566 0660 120A 158A 266C 120A 118A fcall ___lwdiv + 2567 0665 0870 movf ?___lwdiv,w + 2568 0666 3E30 addlw 48 + 2569 0667 00F8 movwf ??_format_DateTimeChars + 2570 0668 0878 movf ??_format_DateTimeChars,w + 2571 0669 1283 bcf 3,5 ;RP0=0, select bank0 + 2572 066A 1303 bcf 3,6 ;RP1=0, select bank0 + 2573 066B 00C9 movwf _min_1 + 2574 + 2575 ;main.c: 134: hour_0 = hour % 10 + '0'; + 2576 066C 300A movlw 10 + 2577 066D 00F0 movwf ___lwmod@divisor + 2578 066E 3000 movlw 0 + 2579 066F 00F1 movwf ___lwmod@divisor+1 + 2580 0670 0869 movf _hour+1,w + 2581 0671 00F3 movwf ___lwmod@dividend+1 + 2582 0672 0868 movf _hour,w + 2583 0673 00F2 movwf ___lwmod@dividend + 2584 0674 120A 158A 25CC 120A 118A fcall ___lwmod + 2585 0679 0870 movf ?___lwmod,w + 2586 067A 3E30 addlw 48 + 2587 067B 00F8 movwf ??_format_DateTimeChars + 2588 067C 0878 movf ??_format_DateTimeChars,w + 2589 067D 1283 bcf 3,5 ;RP0=0, select bank0 + 2590 067E 1303 bcf 3,6 ;RP1=0, select bank0 + 2591 067F 00C8 movwf _hour_0 + 2592 + 2593 ;main.c: 135: hour_1 = hour / 10 + '0'; + 2594 0680 300A movlw 10 + 2595 0681 00F0 movwf ___lwdiv@divisor + 2596 0682 3000 movlw 0 + 2597 0683 00F1 movwf ___lwdiv@divisor+1 + 2598 0684 0869 movf _hour+1,w + 2599 0685 00F3 movwf ___lwdiv@dividend+1 + 2600 0686 0868 movf _hour,w + 2601 0687 00F2 movwf ___lwdiv@dividend + 2602 0688 120A 158A 266C 120A 118A fcall ___lwdiv + 2603 068D 0870 movf ?___lwdiv,w + 2604 068E 3E30 addlw 48 + 2605 068F 00F8 movwf ??_format_DateTimeChars + 2606 0690 0878 movf ??_format_DateTimeChars,w + 2607 0691 1283 bcf 3,5 ;RP0=0, select bank0 + 2608 0692 1303 bcf 3,6 ;RP1=0, select bank0 + 2609 0693 00C7 movwf _hour_1 + 2610 + 2611 ;main.c: 136: day_0 = date % 10 + '0'; + 2612 0694 300A movlw 10 + 2613 0695 00F0 movwf ___lwmod@divisor + 2614 0696 3000 movlw 0 + 2615 0697 00F1 movwf ___lwmod@divisor+1 + 2616 0698 0867 movf _date+1,w + 2617 0699 00F3 movwf ___lwmod@dividend+1 + 2618 069A 0866 movf _date,w + 2619 069B 00F2 movwf ___lwmod@dividend + 2620 069C 120A 158A 25CC 120A 118A fcall ___lwmod + 2621 06A1 0870 movf ?___lwmod,w + 2622 06A2 3E30 addlw 48 + 2623 06A3 00F8 movwf ??_format_DateTimeChars + 2624 06A4 0878 movf ??_format_DateTimeChars,w + 2625 06A5 1283 bcf 3,5 ;RP0=0, select bank0 + 2626 06A6 1303 bcf 3,6 ;RP1=0, select bank0 + 2627 06A7 00C6 movwf _day_0 + 2628 + 2629 ;main.c: 137: day_1 = date / 10 + '0'; + 2630 06A8 300A movlw 10 + 2631 06A9 00F0 movwf ___lwdiv@divisor + 2632 06AA 3000 movlw 0 + 2633 06AB 00F1 movwf ___lwdiv@divisor+1 + 2634 06AC 0867 movf _date+1,w + 2635 06AD 00F3 movwf ___lwdiv@dividend+1 + 2636 06AE 0866 movf _date,w + 2637 06AF 00F2 movwf ___lwdiv@dividend + 2638 06B0 120A 158A 266C 120A 118A fcall ___lwdiv + 2639 06B5 0870 movf ?___lwdiv,w + 2640 06B6 3E30 addlw 48 + 2641 06B7 00F8 movwf ??_format_DateTimeChars + 2642 06B8 0878 movf ??_format_DateTimeChars,w + 2643 06B9 1283 bcf 3,5 ;RP0=0, select bank0 + 2644 06BA 1303 bcf 3,6 ;RP1=0, select bank0 + 2645 06BB 00C5 movwf _day_1 + 2646 + 2647 ;main.c: 138: month_0 = month % 10 + '0'; + 2648 06BC 300A movlw 10 + 2649 06BD 00F0 movwf ___lwmod@divisor + 2650 06BE 3000 movlw 0 + 2651 06BF 00F1 movwf ___lwmod@divisor+1 + 2652 06C0 0865 movf _month+1,w + 2653 06C1 00F3 movwf ___lwmod@dividend+1 + 2654 06C2 0864 movf _month,w + 2655 06C3 00F2 movwf ___lwmod@dividend + 2656 06C4 120A 158A 25CC 120A 118A fcall ___lwmod + 2657 06C9 0870 movf ?___lwmod,w + 2658 06CA 3E30 addlw 48 + 2659 06CB 00F8 movwf ??_format_DateTimeChars + 2660 06CC 0878 movf ??_format_DateTimeChars,w + 2661 06CD 1283 bcf 3,5 ;RP0=0, select bank0 + 2662 06CE 1303 bcf 3,6 ;RP1=0, select bank0 + 2663 06CF 00C4 movwf _month_0 + 2664 + 2665 ;main.c: 139: month_1 = month / 10 + '0'; + 2666 06D0 300A movlw 10 + 2667 06D1 00F0 movwf ___lwdiv@divisor + 2668 06D2 3000 movlw 0 + 2669 06D3 00F1 movwf ___lwdiv@divisor+1 + 2670 06D4 0865 movf _month+1,w + 2671 06D5 00F3 movwf ___lwdiv@dividend+1 + 2672 06D6 0864 movf _month,w + 2673 06D7 00F2 movwf ___lwdiv@dividend + 2674 06D8 120A 158A 266C 120A 118A fcall ___lwdiv + 2675 06DD 0870 movf ?___lwdiv,w + 2676 06DE 3E30 addlw 48 + 2677 06DF 00F8 movwf ??_format_DateTimeChars + 2678 06E0 0878 movf ??_format_DateTimeChars,w + 2679 06E1 1283 bcf 3,5 ;RP0=0, select bank0 + 2680 06E2 1303 bcf 3,6 ;RP1=0, select bank0 + 2681 06E3 00C3 movwf _month_1 + 2682 + 2683 ;main.c: 140: year_0 = year % 10 + '0'; + 2684 06E4 300A movlw 10 + 2685 06E5 00F0 movwf ___lwmod@divisor + 2686 06E6 3000 movlw 0 + 2687 06E7 00F1 movwf ___lwmod@divisor+1 + 2688 06E8 0863 movf _year+1,w + 2689 06E9 00F3 movwf ___lwmod@dividend+1 + 2690 06EA 0862 movf _year,w + 2691 06EB 00F2 movwf ___lwmod@dividend + 2692 06EC 120A 158A 25CC 120A 118A fcall ___lwmod + 2693 06F1 0870 movf ?___lwmod,w + 2694 06F2 3E30 addlw 48 + 2695 06F3 00F8 movwf ??_format_DateTimeChars + 2696 06F4 0878 movf ??_format_DateTimeChars,w + 2697 06F5 1283 bcf 3,5 ;RP0=0, select bank0 + 2698 06F6 1303 bcf 3,6 ;RP1=0, select bank0 + 2699 06F7 00C2 movwf _year_0 + 2700 + 2701 ;main.c: 141: year_1 = year / 10 + '0'; + 2702 06F8 300A movlw 10 + 2703 06F9 00F0 movwf ___lwdiv@divisor + 2704 06FA 3000 movlw 0 + 2705 06FB 00F1 movwf ___lwdiv@divisor+1 + 2706 06FC 0863 movf _year+1,w + 2707 06FD 00F3 movwf ___lwdiv@dividend+1 + 2708 06FE 0862 movf _year,w + 2709 06FF 00F2 movwf ___lwdiv@dividend + 2710 0700 120A 158A 266C 120A 118A fcall ___lwdiv + 2711 0705 0870 movf ?___lwdiv,w + 2712 0706 3E30 addlw 48 + 2713 0707 00F8 movwf ??_format_DateTimeChars + 2714 0708 0878 movf ??_format_DateTimeChars,w + 2715 0709 1283 bcf 3,5 ;RP0=0, select bank0 + 2716 070A 1303 bcf 3,6 ;RP1=0, select bank0 + 2717 070B 00C1 movwf _year_1 + 2718 + 2719 ;main.c: 142: alarm1_sec_0 = alarm1_sec % 10 + '0'; + 2720 070C 300A movlw 10 + 2721 070D 00F0 movwf ___lwmod@divisor + 2722 070E 3000 movlw 0 + 2723 070F 00F1 movwf ___lwmod@divisor+1 + 2724 0710 0833 movf _alarm1_sec+1,w + 2725 0711 00F3 movwf ___lwmod@dividend+1 + 2726 0712 0832 movf _alarm1_sec,w + 2727 0713 00F2 movwf ___lwmod@dividend + 2728 0714 120A 158A 25CC 120A 118A fcall ___lwmod + 2729 0719 0870 movf ?___lwmod,w + 2730 071A 3E30 addlw 48 + 2731 071B 00F8 movwf ??_format_DateTimeChars + 2732 071C 0878 movf ??_format_DateTimeChars,w + 2733 071D 1283 bcf 3,5 ;RP0=0, select bank0 + 2734 071E 1303 bcf 3,6 ;RP1=0, select bank0 + 2735 071F 00BD movwf _alarm1_sec_0 + 2736 + 2737 ;main.c: 143: alarm1_sec_1 = alarm1_sec / 10 + '0'; + 2738 0720 300A movlw 10 + 2739 0721 00F0 movwf ___lwdiv@divisor + 2740 0722 3000 movlw 0 + 2741 0723 00F1 movwf ___lwdiv@divisor+1 + 2742 0724 0833 movf _alarm1_sec+1,w + 2743 0725 00F3 movwf ___lwdiv@dividend+1 + 2744 0726 0832 movf _alarm1_sec,w + 2745 0727 00F2 movwf ___lwdiv@dividend + 2746 0728 120A 158A 266C 120A 118A fcall ___lwdiv + 2747 072D 0870 movf ?___lwdiv,w + 2748 072E 3E30 addlw 48 + 2749 072F 00F8 movwf ??_format_DateTimeChars + 2750 0730 0878 movf ??_format_DateTimeChars,w + 2751 0731 1283 bcf 3,5 ;RP0=0, select bank0 + 2752 0732 1303 bcf 3,6 ;RP1=0, select bank0 + 2753 0733 00BC movwf _alarm1_sec_1 + 2754 + 2755 ;main.c: 144: alarm1_min_0 = alarm1_min % 10 + '0'; + 2756 0734 300A movlw 10 + 2757 0735 00F0 movwf ___lwmod@divisor + 2758 0736 3000 movlw 0 + 2759 0737 00F1 movwf ___lwmod@divisor+1 + 2760 0738 0831 movf _alarm1_min+1,w + 2761 0739 00F3 movwf ___lwmod@dividend+1 + 2762 073A 0830 movf _alarm1_min,w + 2763 073B 00F2 movwf ___lwmod@dividend + 2764 073C 120A 158A 25CC 120A 118A fcall ___lwmod + 2765 0741 0870 movf ?___lwmod,w + 2766 0742 3E30 addlw 48 + 2767 0743 00F8 movwf ??_format_DateTimeChars + 2768 0744 0878 movf ??_format_DateTimeChars,w + 2769 0745 1283 bcf 3,5 ;RP0=0, select bank0 + 2770 0746 1303 bcf 3,6 ;RP1=0, select bank0 + 2771 0747 00BB movwf _alarm1_min_0 + 2772 + 2773 ;main.c: 145: alarm1_min_1 = alarm1_min / 10 + '0'; + 2774 0748 300A movlw 10 + 2775 0749 00F0 movwf ___lwdiv@divisor + 2776 074A 3000 movlw 0 + 2777 074B 00F1 movwf ___lwdiv@divisor+1 + 2778 074C 0831 movf _alarm1_min+1,w + 2779 074D 00F3 movwf ___lwdiv@dividend+1 + 2780 074E 0830 movf _alarm1_min,w + 2781 074F 00F2 movwf ___lwdiv@dividend + 2782 0750 120A 158A 266C 120A 118A fcall ___lwdiv + 2783 0755 0870 movf ?___lwdiv,w + 2784 0756 3E30 addlw 48 + 2785 0757 00F8 movwf ??_format_DateTimeChars + 2786 0758 0878 movf ??_format_DateTimeChars,w + 2787 0759 1283 bcf 3,5 ;RP0=0, select bank0 + 2788 075A 1303 bcf 3,6 ;RP1=0, select bank0 + 2789 075B 00BA movwf _alarm1_min_1 + 2790 + 2791 ;main.c: 146: alarm1_hour_0 = alarm1_hour % 10 + '0'; + 2792 075C 300A movlw 10 + 2793 075D 00F0 movwf ___lwmod@divisor + 2794 075E 3000 movlw 0 + 2795 075F 00F1 movwf ___lwmod@divisor+1 + 2796 0760 082F movf _alarm1_hour+1,w + 2797 0761 00F3 movwf ___lwmod@dividend+1 + 2798 0762 082E movf _alarm1_hour,w + 2799 0763 00F2 movwf ___lwmod@dividend + 2800 0764 120A 158A 25CC 120A 118A fcall ___lwmod + 2801 0769 0870 movf ?___lwmod,w + 2802 076A 3E30 addlw 48 + 2803 076B 00F8 movwf ??_format_DateTimeChars + 2804 076C 0878 movf ??_format_DateTimeChars,w + 2805 076D 1283 bcf 3,5 ;RP0=0, select bank0 + 2806 076E 1303 bcf 3,6 ;RP1=0, select bank0 + 2807 076F 00B9 movwf _alarm1_hour_0 + 2808 + 2809 ;main.c: 147: alarm1_hour_1 = alarm1_hour / 10 + '0'; + 2810 0770 300A movlw 10 + 2811 0771 00F0 movwf ___lwdiv@divisor + 2812 0772 3000 movlw 0 + 2813 0773 00F1 movwf ___lwdiv@divisor+1 + 2814 0774 082F movf _alarm1_hour+1,w + 2815 0775 00F3 movwf ___lwdiv@dividend+1 + 2816 0776 082E movf _alarm1_hour,w + 2817 0777 00F2 movwf ___lwdiv@dividend + 2818 0778 120A 158A 266C 120A 118A fcall ___lwdiv + 2819 077D 0870 movf ?___lwdiv,w + 2820 077E 3E30 addlw 48 + 2821 077F 00F8 movwf ??_format_DateTimeChars + 2822 0780 0878 movf ??_format_DateTimeChars,w + 2823 0781 1283 bcf 3,5 ;RP0=0, select bank0 + 2824 0782 1303 bcf 3,6 ;RP1=0, select bank0 + 2825 0783 00B8 movwf _alarm1_hour_1 + 2826 + 2827 ;main.c: 148: alarm2_min_0 = alarm2_min % 10 + '0'; + 2828 0784 300A movlw 10 + 2829 0785 00F0 movwf ___lwmod@divisor + 2830 0786 3000 movlw 0 + 2831 0787 00F1 movwf ___lwmod@divisor+1 + 2832 0788 082D movf _alarm2_min+1,w + 2833 0789 00F3 movwf ___lwmod@dividend+1 + 2834 078A 082C movf _alarm2_min,w + 2835 078B 00F2 movwf ___lwmod@dividend + 2836 078C 120A 158A 25CC 120A 118A fcall ___lwmod + 2837 0791 0870 movf ?___lwmod,w + 2838 0792 3E30 addlw 48 + 2839 0793 00F8 movwf ??_format_DateTimeChars + 2840 0794 0878 movf ??_format_DateTimeChars,w + 2841 0795 1283 bcf 3,5 ;RP0=0, select bank0 + 2842 0796 1303 bcf 3,6 ;RP1=0, select bank0 + 2843 0797 00B7 movwf _alarm2_min_0 + 2844 + 2845 ;main.c: 149: alarm2_min_1 = alarm2_min / 10 + '0'; + 2846 0798 300A movlw 10 + 2847 0799 00F0 movwf ___lwdiv@divisor + 2848 079A 3000 movlw 0 + 2849 079B 00F1 movwf ___lwdiv@divisor+1 + 2850 079C 082D movf _alarm2_min+1,w + 2851 079D 00F3 movwf ___lwdiv@dividend+1 + 2852 079E 082C movf _alarm2_min,w + 2853 079F 00F2 movwf ___lwdiv@dividend + 2854 07A0 120A 158A 266C 120A 118A fcall ___lwdiv + 2855 07A5 0870 movf ?___lwdiv,w + 2856 07A6 3E30 addlw 48 + 2857 07A7 00F8 movwf ??_format_DateTimeChars + 2858 07A8 0878 movf ??_format_DateTimeChars,w + 2859 07A9 1283 bcf 3,5 ;RP0=0, select bank0 + 2860 07AA 1303 bcf 3,6 ;RP1=0, select bank0 + 2861 07AB 00B6 movwf _alarm2_min_1 + 2862 + 2863 ;main.c: 150: alarm2_hour_0 = alarm2_hour % 10 + '0'; + 2864 07AC 300A movlw 10 + 2865 07AD 00F0 movwf ___lwmod@divisor + 2866 07AE 3000 movlw 0 + 2867 07AF 00F1 movwf ___lwmod@divisor+1 + 2868 07B0 082B movf _alarm2_hour+1,w + 2869 07B1 00F3 movwf ___lwmod@dividend+1 + 2870 07B2 082A movf _alarm2_hour,w + 2871 07B3 00F2 movwf ___lwmod@dividend + 2872 07B4 120A 158A 25CC 120A 118A fcall ___lwmod + 2873 07B9 0870 movf ?___lwmod,w + 2874 07BA 3E30 addlw 48 + 2875 07BB 00F8 movwf ??_format_DateTimeChars + 2876 07BC 0878 movf ??_format_DateTimeChars,w + 2877 07BD 1283 bcf 3,5 ;RP0=0, select bank0 + 2878 07BE 1303 bcf 3,6 ;RP1=0, select bank0 + 2879 07BF 00B5 movwf _alarm2_hour_0 + 2880 + 2881 ;main.c: 151: alarm2_hour_1 = alarm2_hour / 10 + '0'; + 2882 07C0 300A movlw 10 + 2883 07C1 00F0 movwf ___lwdiv@divisor + 2884 07C2 3000 movlw 0 + 2885 07C3 00F1 movwf ___lwdiv@divisor+1 + 2886 07C4 082B movf _alarm2_hour+1,w + 2887 07C5 00F3 movwf ___lwdiv@dividend+1 + 2888 07C6 082A movf _alarm2_hour,w + 2889 07C7 00F2 movwf ___lwdiv@dividend + 2890 07C8 120A 158A 266C fcall ___lwdiv + 2891 07CB 0870 movf ?___lwdiv,w + 2892 07CC 3E30 addlw 48 + 2893 07CD 00F8 movwf ??_format_DateTimeChars + 2894 07CE 0878 movf ??_format_DateTimeChars,w + 2895 07CF 1283 bcf 3,5 ;RP0=0, select bank0 + 2896 07D0 1303 bcf 3,6 ;RP1=0, select bank0 + 2897 07D1 00B4 movwf _alarm2_hour_1 + 2898 07D2 0008 return + 2899 07D3 __end_of_format_DateTimeChars: + 2900 + 2901 psect text8 + 2902 0DCC __ptext8: + 2903 ;; *************** function ___lwmod ***************** + 2904 ;; Defined at: + 2905 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\lwmod.c" + 2906 ;; Parameters: Size Location Type + 2907 ;; divisor 2 0[COMMON] unsigned int + 2908 ;; dividend 2 2[COMMON] unsigned int + 2909 ;; Auto vars: Size Location Type + 2910 ;; counter 1 5[COMMON] unsigned char + 2911 ;; Return value: Size Location Type + 2912 ;; 2 0[COMMON] unsigned int + 2913 ;; Registers used: + 2914 ;; wreg, status,2, status,0 + 2915 ;; Tracked objects: + 2916 ;; On entry : 0/0 + 2917 ;; On exit : 0/0 + 2918 ;; Unchanged: 0/0 + 2919 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2920 ;; Params: 4 0 0 0 0 + 2921 ;; Locals: 1 0 0 0 0 + 2922 ;; Temps: 1 0 0 0 0 + 2923 ;; Totals: 6 0 0 0 0 + 2924 ;;Total ram usage: 6 bytes + 2925 ;; Hardware stack levels used: 1 + 2926 ;; This function calls: + 2927 ;; Nothing + 2928 ;; This function is called by: + 2929 ;; _format_DateTimeChars + 2930 ;; This function uses a non-reentrant model + 2931 ;; + 2932 + 2933 + 2934 ;psect for function ___lwmod + 2935 0DCC ___lwmod: + 2936 + 2937 ;incstack = 0 + 2938 ; Regs used in ___lwmod: [wreg+status,2+status,0] + 2939 0DCC 0870 movf ___lwmod@divisor,w + 2940 0DCD 0471 iorwf ___lwmod@divisor+1,w + 2941 0DCE 1903 btfsc 3,2 + 2942 0DCF 2DF9 goto l1940 + 2943 0DD0 01F5 clrf ___lwmod@counter + 2944 0DD1 0AF5 incf ___lwmod@counter,f + 2945 0DD2 l1930: + 2946 0DD2 1BF1 btfsc ___lwmod@divisor+1,7 + 2947 0DD3 2DE0 goto l1932 + 2948 0DD4 3001 movlw 1 + 2949 0DD5 u1405: + 2950 0DD5 1003 clrc + 2951 0DD6 0DF0 rlf ___lwmod@divisor,f + 2952 0DD7 0DF1 rlf ___lwmod@divisor+1,f + 2953 0DD8 3EFF addlw -1 + 2954 0DD9 1D03 skipz + 2955 0DDA 2DD5 goto u1405 + 2956 0DDB 3001 movlw 1 + 2957 0DDC 00F4 movwf ??___lwmod + 2958 0DDD 0874 movf ??___lwmod,w + 2959 0DDE 07F5 addwf ___lwmod@counter,f + 2960 0DDF 2DD2 goto l1930 + 2961 0DE0 l1932: + 2962 0DE0 0871 movf ___lwmod@divisor+1,w + 2963 0DE1 0273 subwf ___lwmod@dividend+1,w + 2964 0DE2 1D03 skipz + 2965 0DE3 2DE6 goto u1425 + 2966 0DE4 0870 movf ___lwmod@divisor,w + 2967 0DE5 0272 subwf ___lwmod@dividend,w + 2968 0DE6 u1425: + 2969 0DE6 1C03 skipc + 2970 0DE7 2DEE goto l1936 + 2971 0DE8 0870 movf ___lwmod@divisor,w + 2972 0DE9 02F2 subwf ___lwmod@dividend,f + 2973 0DEA 0871 movf ___lwmod@divisor+1,w + 2974 0DEB 1C03 skipc + 2975 0DEC 03F3 decf ___lwmod@dividend+1,f + 2976 0DED 02F3 subwf ___lwmod@dividend+1,f + 2977 0DEE l1936: + 2978 0DEE 3001 movlw 1 + 2979 0DEF u1435: + 2980 0DEF 1003 clrc + 2981 0DF0 0CF1 rrf ___lwmod@divisor+1,f + 2982 0DF1 0CF0 rrf ___lwmod@divisor,f + 2983 0DF2 3EFF addlw -1 + 2984 0DF3 1D03 skipz + 2985 0DF4 2DEF goto u1435 + 2986 0DF5 3001 movlw 1 + 2987 0DF6 02F5 subwf ___lwmod@counter,f + 2988 0DF7 1D03 btfss 3,2 + 2989 0DF8 2DE0 goto l1932 + 2990 0DF9 l1940: + 2991 0DF9 0873 movf ___lwmod@dividend+1,w + 2992 0DFA 00F1 movwf ?___lwmod+1 + 2993 0DFB 0872 movf ___lwmod@dividend,w + 2994 0DFC 00F0 movwf ?___lwmod + 2995 0DFD 0008 return + 2996 0DFE __end_of___lwmod: + 2997 + 2998 psect text9 + 2999 0E6C __ptext9: + 3000 ;; *************** function ___lwdiv ***************** + 3001 ;; Defined at: + 3002 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\lwdiv.c" + 3003 ;; Parameters: Size Location Type + 3004 ;; divisor 2 0[COMMON] unsigned int + 3005 ;; dividend 2 2[COMMON] unsigned int + 3006 ;; Auto vars: Size Location Type + 3007 ;; quotient 2 5[COMMON] unsigned int + 3008 ;; counter 1 7[COMMON] unsigned char + 3009 ;; Return value: Size Location Type + 3010 ;; 2 0[COMMON] unsigned int + 3011 ;; Registers used: + 3012 ;; wreg, status,2, status,0 + 3013 ;; Tracked objects: + 3014 ;; On entry : 0/0 + 3015 ;; On exit : 0/0 + 3016 ;; Unchanged: 0/0 + 3017 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3018 ;; Params: 4 0 0 0 0 + 3019 ;; Locals: 3 0 0 0 0 + 3020 ;; Temps: 1 0 0 0 0 + 3021 ;; Totals: 8 0 0 0 0 + 3022 ;;Total ram usage: 8 bytes + 3023 ;; Hardware stack levels used: 1 + 3024 ;; This function calls: + 3025 ;; Nothing + 3026 ;; This function is called by: + 3027 ;; _format_DateTimeChars + 3028 ;; This function uses a non-reentrant model + 3029 ;; + 3030 + 3031 + 3032 ;psect for function ___lwdiv + 3033 0E6C ___lwdiv: + 3034 + 3035 ;incstack = 0 + 3036 ; Regs used in ___lwdiv: [wreg+status,2+status,0] + 3037 0E6C 01F5 clrf ___lwdiv@quotient + 3038 0E6D 01F6 clrf ___lwdiv@quotient+1 + 3039 0E6E 0870 movf ___lwdiv@divisor,w + 3040 0E6F 0471 iorwf ___lwdiv@divisor+1,w + 3041 0E70 1903 btfsc 3,2 + 3042 0E71 2EA3 goto l1918 + 3043 0E72 01F7 clrf ___lwdiv@counter + 3044 0E73 0AF7 incf ___lwdiv@counter,f + 3045 0E74 l1906: + 3046 0E74 1BF1 btfsc ___lwdiv@divisor+1,7 + 3047 0E75 2E82 goto l1908 + 3048 0E76 3001 movlw 1 + 3049 0E77 u1335: + 3050 0E77 1003 clrc + 3051 0E78 0DF0 rlf ___lwdiv@divisor,f + 3052 0E79 0DF1 rlf ___lwdiv@divisor+1,f + 3053 0E7A 3EFF addlw -1 + 3054 0E7B 1D03 skipz + 3055 0E7C 2E77 goto u1335 + 3056 0E7D 3001 movlw 1 + 3057 0E7E 00F4 movwf ??___lwdiv + 3058 0E7F 0874 movf ??___lwdiv,w + 3059 0E80 07F7 addwf ___lwdiv@counter,f + 3060 0E81 2E74 goto l1906 + 3061 0E82 l1908: + 3062 0E82 3001 movlw 1 + 3063 0E83 u1355: + 3064 0E83 1003 clrc + 3065 0E84 0DF5 rlf ___lwdiv@quotient,f + 3066 0E85 0DF6 rlf ___lwdiv@quotient+1,f + 3067 0E86 3EFF addlw -1 + 3068 0E87 1D03 skipz + 3069 0E88 2E83 goto u1355 + 3070 0E89 0871 movf ___lwdiv@divisor+1,w + 3071 0E8A 0273 subwf ___lwdiv@dividend+1,w + 3072 0E8B 1D03 skipz + 3073 0E8C 2E8F goto u1365 + 3074 0E8D 0870 movf ___lwdiv@divisor,w + 3075 0E8E 0272 subwf ___lwdiv@dividend,w + 3076 0E8F u1365: + 3077 0E8F 1C03 skipc + 3078 0E90 2E98 goto l1914 + 3079 0E91 0870 movf ___lwdiv@divisor,w + 3080 0E92 02F2 subwf ___lwdiv@dividend,f + 3081 0E93 0871 movf ___lwdiv@divisor+1,w + 3082 0E94 1C03 skipc + 3083 0E95 03F3 decf ___lwdiv@dividend+1,f + 3084 0E96 02F3 subwf ___lwdiv@dividend+1,f + 3085 0E97 1475 bsf ___lwdiv@quotient,0 + 3086 0E98 l1914: + 3087 0E98 3001 movlw 1 + 3088 0E99 u1375: + 3089 0E99 1003 clrc + 3090 0E9A 0CF1 rrf ___lwdiv@divisor+1,f + 3091 0E9B 0CF0 rrf ___lwdiv@divisor,f + 3092 0E9C 3EFF addlw -1 + 3093 0E9D 1D03 skipz + 3094 0E9E 2E99 goto u1375 + 3095 0E9F 3001 movlw 1 + 3096 0EA0 02F7 subwf ___lwdiv@counter,f + 3097 0EA1 1D03 btfss 3,2 + 3098 0EA2 2E82 goto l1908 + 3099 0EA3 l1918: + 3100 0EA3 0876 movf ___lwdiv@quotient+1,w + 3101 0EA4 00F1 movwf ?___lwdiv+1 + 3102 0EA5 0875 movf ___lwdiv@quotient,w + 3103 0EA6 00F0 movwf ?___lwdiv + 3104 0EA7 0008 return + 3105 0EA8 __end_of___lwdiv: + 3106 + 3107 psect text10 + 3108 0EE7 __ptext10: + 3109 ;; *************** function _display_Lcd_Layout ***************** + 3110 ;; Defined at: + 3111 ;; line 236 in file "main.c" + 3112 ;; Parameters: Size Location Type + 3113 ;; None + 3114 ;; Auto vars: Size Location Type + 3115 ;; None + 3116 ;; Return value: Size Location Type + 3117 ;; 1 wreg void + 3118 ;; Registers used: + 3119 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 3120 ;; Tracked objects: + 3121 ;; On entry : 0/0 + 3122 ;; On exit : 0/0 + 3123 ;; Unchanged: 0/0 + 3124 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3125 ;; Params: 0 0 0 0 0 + 3126 ;; Locals: 0 0 0 0 0 + 3127 ;; Temps: 3 0 0 0 0 + 3128 ;; Totals: 3 0 0 0 0 + 3129 ;;Total ram usage: 3 bytes + 3130 ;; Hardware stack levels used: 1 + 3131 ;; Hardware stack levels required when called: 3 + 3132 ;; This function calls: + 3133 ;; _Lcd_Clear + 3134 ;; _Lcd_Set_Cursor + 3135 ;; _Lcd_Write_Char + 3136 ;; _Lcd_Write_String + 3137 ;; This function is called by: + 3138 ;; _main + 3139 ;; This function uses a non-reentrant model + 3140 ;; + 3141 + 3142 + 3143 ;psect for function _display_Lcd_Layout + 3144 0EE7 _display_Lcd_Layout: + 3145 + 3146 ;main.c: 238: Lcd_Clear(); + 3147 + 3148 ;incstack = 0 + 3149 ; Regs used in _display_Lcd_Layout: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 3150 0EE7 120A 158A 24DF 120A 158A fcall _Lcd_Clear + 3151 + 3152 ;main.c: 239: Lcd_Set_Cursor(1, 1); + 3153 0EEC 01F4 clrf Lcd_Set_Cursor@b + 3154 0EED 0AF4 incf Lcd_Set_Cursor@b,f + 3155 0EEE 3001 movlw 1 + 3156 0EEF 120A 158A 276B 120A 158A fcall _Lcd_Set_Cursor + 3157 + 3158 ;main.c: 240: Lcd_Write_String("HH:mm:ss -PP.P"); + 3159 0EF4 3032 movlw (low ((STR_10-__stringbase)| (0+32768)))& (0+255) + 3160 0EF5 00F5 movwf Lcd_Write_String@a + 3161 0EF6 3080 movlw 128 + 3162 0EF7 00F6 movwf Lcd_Write_String@a+1 + 3163 0EF8 120A 158A 259F 120A 158A fcall _Lcd_Write_String + 3164 + 3165 ;main.c: 241: Lcd_Write_Char(0xDF); + 3166 0EFD 30DF movlw 223 + 3167 0EFE 120A 158A 2633 120A 158A fcall _Lcd_Write_Char + 3168 + 3169 ;main.c: 242: Lcd_Write_Char('C'); + 3170 0F03 3043 movlw 67 + 3171 0F04 120A 158A 2633 120A 158A fcall _Lcd_Write_Char + 3172 + 3173 ;main.c: 243: Lcd_Set_Cursor(2, 1); + 3174 0F09 01F4 clrf Lcd_Set_Cursor@b + 3175 0F0A 0AF4 incf Lcd_Set_Cursor@b,f + 3176 0F0B 3002 movlw 2 + 3177 0F0C 120A 158A 276B 120A 158A fcall _Lcd_Set_Cursor + 3178 + 3179 ;main.c: 244: Lcd_Write_String("ddd, DD/MM/YY "); + 3180 0F11 3012 movlw (low ((STR_11-__stringbase)| (0+32768)))& (0+255) + 3181 0F12 00F5 movwf Lcd_Write_String@a + 3182 0F13 3080 movlw 128 + 3183 0F14 00F6 movwf Lcd_Write_String@a+1 + 3184 0F15 120A 158A 259F 120A 158A fcall _Lcd_Write_String + 3185 + 3186 ;main.c: 245: _delay((unsigned long)((2000)*(20000000/4000.0))); + 3187 0F1A 3033 movlw 51 + 3188 0F1B 00FD movwf ??_display_Lcd_Layout+2 + 3189 0F1C 30BB movlw 187 + 3190 0F1D 00FC movwf ??_display_Lcd_Layout+1 + 3191 0F1E 30DF movlw 223 + 3192 0F1F 00FB movwf ??_display_Lcd_Layout + 3193 0F20 u1607: + 3194 0F20 0BFB decfsz ??_display_Lcd_Layout,f + 3195 0F21 2F20 goto u1607 + 3196 0F22 0BFC decfsz ??_display_Lcd_Layout+1,f + 3197 0F23 2F20 goto u1607 + 3198 0F24 0BFD decfsz ??_display_Lcd_Layout+2,f + 3199 0F25 2F20 goto u1607 + 3200 0F26 2F27 nop2 + 3201 0F27 0008 return + 3202 0F28 __end_of_display_Lcd_Layout: + 3203 + 3204 psect text11 + 3205 0DFE __ptext11: + 3206 ;; *************** function _display_Intro ***************** + 3207 ;; Defined at: + 3208 ;; line 226 in file "main.c" + 3209 ;; Parameters: Size Location Type + 3210 ;; None + 3211 ;; Auto vars: Size Location Type + 3212 ;; None + 3213 ;; Return value: Size Location Type + 3214 ;; 1 wreg void + 3215 ;; Registers used: + 3216 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 3217 ;; Tracked objects: + 3218 ;; On entry : 0/0 + 3219 ;; On exit : 0/0 + 3220 ;; Unchanged: 0/0 + 3221 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3222 ;; Params: 0 0 0 0 0 + 3223 ;; Locals: 0 0 0 0 0 + 3224 ;; Temps: 3 0 0 0 0 + 3225 ;; Totals: 3 0 0 0 0 + 3226 ;;Total ram usage: 3 bytes + 3227 ;; Hardware stack levels used: 1 + 3228 ;; Hardware stack levels required when called: 3 + 3229 ;; This function calls: + 3230 ;; _Lcd_Clear + 3231 ;; _Lcd_Set_Cursor + 3232 ;; _Lcd_Write_String + 3233 ;; This function is called by: + 3234 ;; _main + 3235 ;; This function uses a non-reentrant model + 3236 ;; + 3237 + 3238 + 3239 ;psect for function _display_Intro + 3240 0DFE _display_Intro: + 3241 + 3242 ;main.c: 228: Lcd_Clear(); + 3243 + 3244 ;incstack = 0 + 3245 ; Regs used in _display_Intro: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 3246 0DFE 120A 158A 24DF 120A 158A fcall _Lcd_Clear + 3247 + 3248 ;main.c: 229: Lcd_Set_Cursor(1, 1); + 3249 0E03 01F4 clrf Lcd_Set_Cursor@b + 3250 0E04 0AF4 incf Lcd_Set_Cursor@b,f + 3251 0E05 3001 movlw 1 + 3252 0E06 120A 158A 276B 120A 158A fcall _Lcd_Set_Cursor + 3253 + 3254 ;main.c: 230: Lcd_Write_String("RTC/LCD with PIC"); + 3255 0E0B 3001 movlw (low ((STR_8-__stringbase)| (0+32768)))& (0+255) + 3256 0E0C 00F5 movwf Lcd_Write_String@a + 3257 0E0D 3080 movlw 128 + 3258 0E0E 00F6 movwf Lcd_Write_String@a+1 + 3259 0E0F 120A 158A 259F 120A 158A fcall _Lcd_Write_String + 3260 + 3261 ;main.c: 231: Lcd_Set_Cursor(2, 1); + 3262 0E14 01F4 clrf Lcd_Set_Cursor@b + 3263 0E15 0AF4 incf Lcd_Set_Cursor@b,f + 3264 0E16 3002 movlw 2 + 3265 0E17 120A 158A 276B 120A 158A fcall _Lcd_Set_Cursor + 3266 + 3267 ;main.c: 232: Lcd_Write_String(" Circuit Digest"); + 3268 0E1C 3022 movlw (low ((STR_9-__stringbase)| (0+32768)))& (0+255) + 3269 0E1D 00F5 movwf Lcd_Write_String@a + 3270 0E1E 3080 movlw 128 + 3271 0E1F 00F6 movwf Lcd_Write_String@a+1 + 3272 0E20 120A 158A 259F 120A 158A fcall _Lcd_Write_String + 3273 + 3274 ;main.c: 233: _delay((unsigned long)((2000)*(20000000/4000.0))); + 3275 0E25 3033 movlw 51 + 3276 0E26 00FD movwf ??_display_Intro+2 + 3277 0E27 30BB movlw 187 + 3278 0E28 00FC movwf ??_display_Intro+1 + 3279 0E29 30DF movlw 223 + 3280 0E2A 00FB movwf ??_display_Intro + 3281 0E2B u1617: + 3282 0E2B 0BFB decfsz ??_display_Intro,f + 3283 0E2C 2E2B goto u1617 + 3284 0E2D 0BFC decfsz ??_display_Intro+1,f + 3285 0E2E 2E2B goto u1617 + 3286 0E2F 0BFD decfsz ??_display_Intro+2,f + 3287 0E30 2E2B goto u1617 + 3288 0E31 2E32 nop2 + 3289 0E32 0008 return + 3290 0E33 __end_of_display_Intro: + 3291 + 3292 psect text12 + 3293 0D9F __ptext12: + 3294 ;; *************** function _Lcd_Write_String ***************** + 3295 ;; Defined at: + 3296 ;; line 91 in file "lcd.c" + 3297 ;; Parameters: Size Location Type + 3298 ;; a 2 5[COMMON] PTR unsigned char + 3299 ;; -> NULL(0), RAM(512), STR_11(16), STR_10(15), + 3300 ;; -> STR_9(16), STR_8(17), STR_7(4), STR_6(4), + 3301 ;; -> STR_5(4), STR_4(4), STR_3(4), STR_2(4), + 3302 ;; -> STR_1(4), + 3303 ;; Auto vars: Size Location Type + 3304 ;; i 2 7[COMMON] int + 3305 ;; Return value: Size Location Type + 3306 ;; 1 wreg void + 3307 ;; Registers used: + 3308 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 3309 ;; Tracked objects: + 3310 ;; On entry : 0/0 + 3311 ;; On exit : 0/0 + 3312 ;; Unchanged: 0/0 + 3313 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3314 ;; Params: 2 0 0 0 0 + 3315 ;; Locals: 2 0 0 0 0 + 3316 ;; Temps: 0 0 0 0 0 + 3317 ;; Totals: 4 0 0 0 0 + 3318 ;;Total ram usage: 4 bytes + 3319 ;; Hardware stack levels used: 1 + 3320 ;; Hardware stack levels required when called: 2 + 3321 ;; This function calls: + 3322 ;; _Lcd_Write_Char + 3323 ;; This function is called by: + 3324 ;; _display_Intro + 3325 ;; _display_Lcd_Layout + 3326 ;; _update_Display + 3327 ;; This function uses a non-reentrant model + 3328 ;; + 3329 + 3330 + 3331 ;psect for function _Lcd_Write_String + 3332 0D9F _Lcd_Write_String: + 3333 + 3334 ;lcd.c: 92: int i;;lcd.c: 93: for (i = 0; a[i] != '\0'; i++) + 3335 + 3336 ;incstack = 0 + 3337 ; Regs used in _Lcd_Write_String: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 3338 0D9F 01F7 clrf Lcd_Write_String@i + 3339 0DA0 01F8 clrf Lcd_Write_String@i+1 + 3340 0DA1 l1722: + 3341 0DA1 0877 movf Lcd_Write_String@i,w + 3342 0DA2 0775 addwf Lcd_Write_String@a,w + 3343 0DA3 0084 movwf 4 + 3344 0DA4 0878 movf Lcd_Write_String@i+1,w + 3345 0DA5 1803 skipnc + 3346 0DA6 0A78 incf Lcd_Write_String@i+1,w + 3347 0DA7 0776 addwf Lcd_Write_String@a+1,w + 3348 0DA8 1283 bcf 3,5 ;RP0=0, select bank0 + 3349 0DA9 1303 bcf 3,6 ;RP1=0, select bank0 + 3350 0DAA 00FF movwf 127 + 3351 0DAB 120A 118A 2003 120A 158A fcall stringtab + 3352 0DB0 3A00 xorlw 0 + 3353 0DB1 1903 btfsc 3,2 + 3354 0DB2 0008 return + 3355 + 3356 ;lcd.c: 94: Lcd_Write_Char(a[i]); + 3357 0DB3 0877 movf Lcd_Write_String@i,w + 3358 0DB4 0775 addwf Lcd_Write_String@a,w + 3359 0DB5 0084 movwf 4 + 3360 0DB6 0878 movf Lcd_Write_String@i+1,w + 3361 0DB7 1803 skipnc + 3362 0DB8 0A78 incf Lcd_Write_String@i+1,w + 3363 0DB9 0776 addwf Lcd_Write_String@a+1,w + 3364 0DBA 00FF movwf 127 + 3365 0DBB 120A 118A 2003 120A 158A fcall stringtab + 3366 0DC0 120A 158A 2633 120A 158A fcall _Lcd_Write_Char + 3367 0DC5 3001 movlw 1 + 3368 0DC6 07F7 addwf Lcd_Write_String@i,f + 3369 0DC7 1803 skipnc + 3370 0DC8 0AF8 incf Lcd_Write_String@i+1,f + 3371 0DC9 3000 movlw 0 + 3372 0DCA 07F8 addwf Lcd_Write_String@i+1,f + 3373 0DCB 2DA1 goto l1722 + 3374 0DCC __end_of_Lcd_Write_String: + 3375 + 3376 psect text13 + 3377 0E33 __ptext13: + 3378 ;; *************** function _Lcd_Write_Char ***************** + 3379 ;; Defined at: + 3380 ;; line 76 in file "lcd.c" + 3381 ;; Parameters: Size Location Type + 3382 ;; a 1 wreg unsigned char + 3383 ;; Auto vars: Size Location Type + 3384 ;; a 1 4[COMMON] unsigned char + 3385 ;; y 1 3[COMMON] unsigned char + 3386 ;; temp 1 2[COMMON] unsigned char + 3387 ;; Return value: Size Location Type + 3388 ;; 1 wreg void + 3389 ;; Registers used: + 3390 ;; wreg, status,2, status,0, pclath, cstack + 3391 ;; Tracked objects: + 3392 ;; On entry : 0/0 + 3393 ;; On exit : 0/0 + 3394 ;; Unchanged: 0/0 + 3395 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3396 ;; Params: 0 0 0 0 0 + 3397 ;; Locals: 3 0 0 0 0 + 3398 ;; Temps: 1 0 0 0 0 + 3399 ;; Totals: 4 0 0 0 0 + 3400 ;;Total ram usage: 4 bytes + 3401 ;; Hardware stack levels used: 1 + 3402 ;; Hardware stack levels required when called: 1 + 3403 ;; This function calls: + 3404 ;; _Lcd_Port + 3405 ;; This function is called by: + 3406 ;; _display_Lcd_Layout + 3407 ;; _update_Display + 3408 ;; _Lcd_Write_String + 3409 ;; This function uses a non-reentrant model + 3410 ;; + 3411 + 3412 + 3413 ;psect for function _Lcd_Write_Char + 3414 0E33 _Lcd_Write_Char: + 3415 + 3416 ;incstack = 0 + 3417 ; Regs used in _Lcd_Write_Char: [wreg+status,2+status,0+pclath+cstack] + 3418 ;Lcd_Write_Char@a stored from wreg + 3419 0E33 00F4 movwf Lcd_Write_Char@a + 3420 + 3421 ;lcd.c: 77: char temp, y;;lcd.c: 78: temp = a & 0x0F; + 3422 0E34 0874 movf Lcd_Write_Char@a,w + 3423 0E35 390F andlw 15 + 3424 0E36 00F1 movwf ??_Lcd_Write_Char + 3425 0E37 0871 movf ??_Lcd_Write_Char,w + 3426 0E38 00F2 movwf Lcd_Write_Char@temp + 3427 + 3428 ;lcd.c: 79: y = a & 0xF0; + 3429 0E39 0874 movf Lcd_Write_Char@a,w + 3430 0E3A 39F0 andlw 240 + 3431 0E3B 00F1 movwf ??_Lcd_Write_Char + 3432 0E3C 0871 movf ??_Lcd_Write_Char,w + 3433 0E3D 00F3 movwf Lcd_Write_Char@y + 3434 + 3435 ;lcd.c: 80: RD2 = 1; + 3436 0E3E 1283 bcf 3,5 ;RP0=0, select bank0 + 3437 0E3F 1303 bcf 3,6 ;RP1=0, select bank0 + 3438 0E40 1508 bsf 8,2 ;volatile + 3439 + 3440 ;lcd.c: 81: Lcd_Port(y >> 4); + 3441 0E41 0873 movf Lcd_Write_Char@y,w + 3442 0E42 00F1 movwf ??_Lcd_Write_Char + 3443 0E43 3004 movlw 4 + 3444 0E44 u855: + 3445 0E44 1003 clrc + 3446 0E45 0CF1 rrf ??_Lcd_Write_Char,f + 3447 0E46 3EFF addlw -1 + 3448 0E47 1D03 skipz + 3449 0E48 2E44 goto u855 + 3450 0E49 0871 movf ??_Lcd_Write_Char,w + 3451 0E4A 120A 158A 251E 120A 158A fcall _Lcd_Port + 3452 + 3453 ;lcd.c: 82: RD3 = 1; + 3454 0E4F 1283 bcf 3,5 ;RP0=0, select bank0 + 3455 0E50 1303 bcf 3,6 ;RP1=0, select bank0 + 3456 0E51 1588 bsf 8,3 ;volatile + 3457 + 3458 ;lcd.c: 83: _delay((unsigned long)((40)*(20000000/4000000.0))); + 3459 0E52 3042 movlw 66 + 3460 0E53 00F1 movwf ??_Lcd_Write_Char + 3461 0E54 u1627: + 3462 0E54 0BF1 decfsz ??_Lcd_Write_Char,f + 3463 0E55 2E54 goto u1627 + 3464 0E56 0000 nop + 3465 + 3466 ;lcd.c: 84: RD3 = 0; + 3467 0E57 1283 bcf 3,5 ;RP0=0, select bank0 + 3468 0E58 1303 bcf 3,6 ;RP1=0, select bank0 + 3469 0E59 1188 bcf 8,3 ;volatile + 3470 + 3471 ;lcd.c: 85: Lcd_Port(temp); + 3472 0E5A 0872 movf Lcd_Write_Char@temp,w + 3473 0E5B 120A 158A 251E 120A 158A fcall _Lcd_Port + 3474 + 3475 ;lcd.c: 86: RD3 = 1; + 3476 0E60 1283 bcf 3,5 ;RP0=0, select bank0 + 3477 0E61 1303 bcf 3,6 ;RP1=0, select bank0 + 3478 0E62 1588 bsf 8,3 ;volatile + 3479 + 3480 ;lcd.c: 87: _delay((unsigned long)((40)*(20000000/4000000.0))); + 3481 0E63 3042 movlw 66 + 3482 0E64 00F1 movwf ??_Lcd_Write_Char + 3483 0E65 u1637: + 3484 0E65 0BF1 decfsz ??_Lcd_Write_Char,f + 3485 0E66 2E65 goto u1637 + 3486 0E67 0000 nop + 3487 + 3488 ;lcd.c: 88: RD3 = 0; + 3489 0E68 1283 bcf 3,5 ;RP0=0, select bank0 + 3490 0E69 1303 bcf 3,6 ;RP1=0, select bank0 + 3491 0E6A 1188 bcf 8,3 ;volatile + 3492 0E6B 0008 return + 3493 0E6C __end_of_Lcd_Write_Char: + 3494 + 3495 psect text14 + 3496 0F6B __ptext14: + 3497 ;; *************** function _Lcd_Set_Cursor ***************** + 3498 ;; Defined at: + 3499 ;; line 41 in file "lcd.c" + 3500 ;; Parameters: Size Location Type + 3501 ;; a 1 wreg unsigned char + 3502 ;; b 1 4[COMMON] unsigned char + 3503 ;; Auto vars: Size Location Type + 3504 ;; a 1 7[COMMON] unsigned char + 3505 ;; temp 1 10[COMMON] unsigned char + 3506 ;; y 1 9[COMMON] unsigned char + 3507 ;; z 1 8[COMMON] unsigned char + 3508 ;; Return value: Size Location Type + 3509 ;; 1 wreg void + 3510 ;; Registers used: + 3511 ;; wreg, status,2, status,0, pclath, cstack + 3512 ;; Tracked objects: + 3513 ;; On entry : 0/0 + 3514 ;; On exit : 0/0 + 3515 ;; Unchanged: 0/0 + 3516 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3517 ;; Params: 1 0 0 0 0 + 3518 ;; Locals: 4 0 0 0 0 + 3519 ;; Temps: 2 0 0 0 0 + 3520 ;; Totals: 7 0 0 0 0 + 3521 ;;Total ram usage: 7 bytes + 3522 ;; Hardware stack levels used: 1 + 3523 ;; Hardware stack levels required when called: 2 + 3524 ;; This function calls: + 3525 ;; _Lcd_Cmd + 3526 ;; This function is called by: + 3527 ;; _display_Intro + 3528 ;; _display_Lcd_Layout + 3529 ;; _update_Display + 3530 ;; This function uses a non-reentrant model + 3531 ;; + 3532 + 3533 + 3534 ;psect for function _Lcd_Set_Cursor + 3535 0F6B _Lcd_Set_Cursor: + 3536 + 3537 ;incstack = 0 + 3538 ; Regs used in _Lcd_Set_Cursor: [wreg+status,2+status,0+pclath+cstack] + 3539 ;Lcd_Set_Cursor@a stored from wreg + 3540 0F6B 00F7 movwf Lcd_Set_Cursor@a + 3541 + 3542 ;lcd.c: 42: char temp, z, y;;lcd.c: 43: if (a == 1) { + 3543 0F6C 0377 decf Lcd_Set_Cursor@a,w + 3544 0F6D 1D03 btfss 3,2 + 3545 0F6E 2F90 goto l1706 + 3546 + 3547 ;lcd.c: 44: temp = 0x80 + b - 1; + 3548 0F6F 0874 movf Lcd_Set_Cursor@b,w + 3549 0F70 3E7F addlw 127 + 3550 0F71 00F5 movwf ??_Lcd_Set_Cursor + 3551 0F72 0875 movf ??_Lcd_Set_Cursor,w + 3552 0F73 00FA movwf Lcd_Set_Cursor@temp + 3553 + 3554 ;lcd.c: 45: z = temp >> 4; + 3555 0F74 087A movf Lcd_Set_Cursor@temp,w + 3556 0F75 00F5 movwf ??_Lcd_Set_Cursor + 3557 0F76 3004 movlw 4 + 3558 0F77 u935: + 3559 0F77 1003 clrc + 3560 0F78 0CF5 rrf ??_Lcd_Set_Cursor,f + 3561 0F79 3EFF addlw -1 + 3562 0F7A 1D03 skipz + 3563 0F7B 2F77 goto u935 + 3564 0F7C 0875 movf ??_Lcd_Set_Cursor,w + 3565 0F7D 00F6 movwf ??_Lcd_Set_Cursor+1 + 3566 0F7E 0876 movf ??_Lcd_Set_Cursor+1,w + 3567 0F7F 00F8 movwf Lcd_Set_Cursor@z + 3568 + 3569 ;lcd.c: 46: y = temp & 0x0F; + 3570 0F80 087A movf Lcd_Set_Cursor@temp,w + 3571 0F81 390F andlw 15 + 3572 0F82 00F5 movwf ??_Lcd_Set_Cursor + 3573 0F83 0875 movf ??_Lcd_Set_Cursor,w + 3574 0F84 00F9 movwf Lcd_Set_Cursor@y + 3575 + 3576 ;lcd.c: 47: Lcd_Cmd(z); + 3577 0F85 0878 movf Lcd_Set_Cursor@z,w + 3578 0F86 120A 158A 2538 120A 158A fcall _Lcd_Cmd + 3579 + 3580 ;lcd.c: 48: Lcd_Cmd(y); + 3581 0F8B 0879 movf Lcd_Set_Cursor@y,w + 3582 0F8C 120A 158A 2538 fcall _Lcd_Cmd + 3583 + 3584 ;lcd.c: 49: } else if (a == 2) { + 3585 0F8F 0008 return + 3586 0F90 l1706: + 3587 0F90 3002 movlw 2 + 3588 0F91 0677 xorwf Lcd_Set_Cursor@a,w + 3589 0F92 1D03 btfss 3,2 + 3590 0F93 0008 return + 3591 + 3592 ;lcd.c: 50: temp = 0xC0 + b - 1; + 3593 0F94 0874 movf Lcd_Set_Cursor@b,w + 3594 0F95 3EBF addlw 191 + 3595 0F96 00F5 movwf ??_Lcd_Set_Cursor + 3596 0F97 0875 movf ??_Lcd_Set_Cursor,w + 3597 0F98 00FA movwf Lcd_Set_Cursor@temp + 3598 + 3599 ;lcd.c: 51: z = temp >> 4; + 3600 0F99 087A movf Lcd_Set_Cursor@temp,w + 3601 0F9A 00F5 movwf ??_Lcd_Set_Cursor + 3602 0F9B 3004 movlw 4 + 3603 0F9C u955: + 3604 0F9C 1003 clrc + 3605 0F9D 0CF5 rrf ??_Lcd_Set_Cursor,f + 3606 0F9E 3EFF addlw -1 + 3607 0F9F 1D03 skipz + 3608 0FA0 2F9C goto u955 + 3609 0FA1 0875 movf ??_Lcd_Set_Cursor,w + 3610 0FA2 00F6 movwf ??_Lcd_Set_Cursor+1 + 3611 0FA3 0876 movf ??_Lcd_Set_Cursor+1,w + 3612 0FA4 00F8 movwf Lcd_Set_Cursor@z + 3613 + 3614 ;lcd.c: 52: y = temp & 0x0F; + 3615 0FA5 087A movf Lcd_Set_Cursor@temp,w + 3616 0FA6 390F andlw 15 + 3617 0FA7 00F5 movwf ??_Lcd_Set_Cursor + 3618 0FA8 0875 movf ??_Lcd_Set_Cursor,w + 3619 0FA9 00F9 movwf Lcd_Set_Cursor@y + 3620 + 3621 ;lcd.c: 53: Lcd_Cmd(z); + 3622 0FAA 0878 movf Lcd_Set_Cursor@z,w + 3623 0FAB 120A 158A 2538 120A 158A fcall _Lcd_Cmd + 3624 + 3625 ;lcd.c: 54: Lcd_Cmd(y); + 3626 0FB0 0879 movf Lcd_Set_Cursor@y,w + 3627 0FB1 120A 158A 2538 fcall _Lcd_Cmd + 3628 0FB4 0008 return + 3629 0FB5 __end_of_Lcd_Set_Cursor: + 3630 + 3631 psect text15 + 3632 0CDF __ptext15: + 3633 ;; *************** function _Lcd_Clear ***************** + 3634 ;; Defined at: + 3635 ;; line 36 in file "lcd.c" + 3636 ;; Parameters: Size Location Type + 3637 ;; None + 3638 ;; Auto vars: Size Location Type + 3639 ;; None + 3640 ;; Return value: Size Location Type + 3641 ;; 1 wreg void + 3642 ;; Registers used: + 3643 ;; wreg, status,2, status,0, pclath, cstack + 3644 ;; Tracked objects: + 3645 ;; On entry : 0/0 + 3646 ;; On exit : 0/0 + 3647 ;; Unchanged: 0/0 + 3648 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3649 ;; Params: 0 0 0 0 0 + 3650 ;; Locals: 0 0 0 0 0 + 3651 ;; Temps: 0 0 0 0 0 + 3652 ;; Totals: 0 0 0 0 0 + 3653 ;;Total ram usage: 0 bytes + 3654 ;; Hardware stack levels used: 1 + 3655 ;; Hardware stack levels required when called: 2 + 3656 ;; This function calls: + 3657 ;; _Lcd_Cmd + 3658 ;; This function is called by: + 3659 ;; _display_Intro + 3660 ;; _display_Lcd_Layout + 3661 ;; This function uses a non-reentrant model + 3662 ;; + 3663 + 3664 + 3665 ;psect for function _Lcd_Clear + 3666 0CDF _Lcd_Clear: + 3667 + 3668 ;lcd.c: 37: Lcd_Cmd(0); + 3669 + 3670 ;incstack = 0 + 3671 ; Regs used in _Lcd_Clear: [wreg+status,2+status,0+pclath+cstack] + 3672 0CDF 3000 movlw 0 + 3673 0CE0 120A 158A 2538 120A 158A fcall _Lcd_Cmd + 3674 + 3675 ;lcd.c: 38: Lcd_Cmd(1); + 3676 0CE5 3001 movlw 1 + 3677 0CE6 120A 158A 2538 fcall _Lcd_Cmd + 3678 0CE9 0008 return + 3679 0CEA __end_of_Lcd_Clear: + 3680 + 3681 psect text16 + 3682 0339 __ptext16: + 3683 ;; *************** function _Update_Current_Date_Time ***************** + 3684 ;; Defined at: + 3685 ;; line 94 in file "ds3231.c" + 3686 ;; Parameters: Size Location Type + 3687 ;; None + 3688 ;; Auto vars: Size Location Type + 3689 ;; None + 3690 ;; Return value: Size Location Type + 3691 ;; 1 wreg void + 3692 ;; Registers used: + 3693 ;; wreg, status,2, status,0, pclath, cstack + 3694 ;; Tracked objects: + 3695 ;; On entry : 0/0 + 3696 ;; On exit : 0/0 + 3697 ;; Unchanged: 0/0 + 3698 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3699 ;; Params: 0 0 0 0 0 + 3700 ;; Locals: 0 0 0 0 0 + 3701 ;; Temps: 0 0 0 0 0 + 3702 ;; Totals: 0 0 0 0 0 + 3703 ;;Total ram usage: 0 bytes + 3704 ;; Hardware stack levels used: 1 + 3705 ;; Hardware stack levels required when called: 2 + 3706 ;; This function calls: + 3707 ;; _BCD_2_DEC + 3708 ;; _I2C_Master_Read + 3709 ;; _I2C_Master_Repeated_Start + 3710 ;; _I2C_Master_Start + 3711 ;; _I2C_Master_Stop + 3712 ;; _I2C_Master_Write + 3713 ;; This function is called by: + 3714 ;; _main + 3715 ;; This function uses a non-reentrant model + 3716 ;; + 3717 + 3718 + 3719 ;psect for function _Update_Current_Date_Time + 3720 0339 _Update_Current_Date_Time: + 3721 + 3722 ;ds3231.c: 96: I2C_Master_Start(); + 3723 + 3724 ;incstack = 0 + 3725 ; Regs used in _Update_Current_Date_Time: [wreg+status,2+status,0+pclath+cstack] + 3726 0339 120A 158A 24B8 120A 118A fcall _I2C_Master_Start + 3727 + 3728 ;ds3231.c: 97: I2C_Master_Write(0xD0); + 3729 033E 30D0 movlw 208 + 3730 033F 00F0 movwf I2C_Master_Write@data + 3731 0340 3000 movlw 0 + 3732 0341 00F1 movwf I2C_Master_Write@data+1 + 3733 0342 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3734 + 3735 ;ds3231.c: 98: I2C_Master_Write(0); + 3736 0347 3000 movlw 0 + 3737 0348 00F0 movwf I2C_Master_Write@data + 3738 0349 00F1 movwf I2C_Master_Write@data+1 + 3739 034A 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3740 + 3741 ;ds3231.c: 99: I2C_Master_Repeated_Start(); + 3742 034F 120A 158A 24B1 120A 118A fcall _I2C_Master_Repeated_Start + 3743 + 3744 ;ds3231.c: 102: I2C_Master_Write(0xD1); + 3745 0354 30D1 movlw 209 + 3746 0355 00F0 movwf I2C_Master_Write@data + 3747 0356 3000 movlw 0 + 3748 0357 00F1 movwf I2C_Master_Write@data+1 + 3749 0358 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3750 + 3751 ;ds3231.c: 103: sec = BCD_2_DEC(I2C_Master_Read(1)); + 3752 035D 3001 movlw 1 + 3753 035E 00F0 movwf I2C_Master_Read@ack + 3754 035F 3000 movlw 0 + 3755 0360 00F1 movwf I2C_Master_Read@ack+1 + 3756 0361 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3757 0366 0871 movf ?_I2C_Master_Read+1,w + 3758 0367 00F7 movwf BCD_2_DEC@to_convert+1 + 3759 0368 0870 movf ?_I2C_Master_Read,w + 3760 0369 00F6 movwf BCD_2_DEC@to_convert + 3761 036A 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3762 036F 0877 movf ?_BCD_2_DEC+1,w + 3763 0370 1283 bcf 3,5 ;RP0=0, select bank0 + 3764 0371 1303 bcf 3,6 ;RP1=0, select bank0 + 3765 0372 00ED movwf _sec+1 + 3766 0373 0876 movf ?_BCD_2_DEC,w + 3767 0374 00EC movwf _sec + 3768 + 3769 ;ds3231.c: 104: min = BCD_2_DEC(I2C_Master_Read(1)); + 3770 0375 3001 movlw 1 + 3771 0376 00F0 movwf I2C_Master_Read@ack + 3772 0377 3000 movlw 0 + 3773 0378 00F1 movwf I2C_Master_Read@ack+1 + 3774 0379 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3775 037E 0871 movf ?_I2C_Master_Read+1,w + 3776 037F 00F7 movwf BCD_2_DEC@to_convert+1 + 3777 0380 0870 movf ?_I2C_Master_Read,w + 3778 0381 00F6 movwf BCD_2_DEC@to_convert + 3779 0382 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3780 0387 0877 movf ?_BCD_2_DEC+1,w + 3781 0388 1283 bcf 3,5 ;RP0=0, select bank0 + 3782 0389 1303 bcf 3,6 ;RP1=0, select bank0 + 3783 038A 00EB movwf _min+1 + 3784 038B 0876 movf ?_BCD_2_DEC,w + 3785 038C 00EA movwf _min + 3786 + 3787 ;ds3231.c: 105: hour = BCD_2_DEC(I2C_Master_Read(1)); + 3788 038D 3001 movlw 1 + 3789 038E 00F0 movwf I2C_Master_Read@ack + 3790 038F 3000 movlw 0 + 3791 0390 00F1 movwf I2C_Master_Read@ack+1 + 3792 0391 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3793 0396 0871 movf ?_I2C_Master_Read+1,w + 3794 0397 00F7 movwf BCD_2_DEC@to_convert+1 + 3795 0398 0870 movf ?_I2C_Master_Read,w + 3796 0399 00F6 movwf BCD_2_DEC@to_convert + 3797 039A 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3798 039F 0877 movf ?_BCD_2_DEC+1,w + 3799 03A0 1283 bcf 3,5 ;RP0=0, select bank0 + 3800 03A1 1303 bcf 3,6 ;RP1=0, select bank0 + 3801 03A2 00E9 movwf _hour+1 + 3802 03A3 0876 movf ?_BCD_2_DEC,w + 3803 03A4 00E8 movwf _hour + 3804 + 3805 ;ds3231.c: 106: weekday = I2C_Master_Read(1); + 3806 03A5 3001 movlw 1 + 3807 03A6 00F0 movwf I2C_Master_Read@ack + 3808 03A7 3000 movlw 0 + 3809 03A8 00F1 movwf I2C_Master_Read@ack+1 + 3810 03A9 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3811 03AE 0870 movf ?_I2C_Master_Read,w + 3812 03AF 1683 bsf 3,5 ;RP0=1, select bank1 + 3813 03B0 1303 bcf 3,6 ;RP1=0, select bank1 + 3814 03B1 00CA movwf _weekday^(0+128) + 3815 03B2 0871 movf ?_I2C_Master_Read+1,w + 3816 03B3 00CB movwf (_weekday+1)^(0+128) + 3817 + 3818 ;ds3231.c: 107: date = BCD_2_DEC(I2C_Master_Read(1)); + 3819 03B4 3001 movlw 1 + 3820 03B5 00F0 movwf I2C_Master_Read@ack + 3821 03B6 3000 movlw 0 + 3822 03B7 00F1 movwf I2C_Master_Read@ack+1 + 3823 03B8 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3824 03BD 0871 movf ?_I2C_Master_Read+1,w + 3825 03BE 00F7 movwf BCD_2_DEC@to_convert+1 + 3826 03BF 0870 movf ?_I2C_Master_Read,w + 3827 03C0 00F6 movwf BCD_2_DEC@to_convert + 3828 03C1 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3829 03C6 0877 movf ?_BCD_2_DEC+1,w + 3830 03C7 1283 bcf 3,5 ;RP0=0, select bank0 + 3831 03C8 1303 bcf 3,6 ;RP1=0, select bank0 + 3832 03C9 00E7 movwf _date+1 + 3833 03CA 0876 movf ?_BCD_2_DEC,w + 3834 03CB 00E6 movwf _date + 3835 + 3836 ;ds3231.c: 108: month = BCD_2_DEC(I2C_Master_Read(1)); + 3837 03CC 3001 movlw 1 + 3838 03CD 00F0 movwf I2C_Master_Read@ack + 3839 03CE 3000 movlw 0 + 3840 03CF 00F1 movwf I2C_Master_Read@ack+1 + 3841 03D0 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3842 03D5 0871 movf ?_I2C_Master_Read+1,w + 3843 03D6 00F7 movwf BCD_2_DEC@to_convert+1 + 3844 03D7 0870 movf ?_I2C_Master_Read,w + 3845 03D8 00F6 movwf BCD_2_DEC@to_convert + 3846 03D9 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3847 03DE 0877 movf ?_BCD_2_DEC+1,w + 3848 03DF 1283 bcf 3,5 ;RP0=0, select bank0 + 3849 03E0 1303 bcf 3,6 ;RP1=0, select bank0 + 3850 03E1 00E5 movwf _month+1 + 3851 03E2 0876 movf ?_BCD_2_DEC,w + 3852 03E3 00E4 movwf _month + 3853 + 3854 ;ds3231.c: 109: year = BCD_2_DEC(I2C_Master_Read(1)); + 3855 03E4 3001 movlw 1 + 3856 03E5 00F0 movwf I2C_Master_Read@ack + 3857 03E6 3000 movlw 0 + 3858 03E7 00F1 movwf I2C_Master_Read@ack+1 + 3859 03E8 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3860 03ED 0871 movf ?_I2C_Master_Read+1,w + 3861 03EE 00F7 movwf BCD_2_DEC@to_convert+1 + 3862 03EF 0870 movf ?_I2C_Master_Read,w + 3863 03F0 00F6 movwf BCD_2_DEC@to_convert + 3864 03F1 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3865 03F6 0877 movf ?_BCD_2_DEC+1,w + 3866 03F7 1283 bcf 3,5 ;RP0=0, select bank0 + 3867 03F8 1303 bcf 3,6 ;RP1=0, select bank0 + 3868 03F9 00E3 movwf _year+1 + 3869 03FA 0876 movf ?_BCD_2_DEC,w + 3870 03FB 00E2 movwf _year + 3871 + 3872 ;ds3231.c: 110: I2C_Master_Stop(); + 3873 03FC 120A 158A 24BF 120A 118A fcall _I2C_Master_Stop + 3874 + 3875 ;ds3231.c: 114: I2C_Master_Start(); + 3876 0401 120A 158A 24B8 120A 118A fcall _I2C_Master_Start + 3877 + 3878 ;ds3231.c: 115: I2C_Master_Write(0xD1); + 3879 0406 30D1 movlw 209 + 3880 0407 00F0 movwf I2C_Master_Write@data + 3881 0408 3000 movlw 0 + 3882 0409 00F1 movwf I2C_Master_Write@data+1 + 3883 040A 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3884 + 3885 ;ds3231.c: 116: I2C_Master_Read(1); + 3886 040F 3001 movlw 1 + 3887 0410 00F0 movwf I2C_Master_Read@ack + 3888 0411 3000 movlw 0 + 3889 0412 00F1 movwf I2C_Master_Read@ack+1 + 3890 0413 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3891 + 3892 ;ds3231.c: 117: I2C_Master_Stop(); + 3893 0418 120A 158A 24BF fcall _I2C_Master_Stop + 3894 041B 0008 return + 3895 041C __end_of_Update_Current_Date_Time: + 3896 + 3897 psect text17 + 3898 041C __ptext17: + 3899 ;; *************** function _Read_Alarms_Temp ***************** + 3900 ;; Defined at: + 3901 ;; line 27 in file "ds3231.c" + 3902 ;; Parameters: Size Location Type + 3903 ;; None + 3904 ;; Auto vars: Size Location Type + 3905 ;; None + 3906 ;; Return value: Size Location Type + 3907 ;; 1 wreg void + 3908 ;; Registers used: + 3909 ;; wreg, status,2, status,0, pclath, cstack + 3910 ;; Tracked objects: + 3911 ;; On entry : 0/0 + 3912 ;; On exit : 0/0 + 3913 ;; Unchanged: 0/0 + 3914 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3915 ;; Params: 0 0 0 0 0 + 3916 ;; Locals: 0 0 0 0 0 + 3917 ;; Temps: 0 0 0 0 0 + 3918 ;; Totals: 0 0 0 0 0 + 3919 ;;Total ram usage: 0 bytes + 3920 ;; Hardware stack levels used: 1 + 3921 ;; Hardware stack levels required when called: 2 + 3922 ;; This function calls: + 3923 ;; _BCD_2_DEC + 3924 ;; _I2C_Master_Read + 3925 ;; _I2C_Master_Repeated_Start + 3926 ;; _I2C_Master_Start + 3927 ;; _I2C_Master_Stop + 3928 ;; _I2C_Master_Write + 3929 ;; This function is called by: + 3930 ;; _main + 3931 ;; This function uses a non-reentrant model + 3932 ;; + 3933 + 3934 + 3935 ;psect for function _Read_Alarms_Temp + 3936 041C _Read_Alarms_Temp: + 3937 + 3938 ;ds3231.c: 28: I2C_Master_Start(); + 3939 + 3940 ;incstack = 0 + 3941 ; Regs used in _Read_Alarms_Temp: [wreg+status,2+status,0+pclath+cstack] + 3942 041C 120A 158A 24B8 120A 118A fcall _I2C_Master_Start + 3943 + 3944 ;ds3231.c: 29: I2C_Master_Write(0xD0); + 3945 0421 30D0 movlw 208 + 3946 0422 00F0 movwf I2C_Master_Write@data + 3947 0423 3000 movlw 0 + 3948 0424 00F1 movwf I2C_Master_Write@data+1 + 3949 0425 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3950 + 3951 ;ds3231.c: 30: I2C_Master_Write(0x07); + 3952 042A 3007 movlw 7 + 3953 042B 00F0 movwf I2C_Master_Write@data + 3954 042C 3000 movlw 0 + 3955 042D 00F1 movwf I2C_Master_Write@data+1 + 3956 042E 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3957 + 3958 ;ds3231.c: 31: I2C_Master_Repeated_Start(); + 3959 0433 120A 158A 24B1 120A 118A fcall _I2C_Master_Repeated_Start + 3960 + 3961 ;ds3231.c: 34: I2C_Master_Write(0xD1); + 3962 0438 30D1 movlw 209 + 3963 0439 00F0 movwf I2C_Master_Write@data + 3964 043A 3000 movlw 0 + 3965 043B 00F1 movwf I2C_Master_Write@data+1 + 3966 043C 120A 158A 24C6 120A 118A fcall _I2C_Master_Write + 3967 + 3968 ;ds3231.c: 35: alarm1_sec = BCD_2_DEC(I2C_Master_Read(1)); + 3969 0441 3001 movlw 1 + 3970 0442 00F0 movwf I2C_Master_Read@ack + 3971 0443 3000 movlw 0 + 3972 0444 00F1 movwf I2C_Master_Read@ack+1 + 3973 0445 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3974 044A 0871 movf ?_I2C_Master_Read+1,w + 3975 044B 00F7 movwf BCD_2_DEC@to_convert+1 + 3976 044C 0870 movf ?_I2C_Master_Read,w + 3977 044D 00F6 movwf BCD_2_DEC@to_convert + 3978 044E 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3979 0453 0877 movf ?_BCD_2_DEC+1,w + 3980 0454 1283 bcf 3,5 ;RP0=0, select bank0 + 3981 0455 1303 bcf 3,6 ;RP1=0, select bank0 + 3982 0456 00B3 movwf _alarm1_sec+1 + 3983 0457 0876 movf ?_BCD_2_DEC,w + 3984 0458 00B2 movwf _alarm1_sec + 3985 + 3986 ;ds3231.c: 36: alarm1_min = BCD_2_DEC(I2C_Master_Read(1)); + 3987 0459 3001 movlw 1 + 3988 045A 00F0 movwf I2C_Master_Read@ack + 3989 045B 3000 movlw 0 + 3990 045C 00F1 movwf I2C_Master_Read@ack+1 + 3991 045D 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 3992 0462 0871 movf ?_I2C_Master_Read+1,w + 3993 0463 00F7 movwf BCD_2_DEC@to_convert+1 + 3994 0464 0870 movf ?_I2C_Master_Read,w + 3995 0465 00F6 movwf BCD_2_DEC@to_convert + 3996 0466 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 3997 046B 0877 movf ?_BCD_2_DEC+1,w + 3998 046C 1283 bcf 3,5 ;RP0=0, select bank0 + 3999 046D 1303 bcf 3,6 ;RP1=0, select bank0 + 4000 046E 00B1 movwf _alarm1_min+1 + 4001 046F 0876 movf ?_BCD_2_DEC,w + 4002 0470 00B0 movwf _alarm1_min + 4003 + 4004 ;ds3231.c: 37: alarm1_hour = BCD_2_DEC(I2C_Master_Read(1)); + 4005 0471 3001 movlw 1 + 4006 0472 00F0 movwf I2C_Master_Read@ack + 4007 0473 3000 movlw 0 + 4008 0474 00F1 movwf I2C_Master_Read@ack+1 + 4009 0475 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4010 047A 0871 movf ?_I2C_Master_Read+1,w + 4011 047B 00F7 movwf BCD_2_DEC@to_convert+1 + 4012 047C 0870 movf ?_I2C_Master_Read,w + 4013 047D 00F6 movwf BCD_2_DEC@to_convert + 4014 047E 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 4015 0483 0877 movf ?_BCD_2_DEC+1,w + 4016 0484 1283 bcf 3,5 ;RP0=0, select bank0 + 4017 0485 1303 bcf 3,6 ;RP1=0, select bank0 + 4018 0486 00AF movwf _alarm1_hour+1 + 4019 0487 0876 movf ?_BCD_2_DEC,w + 4020 0488 00AE movwf _alarm1_hour + 4021 + 4022 ;ds3231.c: 38: I2C_Master_Read(1); + 4023 0489 3001 movlw 1 + 4024 048A 00F0 movwf I2C_Master_Read@ack + 4025 048B 3000 movlw 0 + 4026 048C 00F1 movwf I2C_Master_Read@ack+1 + 4027 048D 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4028 + 4029 ;ds3231.c: 39: alarm2_min = BCD_2_DEC(I2C_Master_Read(1)); + 4030 0492 3001 movlw 1 + 4031 0493 00F0 movwf I2C_Master_Read@ack + 4032 0494 3000 movlw 0 + 4033 0495 00F1 movwf I2C_Master_Read@ack+1 + 4034 0496 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4035 049B 0871 movf ?_I2C_Master_Read+1,w + 4036 049C 00F7 movwf BCD_2_DEC@to_convert+1 + 4037 049D 0870 movf ?_I2C_Master_Read,w + 4038 049E 00F6 movwf BCD_2_DEC@to_convert + 4039 049F 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 4040 04A4 0877 movf ?_BCD_2_DEC+1,w + 4041 04A5 1283 bcf 3,5 ;RP0=0, select bank0 + 4042 04A6 1303 bcf 3,6 ;RP1=0, select bank0 + 4043 04A7 00AD movwf _alarm2_min+1 + 4044 04A8 0876 movf ?_BCD_2_DEC,w + 4045 04A9 00AC movwf _alarm2_min + 4046 + 4047 ;ds3231.c: 40: alarm2_hour = BCD_2_DEC(I2C_Master_Read(1)); + 4048 04AA 3001 movlw 1 + 4049 04AB 00F0 movwf I2C_Master_Read@ack + 4050 04AC 3000 movlw 0 + 4051 04AD 00F1 movwf I2C_Master_Read@ack+1 + 4052 04AE 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4053 04B3 0871 movf ?_I2C_Master_Read+1,w + 4054 04B4 00F7 movwf BCD_2_DEC@to_convert+1 + 4055 04B5 0870 movf ?_I2C_Master_Read,w + 4056 04B6 00F6 movwf BCD_2_DEC@to_convert + 4057 04B7 120A 118A 2074 120A 118A fcall _BCD_2_DEC + 4058 04BC 0877 movf ?_BCD_2_DEC+1,w + 4059 04BD 1283 bcf 3,5 ;RP0=0, select bank0 + 4060 04BE 1303 bcf 3,6 ;RP1=0, select bank0 + 4061 04BF 00AB movwf _alarm2_hour+1 + 4062 04C0 0876 movf ?_BCD_2_DEC,w + 4063 04C1 00AA movwf _alarm2_hour + 4064 + 4065 ;ds3231.c: 41: I2C_Master_Read(1); + 4066 04C2 3001 movlw 1 + 4067 04C3 00F0 movwf I2C_Master_Read@ack + 4068 04C4 3000 movlw 0 + 4069 04C5 00F1 movwf I2C_Master_Read@ack+1 + 4070 04C6 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4071 + 4072 ;ds3231.c: 42: control_reg = I2C_Master_Read(1); + 4073 04CB 3001 movlw 1 + 4074 04CC 00F0 movwf I2C_Master_Read@ack + 4075 04CD 3000 movlw 0 + 4076 04CE 00F1 movwf I2C_Master_Read@ack+1 + 4077 04CF 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4078 04D4 0871 movf ?_I2C_Master_Read+1,w + 4079 04D5 1283 bcf 3,5 ;RP0=0, select bank0 + 4080 04D6 1303 bcf 3,6 ;RP1=0, select bank0 + 4081 04D7 00A5 movwf _control_reg+1 + 4082 04D8 0870 movf ?_I2C_Master_Read,w + 4083 04D9 00A4 movwf _control_reg + 4084 + 4085 ;ds3231.c: 43: status_reg = I2C_Master_Read(1); + 4086 04DA 3001 movlw 1 + 4087 04DB 00F0 movwf I2C_Master_Read@ack + 4088 04DC 3000 movlw 0 + 4089 04DD 00F1 movwf I2C_Master_Read@ack+1 + 4090 04DE 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4091 04E3 0871 movf ?_I2C_Master_Read+1,w + 4092 04E4 1683 bsf 3,5 ;RP0=1, select bank1 + 4093 04E5 1303 bcf 3,6 ;RP1=0, select bank1 + 4094 04E6 00CD movwf (_status_reg+1)^(0+128) + 4095 04E7 0870 movf ?_I2C_Master_Read,w + 4096 04E8 00CC movwf _status_reg^(0+128) + 4097 + 4098 ;ds3231.c: 44: I2C_Master_Read(1); + 4099 04E9 3001 movlw 1 + 4100 04EA 00F0 movwf I2C_Master_Read@ack + 4101 04EB 3000 movlw 0 + 4102 04EC 00F1 movwf I2C_Master_Read@ack+1 + 4103 04ED 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4104 + 4105 ;ds3231.c: 46: temperature_msb = I2C_Master_Read(1); + 4106 04F2 3001 movlw 1 + 4107 04F3 00F0 movwf I2C_Master_Read@ack + 4108 04F4 3000 movlw 0 + 4109 04F5 00F1 movwf I2C_Master_Read@ack+1 + 4110 04F6 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4111 04FB 0871 movf ?_I2C_Master_Read+1,w + 4112 04FC 1283 bcf 3,5 ;RP0=0, select bank0 + 4113 04FD 1303 bcf 3,6 ;RP1=0, select bank0 + 4114 04FE 00A1 movwf _temperature_msb+1 + 4115 04FF 0870 movf ?_I2C_Master_Read,w + 4116 0500 00A0 movwf _temperature_msb + 4117 + 4118 ;ds3231.c: 48: temperature_lsb = I2C_Master_Read(0); + 4119 0501 3000 movlw 0 + 4120 0502 00F0 movwf I2C_Master_Read@ack + 4121 0503 00F1 movwf I2C_Master_Read@ack+1 + 4122 0504 120A 158A 2573 120A 118A fcall _I2C_Master_Read + 4123 0509 0871 movf ?_I2C_Master_Read+1,w + 4124 050A 1283 bcf 3,5 ;RP0=0, select bank0 + 4125 050B 1303 bcf 3,6 ;RP1=0, select bank0 + 4126 050C 00A3 movwf _temperature_lsb+1 + 4127 050D 0870 movf ?_I2C_Master_Read,w + 4128 050E 00A2 movwf _temperature_lsb + 4129 + 4130 ;ds3231.c: 49: I2C_Master_Stop(); + 4131 050F 120A 158A 24BF fcall _I2C_Master_Stop + 4132 0512 0008 return + 4133 0513 __end_of_Read_Alarms_Temp: + 4134 + 4135 psect text18 + 4136 0CC6 __ptext18: + 4137 ;; *************** function _I2C_Master_Write ***************** + 4138 ;; Defined at: + 4139 ;; line 42 in file "i2c.c" + 4140 ;; Parameters: Size Location Type + 4141 ;; data 2 0[COMMON] unsigned int + 4142 ;; Auto vars: Size Location Type + 4143 ;; None + 4144 ;; Return value: Size Location Type + 4145 ;; 1 wreg void + 4146 ;; Registers used: + 4147 ;; wreg, status,2, status,0, pclath, cstack + 4148 ;; Tracked objects: + 4149 ;; On entry : 0/0 + 4150 ;; On exit : 0/0 + 4151 ;; Unchanged: 0/0 + 4152 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4153 ;; Params: 2 0 0 0 0 + 4154 ;; Locals: 0 0 0 0 0 + 4155 ;; Temps: 0 0 0 0 0 + 4156 ;; Totals: 2 0 0 0 0 + 4157 ;;Total ram usage: 2 bytes + 4158 ;; Hardware stack levels used: 1 + 4159 ;; Hardware stack levels required when called: 1 + 4160 ;; This function calls: + 4161 ;; _I2C_Master_Wait + 4162 ;; This function is called by: + 4163 ;; _Read_Alarms_Temp + 4164 ;; _Update_Current_Date_Time + 4165 ;; _Set_Date + 4166 ;; _Set_DayOfWeek + 4167 ;; _Set_Time + 4168 ;; _Set_Time_Date + 4169 ;; _Write_Alarms + 4170 ;; This function uses a non-reentrant model + 4171 ;; + 4172 + 4173 + 4174 ;psect for function _I2C_Master_Write + 4175 0CC6 _I2C_Master_Write: + 4176 + 4177 ;i2c.c: 42: void I2C_Master_Write(unsigned data);i2c.c: 43: {;i2c.c: 44: I2C_Master_Wa + + it(); + 4178 + 4179 ;incstack = 0 + 4180 ; Regs used in _I2C_Master_Write: [wreg+status,2+status,0+pclath+cstack] + 4181 0CC6 120A 158A 24D6 fcall _I2C_Master_Wait + 4182 + 4183 ;i2c.c: 45: SSPBUF = data; + 4184 0CC9 0870 movf I2C_Master_Write@data,w + 4185 0CCA 1283 bcf 3,5 ;RP0=0, select bank0 + 4186 0CCB 1303 bcf 3,6 ;RP1=0, select bank0 + 4187 0CCC 0093 movwf 19 ;volatile + 4188 0CCD 0008 return + 4189 0CCE __end_of_I2C_Master_Write: + 4190 + 4191 psect text19 + 4192 0CBF __ptext19: + 4193 ;; *************** function _I2C_Master_Stop ***************** + 4194 ;; Defined at: + 4195 ;; line 36 in file "i2c.c" + 4196 ;; Parameters: Size Location Type + 4197 ;; None + 4198 ;; Auto vars: Size Location Type + 4199 ;; None + 4200 ;; Return value: Size Location Type + 4201 ;; 1 wreg void + 4202 ;; Registers used: + 4203 ;; wreg, status,2, status,0, pclath, cstack + 4204 ;; Tracked objects: + 4205 ;; On entry : 0/0 + 4206 ;; On exit : 0/0 + 4207 ;; Unchanged: 0/0 + 4208 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4209 ;; Params: 0 0 0 0 0 + 4210 ;; Locals: 0 0 0 0 0 + 4211 ;; Temps: 0 0 0 0 0 + 4212 ;; Totals: 0 0 0 0 0 + 4213 ;;Total ram usage: 0 bytes + 4214 ;; Hardware stack levels used: 1 + 4215 ;; Hardware stack levels required when called: 1 + 4216 ;; This function calls: + 4217 ;; _I2C_Master_Wait + 4218 ;; This function is called by: + 4219 ;; _Read_Alarms_Temp + 4220 ;; _Update_Current_Date_Time + 4221 ;; _Set_Date + 4222 ;; _Set_DayOfWeek + 4223 ;; _Set_Time + 4224 ;; _Set_Time_Date + 4225 ;; _Write_Alarms + 4226 ;; This function uses a non-reentrant model + 4227 ;; + 4228 + 4229 + 4230 ;psect for function _I2C_Master_Stop + 4231 0CBF _I2C_Master_Stop: + 4232 + 4233 ;i2c.c: 38: I2C_Master_Wait(); + 4234 + 4235 ;incstack = 0 + 4236 ; Regs used in _I2C_Master_Stop: [wreg+status,2+status,0+pclath+cstack] + 4237 0CBF 120A 158A 24D6 fcall _I2C_Master_Wait + 4238 + 4239 ;i2c.c: 39: PEN = 1; + 4240 0CC2 1683 bsf 3,5 ;RP0=1, select bank1 + 4241 0CC3 1303 bcf 3,6 ;RP1=0, select bank1 + 4242 0CC4 1511 bsf 17,2 ;volatile + 4243 0CC5 0008 return + 4244 0CC6 __end_of_I2C_Master_Stop: + 4245 + 4246 psect text20 + 4247 0CB8 __ptext20: + 4248 ;; *************** function _I2C_Master_Start ***************** + 4249 ;; Defined at: + 4250 ;; line 24 in file "i2c.c" + 4251 ;; Parameters: Size Location Type + 4252 ;; None + 4253 ;; Auto vars: Size Location Type + 4254 ;; None + 4255 ;; Return value: Size Location Type + 4256 ;; 1 wreg void + 4257 ;; Registers used: + 4258 ;; wreg, status,2, status,0, pclath, cstack + 4259 ;; Tracked objects: + 4260 ;; On entry : 0/0 + 4261 ;; On exit : 0/0 + 4262 ;; Unchanged: 0/0 + 4263 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4264 ;; Params: 0 0 0 0 0 + 4265 ;; Locals: 0 0 0 0 0 + 4266 ;; Temps: 0 0 0 0 0 + 4267 ;; Totals: 0 0 0 0 0 + 4268 ;;Total ram usage: 0 bytes + 4269 ;; Hardware stack levels used: 1 + 4270 ;; Hardware stack levels required when called: 1 + 4271 ;; This function calls: + 4272 ;; _I2C_Master_Wait + 4273 ;; This function is called by: + 4274 ;; _Read_Alarms_Temp + 4275 ;; _Update_Current_Date_Time + 4276 ;; _Set_Date + 4277 ;; _Set_DayOfWeek + 4278 ;; _Set_Time + 4279 ;; _Set_Time_Date + 4280 ;; _Write_Alarms + 4281 ;; This function uses a non-reentrant model + 4282 ;; + 4283 + 4284 + 4285 ;psect for function _I2C_Master_Start + 4286 0CB8 _I2C_Master_Start: + 4287 + 4288 ;i2c.c: 26: I2C_Master_Wait(); + 4289 + 4290 ;incstack = 0 + 4291 ; Regs used in _I2C_Master_Start: [wreg+status,2+status,0+pclath+cstack] + 4292 0CB8 120A 158A 24D6 fcall _I2C_Master_Wait + 4293 + 4294 ;i2c.c: 27: SEN = 1; + 4295 0CBB 1683 bsf 3,5 ;RP0=1, select bank1 + 4296 0CBC 1303 bcf 3,6 ;RP1=0, select bank1 + 4297 0CBD 1411 bsf 17,0 ;volatile + 4298 0CBE 0008 return + 4299 0CBF __end_of_I2C_Master_Start: + 4300 + 4301 psect text21 + 4302 0CB1 __ptext21: + 4303 ;; *************** function _I2C_Master_Repeated_Start ***************** + 4304 ;; Defined at: + 4305 ;; line 30 in file "i2c.c" + 4306 ;; Parameters: Size Location Type + 4307 ;; None + 4308 ;; Auto vars: Size Location Type + 4309 ;; None + 4310 ;; Return value: Size Location Type + 4311 ;; 1 wreg void + 4312 ;; Registers used: + 4313 ;; wreg, status,2, status,0, pclath, cstack + 4314 ;; Tracked objects: + 4315 ;; On entry : 0/0 + 4316 ;; On exit : 0/0 + 4317 ;; Unchanged: 0/0 + 4318 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4319 ;; Params: 0 0 0 0 0 + 4320 ;; Locals: 0 0 0 0 0 + 4321 ;; Temps: 0 0 0 0 0 + 4322 ;; Totals: 0 0 0 0 0 + 4323 ;;Total ram usage: 0 bytes + 4324 ;; Hardware stack levels used: 1 + 4325 ;; Hardware stack levels required when called: 1 + 4326 ;; This function calls: + 4327 ;; _I2C_Master_Wait + 4328 ;; This function is called by: + 4329 ;; _Read_Alarms_Temp + 4330 ;; _Update_Current_Date_Time + 4331 ;; This function uses a non-reentrant model + 4332 ;; + 4333 + 4334 + 4335 ;psect for function _I2C_Master_Repeated_Start + 4336 0CB1 _I2C_Master_Repeated_Start: + 4337 + 4338 ;i2c.c: 32: I2C_Master_Wait(); + 4339 + 4340 ;incstack = 0 + 4341 ; Regs used in _I2C_Master_Repeated_Start: [wreg+status,2+status,0+pclath+cstack] + 4342 0CB1 120A 158A 24D6 fcall _I2C_Master_Wait + 4343 + 4344 ;i2c.c: 33: RSEN = 1; + 4345 0CB4 1683 bsf 3,5 ;RP0=1, select bank1 + 4346 0CB5 1303 bcf 3,6 ;RP1=0, select bank1 + 4347 0CB6 1491 bsf 17,1 ;volatile + 4348 0CB7 0008 return + 4349 0CB8 __end_of_I2C_Master_Repeated_Start: + 4350 + 4351 psect text22 + 4352 0D73 __ptext22: + 4353 ;; *************** function _I2C_Master_Read ***************** + 4354 ;; Defined at: + 4355 ;; line 48 in file "i2c.c" + 4356 ;; Parameters: Size Location Type + 4357 ;; ack 2 0[COMMON] unsigned short + 4358 ;; Auto vars: Size Location Type + 4359 ;; incoming 2 4[COMMON] unsigned short + 4360 ;; Return value: Size Location Type + 4361 ;; 2 0[COMMON] unsigned short + 4362 ;; Registers used: + 4363 ;; wreg, status,2, status,0, pclath, cstack + 4364 ;; Tracked objects: + 4365 ;; On entry : 0/0 + 4366 ;; On exit : 0/0 + 4367 ;; Unchanged: 0/0 + 4368 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4369 ;; Params: 2 0 0 0 0 + 4370 ;; Locals: 2 0 0 0 0 + 4371 ;; Temps: 2 0 0 0 0 + 4372 ;; Totals: 6 0 0 0 0 + 4373 ;;Total ram usage: 6 bytes + 4374 ;; Hardware stack levels used: 1 + 4375 ;; Hardware stack levels required when called: 1 + 4376 ;; This function calls: + 4377 ;; _I2C_Master_Wait + 4378 ;; This function is called by: + 4379 ;; _Read_Alarms_Temp + 4380 ;; _Update_Current_Date_Time + 4381 ;; This function uses a non-reentrant model + 4382 ;; + 4383 + 4384 + 4385 ;psect for function _I2C_Master_Read + 4386 0D73 _I2C_Master_Read: + 4387 + 4388 ;i2c.c: 48: unsigned short I2C_Master_Read(unsigned short ack);i2c.c: 49: {;i2c.c: 50: + + unsigned short incoming;;i2c.c: 51: I2C_Master_Wait(); + 4389 + 4390 ;incstack = 0 + 4391 ; Regs used in _I2C_Master_Read: [wreg+status,2+status,0+pclath+cstack] + 4392 0D73 120A 158A 24D6 120A 158A fcall _I2C_Master_Wait + 4393 + 4394 ;i2c.c: 52: RCEN = 1; + 4395 0D78 1683 bsf 3,5 ;RP0=1, select bank1 + 4396 0D79 1303 bcf 3,6 ;RP1=0, select bank1 + 4397 0D7A 1591 bsf 17,3 ;volatile + 4398 + 4399 ;i2c.c: 54: I2C_Master_Wait(); + 4400 0D7B 120A 158A 24D6 120A 158A fcall _I2C_Master_Wait + 4401 + 4402 ;i2c.c: 55: incoming = SSPBUF; + 4403 0D80 1283 bcf 3,5 ;RP0=0, select bank0 + 4404 0D81 1303 bcf 3,6 ;RP1=0, select bank0 + 4405 0D82 0813 movf 19,w ;volatile + 4406 0D83 00F2 movwf ??_I2C_Master_Read + 4407 0D84 01F3 clrf ??_I2C_Master_Read+1 + 4408 0D85 0872 movf ??_I2C_Master_Read,w + 4409 0D86 00F4 movwf I2C_Master_Read@incoming + 4410 0D87 0873 movf ??_I2C_Master_Read+1,w + 4411 0D88 00F5 movwf I2C_Master_Read@incoming+1 + 4412 + 4413 ;i2c.c: 57: I2C_Master_Wait(); + 4414 0D89 120A 158A 24D6 120A 158A fcall _I2C_Master_Wait + 4415 + 4416 ;i2c.c: 58: ACKDT = (ack)?0:1; + 4417 0D8E 0870 movf I2C_Master_Read@ack,w + 4418 0D8F 0471 iorwf I2C_Master_Read@ack+1,w + 4419 0D90 1D03 btfss 3,2 + 4420 0D91 2D96 goto u990 + 4421 0D92 1683 bsf 3,5 ;RP0=1, select bank1 + 4422 0D93 1303 bcf 3,6 ;RP1=0, select bank1 + 4423 0D94 1691 bsf 17,5 ;volatile + 4424 0D95 2D99 goto l1766 + 4425 0D96 u990: + 4426 0D96 1683 bsf 3,5 ;RP0=1, select bank1 + 4427 0D97 1303 bcf 3,6 ;RP1=0, select bank1 + 4428 0D98 1291 bcf 17,5 ;volatile + 4429 0D99 l1766: + 4430 + 4431 ;i2c.c: 59: ACKEN = 1; + 4432 0D99 1611 bsf 17,4 ;volatile + 4433 + 4434 ;i2c.c: 61: return incoming; + 4435 0D9A 0875 movf I2C_Master_Read@incoming+1,w + 4436 0D9B 00F1 movwf ?_I2C_Master_Read+1 + 4437 0D9C 0874 movf I2C_Master_Read@incoming,w + 4438 0D9D 00F0 movwf ?_I2C_Master_Read + 4439 0D9E 0008 return + 4440 0D9F __end_of_I2C_Master_Read: + 4441 + 4442 psect text23 + 4443 0CD6 __ptext23: + 4444 ;; *************** function _I2C_Master_Wait ***************** + 4445 ;; Defined at: + 4446 ;; line 19 in file "i2c.c" + 4447 ;; Parameters: Size Location Type + 4448 ;; None + 4449 ;; Auto vars: Size Location Type + 4450 ;; None + 4451 ;; Return value: Size Location Type + 4452 ;; 1 wreg void + 4453 ;; Registers used: + 4454 ;; wreg, status,2 + 4455 ;; Tracked objects: + 4456 ;; On entry : 0/0 + 4457 ;; On exit : 0/0 + 4458 ;; Unchanged: 0/0 + 4459 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4460 ;; Params: 0 0 0 0 0 + 4461 ;; Locals: 0 0 0 0 0 + 4462 ;; Temps: 0 0 0 0 0 + 4463 ;; Totals: 0 0 0 0 0 + 4464 ;;Total ram usage: 0 bytes + 4465 ;; Hardware stack levels used: 1 + 4466 ;; This function calls: + 4467 ;; Nothing + 4468 ;; This function is called by: + 4469 ;; _I2C_Master_Start + 4470 ;; _I2C_Master_Repeated_Start + 4471 ;; _I2C_Master_Stop + 4472 ;; _I2C_Master_Write + 4473 ;; _I2C_Master_Read + 4474 ;; This function uses a non-reentrant model + 4475 ;; + 4476 + 4477 + 4478 ;psect for function _I2C_Master_Wait + 4479 0CD6 _I2C_Master_Wait: + 4480 0CD6 l1676: + 4481 ;i2c.c: 21: while ( (SSPCON2 & 0b00011111) || (SSPSTAT & 0b00000100) ) ; + 4482 + 4483 ;incstack = 0 + 4484 ; Regs used in _I2C_Master_Wait: [wreg+status,2] + 4485 + 4486 0CD6 1683 bsf 3,5 ;RP0=1, select bank1 + 4487 0CD7 1303 bcf 3,6 ;RP1=0, select bank1 + 4488 0CD8 0811 movf 17,w ;volatile + 4489 0CD9 391F andlw 31 + 4490 0CDA 1D03 btfss 3,2 + 4491 0CDB 2CD6 goto l1676 + 4492 0CDC 1D14 btfss 20,2 ;volatile + 4493 0CDD 0008 return + 4494 0CDE 2CD6 goto l1676 + 4495 0CDF __end_of_I2C_Master_Wait: + 4496 + 4497 psect text24 + 4498 0074 __ptext24: + 4499 ;; *************** function _BCD_2_DEC ***************** + 4500 ;; Defined at: + 4501 ;; line 19 in file "ds3231.c" + 4502 ;; Parameters: Size Location Type + 4503 ;; to_convert 2 6[COMMON] int + 4504 ;; Auto vars: Size Location Type + 4505 ;; None + 4506 ;; Return value: Size Location Type + 4507 ;; 2 6[COMMON] int + 4508 ;; Registers used: + 4509 ;; wreg, status,2, status,0, pclath, cstack + 4510 ;; Tracked objects: + 4511 ;; On entry : 0/0 + 4512 ;; On exit : 0/0 + 4513 ;; Unchanged: 0/0 + 4514 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4515 ;; Params: 2 0 0 0 0 + 4516 ;; Locals: 0 0 0 0 0 + 4517 ;; Temps: 2 0 0 0 0 + 4518 ;; Totals: 4 0 0 0 0 + 4519 ;;Total ram usage: 4 bytes + 4520 ;; Hardware stack levels used: 1 + 4521 ;; Hardware stack levels required when called: 1 + 4522 ;; This function calls: + 4523 ;; ___wmul + 4524 ;; This function is called by: + 4525 ;; _Read_Alarms_Temp + 4526 ;; _Update_Current_Date_Time + 4527 ;; This function uses a non-reentrant model + 4528 ;; + 4529 + 4530 + 4531 ;psect for function _BCD_2_DEC + 4532 0074 _BCD_2_DEC: + 4533 + 4534 ;ds3231.c: 20: return (to_convert >> 4) * 10 + (to_convert & 0x0F); + 4535 + 4536 ;incstack = 0 + 4537 ; Regs used in _BCD_2_DEC: [wreg+status,2+status,0+pclath+cstack] + 4538 0074 300F movlw 15 + 4539 0075 0576 andwf BCD_2_DEC@to_convert,w + 4540 0076 00F8 movwf ??_BCD_2_DEC + 4541 0077 3000 movlw 0 + 4542 0078 0577 andwf BCD_2_DEC@to_convert+1,w + 4543 0079 00F9 movwf ??_BCD_2_DEC+1 + 4544 007A 0E76 swapf BCD_2_DEC@to_convert,w + 4545 007B 390F andlw 15 + 4546 007C 00F0 movwf ___wmul@multiplier + 4547 007D 0E77 swapf BCD_2_DEC@to_convert+1,w + 4548 007E 39F0 andlw 240 + 4549 007F 04F0 iorwf ___wmul@multiplier,f + 4550 0080 0E77 swapf BCD_2_DEC@to_convert+1,w + 4551 0081 390F andlw 15 + 4552 0082 00F1 movwf ___wmul@multiplier+1 + 4553 0083 30F0 movlw 240 + 4554 0084 1DF1 btfss ___wmul@multiplier+1,3 + 4555 0085 3000 movlw 0 + 4556 0086 04F1 iorwf ___wmul@multiplier+1,f + 4557 0087 300A movlw 10 + 4558 0088 00F2 movwf ___wmul@multiplicand + 4559 0089 3000 movlw 0 + 4560 008A 00F3 movwf ___wmul@multiplicand+1 + 4561 008B 120A 158A 2552 fcall ___wmul + 4562 008E 0878 movf ??_BCD_2_DEC,w + 4563 008F 0770 addwf ?___wmul,w + 4564 0090 00F6 movwf ?_BCD_2_DEC + 4565 0091 0879 movf ??_BCD_2_DEC+1,w + 4566 0092 1803 skipnc + 4567 0093 0A79 incf ??_BCD_2_DEC+1,w + 4568 0094 0771 addwf ?___wmul+1,w + 4569 0095 00F7 movwf ?_BCD_2_DEC+1 + 4570 0096 0008 return + 4571 0097 __end_of_BCD_2_DEC: + 4572 + 4573 psect text25 + 4574 0D52 __ptext25: + 4575 ;; *************** function ___wmul ***************** + 4576 ;; Defined at: + 4577 ;; line 15 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\Umul16.c" + 4578 ;; Parameters: Size Location Type + 4579 ;; multiplier 2 0[COMMON] unsigned int + 4580 ;; multiplicand 2 2[COMMON] unsigned int + 4581 ;; Auto vars: Size Location Type + 4582 ;; product 2 4[COMMON] unsigned int + 4583 ;; Return value: Size Location Type + 4584 ;; 2 0[COMMON] unsigned int + 4585 ;; Registers used: + 4586 ;; wreg, status,2, status,0 + 4587 ;; Tracked objects: + 4588 ;; On entry : 0/0 + 4589 ;; On exit : 0/0 + 4590 ;; Unchanged: 0/0 + 4591 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4592 ;; Params: 4 0 0 0 0 + 4593 ;; Locals: 2 0 0 0 0 + 4594 ;; Temps: 0 0 0 0 0 + 4595 ;; Totals: 6 0 0 0 0 + 4596 ;;Total ram usage: 6 bytes + 4597 ;; Hardware stack levels used: 1 + 4598 ;; This function calls: + 4599 ;; Nothing + 4600 ;; This function is called by: + 4601 ;; _format_Temperature + 4602 ;; _BCD_2_DEC + 4603 ;; This function uses a non-reentrant model + 4604 ;; + 4605 + 4606 + 4607 ;psect for function ___wmul + 4608 0D52 ___wmul: + 4609 + 4610 ;incstack = 0 + 4611 ; Regs used in ___wmul: [wreg+status,2+status,0] + 4612 0D52 01F4 clrf ___wmul@product + 4613 0D53 01F5 clrf ___wmul@product+1 + 4614 0D54 l1682: + 4615 0D54 1C70 btfss ___wmul@multiplier,0 + 4616 0D55 2D5C goto l578 + 4617 0D56 0872 movf ___wmul@multiplicand,w + 4618 0D57 07F4 addwf ___wmul@product,f + 4619 0D58 1803 skipnc + 4620 0D59 0AF5 incf ___wmul@product+1,f + 4621 0D5A 0873 movf ___wmul@multiplicand+1,w + 4622 0D5B 07F5 addwf ___wmul@product+1,f + 4623 0D5C l578: + 4624 0D5C 3001 movlw 1 + 4625 0D5D u895: + 4626 0D5D 1003 clrc + 4627 0D5E 0DF2 rlf ___wmul@multiplicand,f + 4628 0D5F 0DF3 rlf ___wmul@multiplicand+1,f + 4629 0D60 3EFF addlw -1 + 4630 0D61 1D03 skipz + 4631 0D62 2D5D goto u895 + 4632 0D63 3001 movlw 1 + 4633 0D64 u905: + 4634 0D64 1003 clrc + 4635 0D65 0CF1 rrf ___wmul@multiplier+1,f + 4636 0D66 0CF0 rrf ___wmul@multiplier,f + 4637 0D67 3EFF addlw -1 + 4638 0D68 1D03 skipz + 4639 0D69 2D64 goto u905 + 4640 0D6A 0870 movf ___wmul@multiplier,w + 4641 0D6B 0471 iorwf ___wmul@multiplier+1,w + 4642 0D6C 1D03 btfss 3,2 + 4643 0D6D 2D54 goto l1682 + 4644 0D6E 0875 movf ___wmul@product+1,w + 4645 0D6F 00F1 movwf ?___wmul+1 + 4646 0D70 0874 movf ___wmul@product,w + 4647 0D71 00F0 movwf ?___wmul + 4648 0D72 0008 return + 4649 0D73 __end_of___wmul: + 4650 + 4651 psect text26 + 4652 0190 __ptext26: + 4653 ;; *************** function _Lcd_Init ***************** + 4654 ;; Defined at: + 4655 ;; line 58 in file "lcd.c" + 4656 ;; Parameters: Size Location Type + 4657 ;; None + 4658 ;; Auto vars: Size Location Type + 4659 ;; None + 4660 ;; Return value: Size Location Type + 4661 ;; 1 wreg void + 4662 ;; Registers used: + 4663 ;; wreg, status,2, status,0, pclath, cstack + 4664 ;; Tracked objects: + 4665 ;; On entry : 0/0 + 4666 ;; On exit : 0/0 + 4667 ;; Unchanged: 0/0 + 4668 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4669 ;; Params: 0 0 0 0 0 + 4670 ;; Locals: 0 0 0 0 0 + 4671 ;; Temps: 2 0 0 0 0 + 4672 ;; Totals: 2 0 0 0 0 + 4673 ;;Total ram usage: 2 bytes + 4674 ;; Hardware stack levels used: 1 + 4675 ;; Hardware stack levels required when called: 2 + 4676 ;; This function calls: + 4677 ;; _Lcd_Cmd + 4678 ;; _Lcd_Port + 4679 ;; This function is called by: + 4680 ;; _main + 4681 ;; This function uses a non-reentrant model + 4682 ;; + 4683 + 4684 + 4685 ;psect for function _Lcd_Init + 4686 0190 _Lcd_Init: + 4687 + 4688 ;lcd.c: 59: Lcd_Port(0x00); + 4689 + 4690 ;incstack = 0 + 4691 ; Regs used in _Lcd_Init: [wreg+status,2+status,0+pclath+cstack] + 4692 0190 3000 movlw 0 + 4693 0191 120A 158A 251E 120A 118A fcall _Lcd_Port + 4694 + 4695 ;lcd.c: 60: _delay((unsigned long)((20)*(20000000/4000.0))); + 4696 0196 3082 movlw 130 + 4697 0197 00F5 movwf ??_Lcd_Init+1 + 4698 0198 30DD movlw 221 + 4699 0199 00F4 movwf ??_Lcd_Init + 4700 019A u1647: + 4701 019A 0BF4 decfsz ??_Lcd_Init,f + 4702 019B 299A goto u1647 + 4703 019C 0BF5 decfsz ??_Lcd_Init+1,f + 4704 019D 299A goto u1647 + 4705 019E 299F nop2 + 4706 + 4707 ;lcd.c: 61: Lcd_Cmd(0x03); + 4708 019F 3003 movlw 3 + 4709 01A0 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4710 + 4711 ;lcd.c: 62: _delay((unsigned long)((5)*(20000000/4000.0))); + 4712 01A5 3021 movlw 33 + 4713 01A6 00F5 movwf ??_Lcd_Init+1 + 4714 01A7 3076 movlw 118 + 4715 01A8 00F4 movwf ??_Lcd_Init + 4716 01A9 u1657: + 4717 01A9 0BF4 decfsz ??_Lcd_Init,f + 4718 01AA 29A9 goto u1657 + 4719 01AB 0BF5 decfsz ??_Lcd_Init+1,f + 4720 01AC 29A9 goto u1657 + 4721 01AD 0000 nop + 4722 + 4723 ;lcd.c: 63: Lcd_Cmd(0x03); + 4724 01AE 3003 movlw 3 + 4725 01AF 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4726 + 4727 ;lcd.c: 64: _delay((unsigned long)((11)*(20000000/4000.0))); + 4728 01B4 3048 movlw 72 + 4729 01B5 00F5 movwf ??_Lcd_Init+1 + 4730 01B6 306C movlw 108 + 4731 01B7 00F4 movwf ??_Lcd_Init + 4732 01B8 u1667: + 4733 01B8 0BF4 decfsz ??_Lcd_Init,f + 4734 01B9 29B8 goto u1667 + 4735 01BA 0BF5 decfsz ??_Lcd_Init+1,f + 4736 01BB 29B8 goto u1667 + 4737 01BC 0000 nop + 4738 + 4739 ;lcd.c: 65: Lcd_Cmd(0x03); + 4740 01BD 3003 movlw 3 + 4741 01BE 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4742 + 4743 ;lcd.c: 67: Lcd_Cmd(0x02); + 4744 01C3 3002 movlw 2 + 4745 01C4 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4746 + 4747 ;lcd.c: 68: Lcd_Cmd(0x02); + 4748 01C9 3002 movlw 2 + 4749 01CA 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4750 + 4751 ;lcd.c: 69: Lcd_Cmd(0x08); + 4752 01CF 3008 movlw 8 + 4753 01D0 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4754 + 4755 ;lcd.c: 70: Lcd_Cmd(0x00); + 4756 01D5 3000 movlw 0 + 4757 01D6 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4758 + 4759 ;lcd.c: 71: Lcd_Cmd(0x0C); + 4760 01DB 300C movlw 12 + 4761 01DC 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4762 + 4763 ;lcd.c: 72: Lcd_Cmd(0x00); + 4764 01E1 3000 movlw 0 + 4765 01E2 120A 158A 2538 120A 118A fcall _Lcd_Cmd + 4766 + 4767 ;lcd.c: 73: Lcd_Cmd(0x06); + 4768 01E7 3006 movlw 6 + 4769 01E8 120A 158A 2538 fcall _Lcd_Cmd + 4770 01EB 0008 return + 4771 01EC __end_of_Lcd_Init: + 4772 + 4773 psect text27 + 4774 0D38 __ptext27: + 4775 ;; *************** function _Lcd_Cmd ***************** + 4776 ;; Defined at: + 4777 ;; line 28 in file "lcd.c" + 4778 ;; Parameters: Size Location Type + 4779 ;; a 1 wreg unsigned char + 4780 ;; Auto vars: Size Location Type + 4781 ;; a 1 3[COMMON] unsigned char + 4782 ;; Return value: Size Location Type + 4783 ;; 1 wreg void + 4784 ;; Registers used: + 4785 ;; wreg, status,2, status,0, pclath, cstack + 4786 ;; Tracked objects: + 4787 ;; On entry : 0/0 + 4788 ;; On exit : 0/0 + 4789 ;; Unchanged: 0/0 + 4790 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4791 ;; Params: 0 0 0 0 0 + 4792 ;; Locals: 1 0 0 0 0 + 4793 ;; Temps: 2 0 0 0 0 + 4794 ;; Totals: 3 0 0 0 0 + 4795 ;;Total ram usage: 3 bytes + 4796 ;; Hardware stack levels used: 1 + 4797 ;; Hardware stack levels required when called: 1 + 4798 ;; This function calls: + 4799 ;; _Lcd_Port + 4800 ;; This function is called by: + 4801 ;; _Lcd_Clear + 4802 ;; _Lcd_Set_Cursor + 4803 ;; _Lcd_Init + 4804 ;; _Lcd_Shift_Right + 4805 ;; _Lcd_Shift_Left + 4806 ;; This function uses a non-reentrant model + 4807 ;; + 4808 + 4809 + 4810 ;psect for function _Lcd_Cmd + 4811 0D38 _Lcd_Cmd: + 4812 + 4813 ;incstack = 0 + 4814 ; Regs used in _Lcd_Cmd: [wreg+status,2+status,0+pclath+cstack] + 4815 ;Lcd_Cmd@a stored from wreg + 4816 0D38 00F3 movwf Lcd_Cmd@a + 4817 + 4818 ;lcd.c: 29: RD2 = 0; + 4819 0D39 1283 bcf 3,5 ;RP0=0, select bank0 + 4820 0D3A 1303 bcf 3,6 ;RP1=0, select bank0 + 4821 0D3B 1108 bcf 8,2 ;volatile + 4822 + 4823 ;lcd.c: 30: Lcd_Port(a); + 4824 0D3C 0873 movf Lcd_Cmd@a,w + 4825 0D3D 120A 158A 251E 120A 158A fcall _Lcd_Port + 4826 + 4827 ;lcd.c: 31: RD3 = 1; + 4828 0D42 1283 bcf 3,5 ;RP0=0, select bank0 + 4829 0D43 1303 bcf 3,6 ;RP1=0, select bank0 + 4830 0D44 1588 bsf 8,3 ;volatile + 4831 + 4832 ;lcd.c: 32: _delay((unsigned long)((4)*(20000000/4000.0))); + 4833 0D45 301A movlw 26 + 4834 0D46 00F2 movwf ??_Lcd_Cmd+1 + 4835 0D47 30F8 movlw 248 + 4836 0D48 00F1 movwf ??_Lcd_Cmd + 4837 0D49 u1677: + 4838 0D49 0BF1 decfsz ??_Lcd_Cmd,f + 4839 0D4A 2D49 goto u1677 + 4840 0D4B 0BF2 decfsz ??_Lcd_Cmd+1,f + 4841 0D4C 2D49 goto u1677 + 4842 0D4D 0000 nop + 4843 + 4844 ;lcd.c: 33: RD3 = 0; + 4845 0D4E 1283 bcf 3,5 ;RP0=0, select bank0 + 4846 0D4F 1303 bcf 3,6 ;RP1=0, select bank0 + 4847 0D50 1188 bcf 8,3 ;volatile + 4848 0D51 0008 return + 4849 0D52 __end_of_Lcd_Cmd: + 4850 + 4851 psect text28 + 4852 0D1E __ptext28: + 4853 ;; *************** function _Lcd_Port ***************** + 4854 ;; Defined at: + 4855 ;; line 6 in file "lcd.c" + 4856 ;; Parameters: Size Location Type + 4857 ;; a 1 wreg unsigned char + 4858 ;; Auto vars: Size Location Type + 4859 ;; a 1 0[COMMON] unsigned char + 4860 ;; Return value: Size Location Type + 4861 ;; 1 wreg void + 4862 ;; Registers used: + 4863 ;; wreg + 4864 ;; Tracked objects: + 4865 ;; On entry : 0/0 + 4866 ;; On exit : 0/0 + 4867 ;; Unchanged: 0/0 + 4868 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4869 ;; Params: 0 0 0 0 0 + 4870 ;; Locals: 1 0 0 0 0 + 4871 ;; Temps: 0 0 0 0 0 + 4872 ;; Totals: 1 0 0 0 0 + 4873 ;;Total ram usage: 1 bytes + 4874 ;; Hardware stack levels used: 1 + 4875 ;; This function calls: + 4876 ;; Nothing + 4877 ;; This function is called by: + 4878 ;; _Lcd_Cmd + 4879 ;; _Lcd_Init + 4880 ;; _Lcd_Write_Char + 4881 ;; This function uses a non-reentrant model + 4882 ;; + 4883 + 4884 + 4885 ;psect for function _Lcd_Port + 4886 0D1E _Lcd_Port: + 4887 + 4888 ;incstack = 0 + 4889 ; Regs used in _Lcd_Port: [wreg] + 4890 ;Lcd_Port@a stored from wreg + 4891 0D1E 00F0 movwf Lcd_Port@a + 4892 + 4893 ;lcd.c: 7: if (a & 1) + 4894 0D1F 1C70 btfss Lcd_Port@a,0 + 4895 0D20 2D25 goto l202 + 4896 + 4897 ;lcd.c: 8: RD4 = 1; + 4898 0D21 1283 bcf 3,5 ;RP0=0, select bank0 + 4899 0D22 1303 bcf 3,6 ;RP1=0, select bank0 + 4900 0D23 1608 bsf 8,4 ;volatile + 4901 0D24 2D28 goto l203 + 4902 0D25 l202: + 4903 ;lcd.c: 9: else + 4904 + 4905 + 4906 ;lcd.c: 10: RD4 = 0; + 4907 0D25 1283 bcf 3,5 ;RP0=0, select bank0 + 4908 0D26 1303 bcf 3,6 ;RP1=0, select bank0 + 4909 0D27 1208 bcf 8,4 ;volatile + 4910 0D28 l203: + 4911 + 4912 ;lcd.c: 12: if (a & 2) + 4913 0D28 1CF0 btfss Lcd_Port@a,1 + 4914 0D29 2D2C goto l204 + 4915 + 4916 ;lcd.c: 13: RD5 = 1; + 4917 0D2A 1688 bsf 8,5 ;volatile + 4918 0D2B 2D2D goto l205 + 4919 0D2C l204: + 4920 ;lcd.c: 14: else + 4921 + 4922 + 4923 ;lcd.c: 15: RD5 = 0; + 4924 0D2C 1288 bcf 8,5 ;volatile + 4925 0D2D l205: + 4926 + 4927 ;lcd.c: 17: if (a & 4) + 4928 0D2D 1D70 btfss Lcd_Port@a,2 + 4929 0D2E 2D31 goto l206 + 4930 + 4931 ;lcd.c: 18: RD6 = 1; + 4932 0D2F 1708 bsf 8,6 ;volatile + 4933 0D30 2D32 goto l207 + 4934 0D31 l206: + 4935 ;lcd.c: 19: else + 4936 + 4937 + 4938 ;lcd.c: 20: RD6 = 0; + 4939 0D31 1308 bcf 8,6 ;volatile + 4940 0D32 l207: + 4941 + 4942 ;lcd.c: 22: if (a & 8) + 4943 0D32 1DF0 btfss Lcd_Port@a,3 + 4944 0D33 2D36 goto l208 + 4945 + 4946 ;lcd.c: 23: RD7 = 1; + 4947 0D34 1788 bsf 8,7 ;volatile + 4948 0D35 0008 return + 4949 0D36 l208: + 4950 ;lcd.c: 24: else + 4951 + 4952 + 4953 ;lcd.c: 25: RD7 = 0; + 4954 0D36 1388 bcf 8,7 ;volatile + 4955 0D37 0008 return + 4956 0D38 __end_of_Lcd_Port: + 4957 + 4958 psect text29 + 4959 00E6 __ptext29: + 4960 ;; *************** function _I2C_Master_Init ***************** + 4961 ;; Defined at: + 4962 ;; line 8 in file "i2c.c" + 4963 ;; Parameters: Size Location Type + 4964 ;; freq_K 4 13[BANK0 ] const unsigned long + 4965 ;; Auto vars: Size Location Type + 4966 ;; None + 4967 ;; Return value: Size Location Type + 4968 ;; 1 wreg void + 4969 ;; Registers used: + 4970 ;; wreg, status,2, status,0, pclath, cstack + 4971 ;; Tracked objects: + 4972 ;; On entry : 0/0 + 4973 ;; On exit : 0/0 + 4974 ;; Unchanged: 0/0 + 4975 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4976 ;; Params: 0 4 0 0 0 + 4977 ;; Locals: 0 0 0 0 0 + 4978 ;; Temps: 0 4 0 0 0 + 4979 ;; Totals: 0 8 0 0 0 + 4980 ;;Total ram usage: 8 bytes + 4981 ;; Hardware stack levels used: 1 + 4982 ;; Hardware stack levels required when called: 1 + 4983 ;; This function calls: + 4984 ;; ___lldiv + 4985 ;; ___lmul + 4986 ;; This function is called by: + 4987 ;; _main + 4988 ;; This function uses a non-reentrant model + 4989 ;; + 4990 + 4991 + 4992 ;psect for function _I2C_Master_Init + 4993 00E6 _I2C_Master_Init: + 4994 + 4995 ;i2c.c: 8: void I2C_Master_Init(const unsigned long freq_K);i2c.c: 9: {;i2c.c: 10: TRI + + SC3 = 1; TRISC4 = 1; + 4996 + 4997 ;incstack = 0 + 4998 ; Regs used in _I2C_Master_Init: [wreg+status,2+status,0+pclath+cstack] + 4999 00E6 1683 bsf 3,5 ;RP0=1, select bank1 + 5000 00E7 1303 bcf 3,6 ;RP1=0, select bank1 + 5001 00E8 1587 bsf 7,3 ;volatile + 5002 00E9 1607 bsf 7,4 ;volatile + 5003 + 5004 ;i2c.c: 12: SSPCON = 0b00101000; + 5005 00EA 3028 movlw 40 + 5006 00EB 1283 bcf 3,5 ;RP0=0, select bank0 + 5007 00EC 1303 bcf 3,6 ;RP1=0, select bank0 + 5008 00ED 0094 movwf 20 ;volatile + 5009 + 5010 ;i2c.c: 13: SSPCON2 = 0b00000000; + 5011 00EE 1683 bsf 3,5 ;RP0=1, select bank1 + 5012 00EF 1303 bcf 3,6 ;RP1=0, select bank1 + 5013 00F0 0191 clrf 17 ;volatile + 5014 + 5015 ;i2c.c: 15: SSPADD = (20000000/(4*freq_K*100))-1; + 5016 00F1 1283 bcf 3,5 ;RP0=0, select bank0 + 5017 00F2 1303 bcf 3,6 ;RP1=0, select bank0 + 5018 00F3 085A movf I2C_Master_Init@freq_K,w + 5019 00F4 00DE movwf ??_I2C_Master_Init + 5020 00F5 085B movf I2C_Master_Init@freq_K+1,w + 5021 00F6 00DF movwf ??_I2C_Master_Init+1 + 5022 00F7 085C movf I2C_Master_Init@freq_K+2,w + 5023 00F8 00E0 movwf ??_I2C_Master_Init+2 + 5024 00F9 085D movf I2C_Master_Init@freq_K+3,w + 5025 00FA 00E1 movwf ??_I2C_Master_Init+3 + 5026 00FB 3002 movlw 2 + 5027 00FC u1455: + 5028 00FC 1003 clrc + 5029 00FD 0DDE rlf ??_I2C_Master_Init,f + 5030 00FE 0DDF rlf ??_I2C_Master_Init+1,f + 5031 00FF 0DE0 rlf ??_I2C_Master_Init+2,f + 5032 0100 0DE1 rlf ??_I2C_Master_Init+3,f + 5033 0101 3EFF addlw -1 + 5034 0102 1D03 skipz + 5035 0103 28FC goto u1455 + 5036 0104 0861 movf ??_I2C_Master_Init+3,w + 5037 0105 00F3 movwf ___lmul@multiplier+3 + 5038 0106 0860 movf ??_I2C_Master_Init+2,w + 5039 0107 00F2 movwf ___lmul@multiplier+2 + 5040 0108 085F movf ??_I2C_Master_Init+1,w + 5041 0109 00F1 movwf ___lmul@multiplier+1 + 5042 010A 085E movf ??_I2C_Master_Init,w + 5043 010B 00F0 movwf ___lmul@multiplier + 5044 010C 3000 movlw 0 + 5045 010D 00F7 movwf ___lmul@multiplicand+3 + 5046 010E 3000 movlw 0 + 5047 010F 00F6 movwf ___lmul@multiplicand+2 + 5048 0110 3000 movlw 0 + 5049 0111 00F5 movwf ___lmul@multiplicand+1 + 5050 0112 3064 movlw 100 + 5051 0113 00F4 movwf ___lmul@multiplicand + 5052 0114 120A 158A 26A8 120A 118A fcall ___lmul + 5053 0119 0873 movf ?___lmul+3,w + 5054 011A 1283 bcf 3,5 ;RP0=0, select bank0 + 5055 011B 1303 bcf 3,6 ;RP1=0, select bank0 + 5056 011C 00D0 movwf ___lldiv@divisor+3 + 5057 011D 0872 movf ?___lmul+2,w + 5058 011E 00CF movwf ___lldiv@divisor+2 + 5059 011F 0871 movf ?___lmul+1,w + 5060 0120 00CE movwf ___lldiv@divisor+1 + 5061 0121 0870 movf ?___lmul,w + 5062 0122 00CD movwf ___lldiv@divisor + 5063 0123 3001 movlw 1 + 5064 0124 00D4 movwf ___lldiv@dividend+3 + 5065 0125 3031 movlw 49 + 5066 0126 00D3 movwf ___lldiv@dividend+2 + 5067 0127 302D movlw 45 + 5068 0128 00D2 movwf ___lldiv@dividend+1 + 5069 0129 3000 movlw 0 + 5070 012A 00D1 movwf ___lldiv@dividend + 5071 012B 120A 118A 21EC fcall ___lldiv + 5072 012E 1283 bcf 3,5 ;RP0=0, select bank0 + 5073 012F 1303 bcf 3,6 ;RP1=0, select bank0 + 5074 0130 084D movf ?___lldiv,w + 5075 0131 3EFF addlw 255 + 5076 0132 1683 bsf 3,5 ;RP0=1, select bank1 + 5077 0133 1303 bcf 3,6 ;RP1=0, select bank1 + 5078 0134 0093 movwf 19 ;volatile + 5079 + 5080 ;i2c.c: 16: SSPSTAT = 0b00000000; + 5081 0135 0194 clrf 20 ;volatile + 5082 0136 0008 return + 5083 0137 __end_of_I2C_Master_Init: + 5084 + 5085 psect text30 + 5086 0EA8 __ptext30: + 5087 ;; *************** function ___lmul ***************** + 5088 ;; Defined at: + 5089 ;; line 15 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\Umul32.c" + 5090 ;; Parameters: Size Location Type + 5091 ;; multiplier 4 0[COMMON] unsigned long + 5092 ;; multiplicand 4 4[COMMON] unsigned long + 5093 ;; Auto vars: Size Location Type + 5094 ;; product 4 9[COMMON] unsigned long + 5095 ;; Return value: Size Location Type + 5096 ;; 4 0[COMMON] unsigned long + 5097 ;; Registers used: + 5098 ;; wreg, status,2, status,0 + 5099 ;; Tracked objects: + 5100 ;; On entry : 0/0 + 5101 ;; On exit : 0/0 + 5102 ;; Unchanged: 0/0 + 5103 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5104 ;; Params: 8 0 0 0 0 + 5105 ;; Locals: 4 0 0 0 0 + 5106 ;; Temps: 1 0 0 0 0 + 5107 ;; Totals: 13 0 0 0 0 + 5108 ;;Total ram usage: 13 bytes + 5109 ;; Hardware stack levels used: 1 + 5110 ;; This function calls: + 5111 ;; Nothing + 5112 ;; This function is called by: + 5113 ;; _I2C_Master_Init + 5114 ;; This function uses a non-reentrant model + 5115 ;; + 5116 + 5117 + 5118 ;psect for function ___lmul + 5119 0EA8 ___lmul: + 5120 + 5121 ;incstack = 0 + 5122 ; Regs used in ___lmul: [wreg+status,2+status,0] + 5123 0EA8 3000 movlw 0 + 5124 0EA9 00FC movwf ___lmul@product+3 + 5125 0EAA 3000 movlw 0 + 5126 0EAB 00FB movwf ___lmul@product+2 + 5127 0EAC 3000 movlw 0 + 5128 0EAD 00FA movwf ___lmul@product+1 + 5129 0EAE 3000 movlw 0 + 5130 0EAF 00F9 movwf ___lmul@product + 5131 0EB0 l1778: + 5132 0EB0 1C70 btfss ___lmul@multiplier,0 + 5133 0EB1 2EC6 goto l1782 + 5134 0EB2 0874 movf ___lmul@multiplicand,w + 5135 0EB3 07F9 addwf ___lmul@product,f + 5136 0EB4 0875 movf ___lmul@multiplicand+1,w + 5137 0EB5 1103 clrz + 5138 0EB6 1803 skipnc + 5139 0EB7 3E01 addlw 1 + 5140 0EB8 1D03 btfss 3,2 + 5141 0EB9 07FA addwf ___lmul@product+1,f + 5142 0EBA 0876 movf ___lmul@multiplicand+2,w + 5143 0EBB 1103 clrz + 5144 0EBC 1803 skipnc + 5145 0EBD 3E01 addlw 1 + 5146 0EBE 1D03 btfss 3,2 + 5147 0EBF 07FB addwf ___lmul@product+2,f + 5148 0EC0 0877 movf ___lmul@multiplicand+3,w + 5149 0EC1 1103 clrz + 5150 0EC2 1803 skipnc + 5151 0EC3 3E01 addlw 1 + 5152 0EC4 1D03 btfss 3,2 + 5153 0EC5 07FC addwf ___lmul@product+3,f + 5154 0EC6 l1782: + 5155 0EC6 3001 movlw 1 + 5156 0EC7 00F8 movwf ??___lmul + 5157 0EC8 u1035: + 5158 0EC8 1003 clrc + 5159 0EC9 0DF4 rlf ___lmul@multiplicand,f + 5160 0ECA 0DF5 rlf ___lmul@multiplicand+1,f + 5161 0ECB 0DF6 rlf ___lmul@multiplicand+2,f + 5162 0ECC 0DF7 rlf ___lmul@multiplicand+3,f + 5163 0ECD 0BF8 decfsz ??___lmul,f + 5164 0ECE 2EC8 goto u1035 + 5165 0ECF 3001 movlw 1 + 5166 0ED0 u1045: + 5167 0ED0 1003 clrc + 5168 0ED1 0CF3 rrf ___lmul@multiplier+3,f + 5169 0ED2 0CF2 rrf ___lmul@multiplier+2,f + 5170 0ED3 0CF1 rrf ___lmul@multiplier+1,f + 5171 0ED4 0CF0 rrf ___lmul@multiplier,f + 5172 0ED5 3EFF addlw -1 + 5173 0ED6 1D03 skipz + 5174 0ED7 2ED0 goto u1045 + 5175 0ED8 0873 movf ___lmul@multiplier+3,w + 5176 0ED9 0472 iorwf ___lmul@multiplier+2,w + 5177 0EDA 0471 iorwf ___lmul@multiplier+1,w + 5178 0EDB 0470 iorwf ___lmul@multiplier,w + 5179 0EDC 1D03 skipz + 5180 0EDD 2EB0 goto l1778 + 5181 0EDE 087C movf ___lmul@product+3,w + 5182 0EDF 00F3 movwf ?___lmul+3 + 5183 0EE0 087B movf ___lmul@product+2,w + 5184 0EE1 00F2 movwf ?___lmul+2 + 5185 0EE2 087A movf ___lmul@product+1,w + 5186 0EE3 00F1 movwf ?___lmul+1 + 5187 0EE4 0879 movf ___lmul@product,w + 5188 0EE5 00F0 movwf ?___lmul + 5189 0EE6 0008 return + 5190 0EE7 __end_of___lmul: + 5191 + 5192 psect text31 + 5193 01EC __ptext31: + 5194 ;; *************** function ___lldiv ***************** + 5195 ;; Defined at: + 5196 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\__lldiv.c" + 5197 ;; Parameters: Size Location Type + 5198 ;; divisor 4 0[BANK0 ] unsigned long + 5199 ;; dividend 4 4[BANK0 ] unsigned long + 5200 ;; Auto vars: Size Location Type + 5201 ;; quotient 4 8[BANK0 ] unsigned long + 5202 ;; counter 1 12[BANK0 ] unsigned char + 5203 ;; Return value: Size Location Type + 5204 ;; 4 0[BANK0 ] unsigned long + 5205 ;; Registers used: + 5206 ;; wreg, status,2, status,0 + 5207 ;; Tracked objects: + 5208 ;; On entry : 0/0 + 5209 ;; On exit : 0/0 + 5210 ;; Unchanged: 0/0 + 5211 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5212 ;; Params: 0 8 0 0 0 + 5213 ;; Locals: 0 5 0 0 0 + 5214 ;; Temps: 1 0 0 0 0 + 5215 ;; Totals: 1 13 0 0 0 + 5216 ;;Total ram usage: 14 bytes + 5217 ;; Hardware stack levels used: 1 + 5218 ;; This function calls: + 5219 ;; Nothing + 5220 ;; This function is called by: + 5221 ;; _I2C_Master_Init + 5222 ;; This function uses a non-reentrant model + 5223 ;; + 5224 + 5225 + 5226 ;psect for function ___lldiv + 5227 01EC ___lldiv: + 5228 + 5229 ;incstack = 0 + 5230 ; Regs used in ___lldiv: [wreg+status,2+status,0] + 5231 01EC 3000 movlw 0 + 5232 01ED 1283 bcf 3,5 ;RP0=0, select bank0 + 5233 01EE 1303 bcf 3,6 ;RP1=0, select bank0 + 5234 01EF 00D8 movwf ___lldiv@quotient+3 + 5235 01F0 3000 movlw 0 + 5236 01F1 00D7 movwf ___lldiv@quotient+2 + 5237 01F2 3000 movlw 0 + 5238 01F3 00D6 movwf ___lldiv@quotient+1 + 5239 01F4 3000 movlw 0 + 5240 01F5 00D5 movwf ___lldiv@quotient + 5241 01F6 0850 movf ___lldiv@divisor+3,w + 5242 01F7 044F iorwf ___lldiv@divisor+2,w + 5243 01F8 044E iorwf ___lldiv@divisor+1,w + 5244 01F9 044D iorwf ___lldiv@divisor,w + 5245 01FA 1903 skipnz + 5246 01FB 2A43 goto l1810 + 5247 01FC 01D9 clrf ___lldiv@counter + 5248 01FD 0AD9 incf ___lldiv@counter,f + 5249 01FE l1796: + 5250 01FE 1BD0 btfsc ___lldiv@divisor+3,7 + 5251 01FF 2A0E goto l1798 + 5252 0200 3001 movlw 1 + 5253 0201 00FD movwf ??___lldiv + 5254 0202 u1075: + 5255 0202 1003 clrc + 5256 0203 0DCD rlf ___lldiv@divisor,f + 5257 0204 0DCE rlf ___lldiv@divisor+1,f + 5258 0205 0DCF rlf ___lldiv@divisor+2,f + 5259 0206 0DD0 rlf ___lldiv@divisor+3,f + 5260 0207 0BFD decfsz ??___lldiv,f + 5261 0208 2A02 goto u1075 + 5262 0209 3001 movlw 1 + 5263 020A 00FD movwf ??___lldiv + 5264 020B 087D movf ??___lldiv,w + 5265 020C 07D9 addwf ___lldiv@counter,f + 5266 020D 29FE goto l1796 + 5267 020E l1798: + 5268 020E 3001 movlw 1 + 5269 020F 00FD movwf ??___lldiv + 5270 0210 u1095: + 5271 0210 1003 clrc + 5272 0211 0DD5 rlf ___lldiv@quotient,f + 5273 0212 0DD6 rlf ___lldiv@quotient+1,f + 5274 0213 0DD7 rlf ___lldiv@quotient+2,f + 5275 0214 0DD8 rlf ___lldiv@quotient+3,f + 5276 0215 0BFD decfsz ??___lldiv,f + 5277 0216 2A10 goto u1095 + 5278 0217 0850 movf ___lldiv@divisor+3,w + 5279 0218 0254 subwf ___lldiv@dividend+3,w + 5280 0219 1D03 skipz + 5281 021A 2A25 goto u1105 + 5282 021B 084F movf ___lldiv@divisor+2,w + 5283 021C 0253 subwf ___lldiv@dividend+2,w + 5284 021D 1D03 skipz + 5285 021E 2A25 goto u1105 + 5286 021F 084E movf ___lldiv@divisor+1,w + 5287 0220 0252 subwf ___lldiv@dividend+1,w + 5288 0221 1D03 skipz + 5289 0222 2A25 goto u1105 + 5290 0223 084D movf ___lldiv@divisor,w + 5291 0224 0251 subwf ___lldiv@dividend,w + 5292 0225 u1105: + 5293 0225 1C03 skipc + 5294 0226 2A36 goto l1806 + 5295 0227 084D movf ___lldiv@divisor,w + 5296 0228 02D1 subwf ___lldiv@dividend,f + 5297 0229 084E movf ___lldiv@divisor+1,w + 5298 022A 1C03 skipc + 5299 022B 0F4E incfsz ___lldiv@divisor+1,w + 5300 022C 02D2 subwf ___lldiv@dividend+1,f + 5301 022D 084F movf ___lldiv@divisor+2,w + 5302 022E 1C03 skipc + 5303 022F 0F4F incfsz ___lldiv@divisor+2,w + 5304 0230 02D3 subwf ___lldiv@dividend+2,f + 5305 0231 0850 movf ___lldiv@divisor+3,w + 5306 0232 1C03 skipc + 5307 0233 0F50 incfsz ___lldiv@divisor+3,w + 5308 0234 02D4 subwf ___lldiv@dividend+3,f + 5309 0235 1455 bsf ___lldiv@quotient,0 + 5310 0236 l1806: + 5311 0236 3001 movlw 1 + 5312 0237 u1115: + 5313 0237 1003 clrc + 5314 0238 0CD0 rrf ___lldiv@divisor+3,f + 5315 0239 0CCF rrf ___lldiv@divisor+2,f + 5316 023A 0CCE rrf ___lldiv@divisor+1,f + 5317 023B 0CCD rrf ___lldiv@divisor,f + 5318 023C 3EFF addlw -1 + 5319 023D 1D03 skipz + 5320 023E 2A37 goto u1115 + 5321 023F 3001 movlw 1 + 5322 0240 02D9 subwf ___lldiv@counter,f + 5323 0241 1D03 btfss 3,2 + 5324 0242 2A0E goto l1798 + 5325 0243 l1810: + 5326 0243 0858 movf ___lldiv@quotient+3,w + 5327 0244 00D0 movwf ?___lldiv+3 + 5328 0245 0857 movf ___lldiv@quotient+2,w + 5329 0246 00CF movwf ?___lldiv+2 + 5330 0247 0856 movf ___lldiv@quotient+1,w + 5331 0248 00CE movwf ?___lldiv+1 + 5332 0249 0855 movf ___lldiv@quotient,w + 5333 024A 00CD movwf ?___lldiv + 5334 024B 0008 return + 5335 024C __end_of___lldiv: + 5336 + 5337 psect text32 + 5338 0D08 __ptext32: + 5339 ;; *************** function _Get_Alarm_Status ***************** + 5340 ;; Defined at: + 5341 ;; line 221 in file "main.c" + 5342 ;; Parameters: Size Location Type + 5343 ;; None + 5344 ;; Auto vars: Size Location Type + 5345 ;; None + 5346 ;; Return value: Size Location Type + 5347 ;; 1 wreg void + 5348 ;; Registers used: + 5349 ;; wreg, status,2, status,0 + 5350 ;; Tracked objects: + 5351 ;; On entry : 0/0 + 5352 ;; On exit : 0/0 + 5353 ;; Unchanged: 0/0 + 5354 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5355 ;; Params: 0 0 0 0 0 + 5356 ;; Locals: 0 0 0 0 0 + 5357 ;; Temps: 2 0 0 0 0 + 5358 ;; Totals: 2 0 0 0 0 + 5359 ;;Total ram usage: 2 bytes + 5360 ;; Hardware stack levels used: 1 + 5361 ;; This function calls: + 5362 ;; Nothing + 5363 ;; This function is called by: + 5364 ;; _main + 5365 ;; This function uses a non-reentrant model + 5366 ;; + 5367 + 5368 + 5369 ;psect for function _Get_Alarm_Status + 5370 0D08 _Get_Alarm_Status: + 5371 + 5372 ;main.c: 222: alarm1_status = control_reg & 0x01; + 5373 + 5374 ;incstack = 0 + 5375 ; Regs used in _Get_Alarm_Status: [wreg+status,2+status,0] + 5376 0D08 3001 movlw 1 + 5377 0D09 1283 bcf 3,5 ;RP0=0, select bank0 + 5378 0D0A 1303 bcf 3,6 ;RP1=0, select bank0 + 5379 0D0B 0524 andwf _control_reg,w + 5380 0D0C 00A8 movwf _alarm1_status + 5381 0D0D 3000 movlw 0 + 5382 0D0E 0525 andwf _control_reg+1,w + 5383 0D0F 00A9 movwf _alarm1_status+1 + 5384 + 5385 ;main.c: 223: alarm2_status = (control_reg >> 1) & 0x01; + 5386 0D10 0825 movf _control_reg+1,w + 5387 0D11 00F1 movwf ??_Get_Alarm_Status+1 + 5388 0D12 0824 movf _control_reg,w + 5389 0D13 00F0 movwf ??_Get_Alarm_Status + 5390 0D14 1003 clrc + 5391 0D15 0CF1 rrf ??_Get_Alarm_Status+1,f + 5392 0D16 0CF0 rrf ??_Get_Alarm_Status,f + 5393 0D17 3001 movlw 1 + 5394 0D18 0570 andwf ??_Get_Alarm_Status,w + 5395 0D19 00A6 movwf _alarm2_status + 5396 0D1A 3000 movlw 0 + 5397 0D1B 0571 andwf ??_Get_Alarm_Status+1,w + 5398 0D1C 00A7 movwf _alarm2_status+1 + 5399 0D1D 0008 return + 5400 0D1E __end_of_Get_Alarm_Status: + 5401 007E btemp set 126 ;btemp + 5402 007E wtemp0 set 126 + + +Data Sizes: + Strings 92 + Constant 0 + Data 17 + BSS 91 + Persistent 0 + Stack 0 + +Auto Spaces: + Space Size Autos Used + COMMON 14 14 14 + BANK0 80 21 79 + BANK1 80 0 50 + BANK3 96 0 0 + BANK2 96 0 0 + +Pointer List with Targets: + + Lcd_Write_String@a PTR unsigned char size(2) Largest target is 512 + -> NULL(NULL[0]), RAM(DATA[512]), STR_11(CODE[16]), STR_10(CODE[15]), + -> STR_9(CODE[16]), STR_8(CODE[17]), STR_7(CODE[4]), STR_6(CODE[4]), + -> STR_5(CODE[4]), STR_4(CODE[4]), STR_3(CODE[4]), STR_2(CODE[4]), + -> STR_1(CODE[4]), + + weekday PTR unsigned char size(2) Largest target is 512 + -> NULL(NULL[0]), RAM(DATA[512]), STR_7(CODE[4]), STR_6(CODE[4]), + -> STR_5(CODE[4]), STR_4(CODE[4]), STR_3(CODE[4]), STR_2(CODE[4]), + -> STR_1(CODE[4]), + + +Critical Paths under _main in COMMON + + _main->_display_Intro + _main->_display_Lcd_Layout + _update_Display->_Lcd_Set_Cursor + _format_Temperature->___awdiv + _format_DateTimeChars->___lwdiv + _display_Lcd_Layout->_Lcd_Set_Cursor + _display_Intro->_Lcd_Set_Cursor + _Lcd_Write_String->_Lcd_Write_Char + _Lcd_Write_Char->_Lcd_Port + _Lcd_Set_Cursor->_Lcd_Cmd + _Lcd_Clear->_Lcd_Cmd + _Update_Current_Date_Time->_BCD_2_DEC + _Read_Alarms_Temp->_BCD_2_DEC + _BCD_2_DEC->_I2C_Master_Read + _BCD_2_DEC->___wmul + _Lcd_Init->_Lcd_Cmd + _Lcd_Cmd->_Lcd_Port + _I2C_Master_Init->___lldiv + ___lldiv->___lmul + +Critical Paths under _main in BANK0 + + _main->_I2C_Master_Init + _I2C_Master_Init->___lldiv + +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 0 0 0 25347 + _Get_Alarm_Status + _I2C_Master_Init + _Lcd_Init + _Read_Alarms_Temp + _Update_Current_Date_Time + _display_Intro + _display_Lcd_Layout + _format_DateTimeChars + _format_Temperature + _getWeekDay + _update_Display + --------------------------------------------------------------------------------- + (1) _update_Display 1 1 0 2438 + 11 COMMON 1 1 0 + _Lcd_Set_Cursor + _Lcd_Write_Char + _Lcd_Write_String + _alarm + --------------------------------------------------------------------------------- + (2) _alarm 9 7 2 244 + 0 COMMON 9 7 2 + --------------------------------------------------------------------------------- + (1) _getWeekDay 2 0 2 98 + 0 COMMON 2 0 2 + --------------------------------------------------------------------------------- + (1) _format_Temperature 1 1 0 1752 + 9 COMMON 1 1 0 + ___awdiv + ___awmod + ___wmul + --------------------------------------------------------------------------------- + (2) ___awmod 7 3 4 600 + 0 COMMON 7 3 4 + --------------------------------------------------------------------------------- + (2) ___awdiv 9 5 4 604 + 0 COMMON 9 5 4 + --------------------------------------------------------------------------------- + (1) _format_DateTimeChars 1 1 0 3665 + 8 COMMON 1 1 0 + ___lwdiv + ___lwmod + --------------------------------------------------------------------------------- + (2) ___lwmod 6 2 4 1831 + 0 COMMON 6 2 4 + --------------------------------------------------------------------------------- + (2) ___lwdiv 8 4 4 1834 + 0 COMMON 8 4 4 + --------------------------------------------------------------------------------- + (1) _display_Lcd_Layout 3 3 0 2304 + 11 COMMON 3 3 0 + _Lcd_Clear + _Lcd_Set_Cursor + _Lcd_Write_Char + _Lcd_Write_String + --------------------------------------------------------------------------------- + (1) _display_Intro 3 3 0 2126 + 11 COMMON 3 3 0 + _Lcd_Clear + _Lcd_Set_Cursor + _Lcd_Write_String + --------------------------------------------------------------------------------- + (2) _Lcd_Write_String 4 2 2 648 + 5 COMMON 4 2 2 + _Lcd_Write_Char + --------------------------------------------------------------------------------- + (3) _Lcd_Write_Char 4 4 0 178 + 1 COMMON 4 4 0 + _Lcd_Port + --------------------------------------------------------------------------------- + (2) _Lcd_Set_Cursor 7 6 1 1368 + 4 COMMON 7 6 1 + _Lcd_Cmd + --------------------------------------------------------------------------------- + (2) _Lcd_Clear 0 0 0 110 + _Lcd_Cmd + --------------------------------------------------------------------------------- + (1) _Update_Current_Date_Time 0 0 0 6055 + _BCD_2_DEC + _I2C_Master_Read + _I2C_Master_Repeated_Start + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (1) _Read_Alarms_Temp 0 0 0 6055 + _BCD_2_DEC + _I2C_Master_Read + _I2C_Master_Repeated_Start + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (2) _I2C_Master_Write 2 0 2 3062 + 0 COMMON 2 0 2 + _I2C_Master_Wait + --------------------------------------------------------------------------------- + (2) _I2C_Master_Stop 0 0 0 0 + _I2C_Master_Wait + --------------------------------------------------------------------------------- + (2) _I2C_Master_Start 0 0 0 0 + _I2C_Master_Wait + --------------------------------------------------------------------------------- + (2) _I2C_Master_Repeated_Start 0 0 0 0 + _I2C_Master_Wait + --------------------------------------------------------------------------------- + (2) _I2C_Master_Read 6 4 2 1565 + 0 COMMON 6 4 2 + _I2C_Master_Wait + --------------------------------------------------------------------------------- + (3) _I2C_Master_Wait 0 0 0 0 + --------------------------------------------------------------------------------- + (2) _BCD_2_DEC 4 2 2 1428 + 6 COMMON 4 2 2 + _I2C_Master_Read (ARG) + ___wmul + --------------------------------------------------------------------------------- + (2) ___wmul 6 2 4 548 + 0 COMMON 6 2 4 + --------------------------------------------------------------------------------- + (1) _Lcd_Init 2 2 0 198 + 4 COMMON 2 2 0 + _Lcd_Cmd + _Lcd_Port + --------------------------------------------------------------------------------- + (3) _Lcd_Cmd 3 3 0 110 + 1 COMMON 3 3 0 + _Lcd_Port + --------------------------------------------------------------------------------- + (4) _Lcd_Port 1 1 0 88 + 0 COMMON 1 1 0 + --------------------------------------------------------------------------------- + (1) _I2C_Master_Init 8 4 4 656 + 13 BANK0 8 4 4 + ___lldiv + ___lmul + --------------------------------------------------------------------------------- + (2) ___lmul 13 5 8 244 + 0 COMMON 13 5 8 + --------------------------------------------------------------------------------- + (2) ___lldiv 14 6 8 314 + 13 COMMON 1 1 0 + 0 BANK0 13 5 8 + ___lmul (ARG) + --------------------------------------------------------------------------------- + (1) _Get_Alarm_Status 2 2 0 0 + 0 COMMON 2 2 0 + --------------------------------------------------------------------------------- + Estimated maximum stack depth 4 + --------------------------------------------------------------------------------- + + Call Graph Graphs: + + _main (ROOT) + _Get_Alarm_Status + _I2C_Master_Init + ___lldiv + ___lmul (ARG) + ___lmul + _Lcd_Init + _Lcd_Cmd + _Lcd_Port + _Lcd_Port + _Read_Alarms_Temp + _BCD_2_DEC + _I2C_Master_Read (ARG) + _I2C_Master_Wait + ___wmul (ARG) + _I2C_Master_Read + _I2C_Master_Wait + _I2C_Master_Repeated_Start + _I2C_Master_Wait + _I2C_Master_Start + _I2C_Master_Wait + _I2C_Master_Stop + _I2C_Master_Wait + _I2C_Master_Write + _I2C_Master_Wait + _Update_Current_Date_Time + _BCD_2_DEC + _I2C_Master_Read (ARG) + _I2C_Master_Wait + ___wmul (ARG) + _I2C_Master_Read + _I2C_Master_Wait + _I2C_Master_Repeated_Start + _I2C_Master_Wait + _I2C_Master_Start + _I2C_Master_Wait + _I2C_Master_Stop + _I2C_Master_Wait + _I2C_Master_Write + _I2C_Master_Wait + _display_Intro + _Lcd_Clear + _Lcd_Cmd + _Lcd_Port + _Lcd_Set_Cursor + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_String + _Lcd_Write_Char + _Lcd_Port + _display_Lcd_Layout + _Lcd_Clear + _Lcd_Cmd + _Lcd_Port + _Lcd_Set_Cursor + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port + _Lcd_Write_String + _Lcd_Write_Char + _Lcd_Port + _format_DateTimeChars + ___lwdiv + ___lwmod + _format_Temperature + ___awdiv + ___awmod + ___wmul + _getWeekDay + _update_Display + _Lcd_Set_Cursor + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port + _Lcd_Write_String + _Lcd_Write_Char + _Lcd_Port + _alarm + + Address spaces: +Name Size Autos Total Cost Usage +BANK3 60 0 0 9 0.0% +BITBANK3 60 0 0 8 0.0% +SFR3 0 0 0 4 0.0% +BITSFR3 0 0 0 4 0.0% +BANK2 60 0 0 11 0.0% +BITBANK2 60 0 0 10 0.0% +SFR2 0 0 0 5 0.0% +BITSFR2 0 0 0 5 0.0% +BANK1 50 0 32 7 62.5% +BITBANK1 50 0 0 6 0.0% +SFR1 0 0 0 2 0.0% +BITSFR1 0 0 0 2 0.0% +BANK0 50 15 4F 5 98.8% +BITBANK0 50 0 0 4 0.0% +SFR0 0 0 0 1 0.0% +BITSFR0 0 0 0 1 0.0% +COMMON E E E 1 100.0% +BITCOMMON E 0 0 0 0.0% +CODE 0 0 0 0 0.0% +DATA 0 0 8F 12 0.0% +ABS 0 0 8F 3 0.0% +NULL 0 0 0 0 0.0% +STACK 0 0 0 2 0.0% +EEDATA 100 0 0 0 0.0% + + +Microchip Technology PIC Macro Assembler V2.05 build -831301201 +Symbol Table Sat Jul 27 21:52:44 2019 + + __end_of_format_DateTimeChars 07D3 pc 0002 + __CFG_CP$OFF 0000 ___awdiv@sign 0076 + fsr 0004 ___wmul@multiplicand 0072 + l202 0D25 l203 0D28 + l204 0D2C l205 0D2D + l206 0D31 l207 0D32 + l208 0D36 l171 00E5 + l487 0F2A l489 0F34 + l578 0D5C _RD1 0041 + _RD2 0042 _RD3 0043 + _RD4 0044 _RD5 0045 + _RD6 0046 _RD7 0047 + _PEN 048A __CFG_CPD$OFF 0000 + _SEN 0488 u905 0D64 + u935 0F77 u855 0E44 + _RX9 00C6 u955 0F9C + u990 0D96 u895 0D5D + u975 0F55 u985 0F30 + _TX9 04C6 _buf 00A0 + _min 006A _sec 006C + fsr0 0004 indf 0000 + ___awmod@sign 0076 __CFG_FOSC$HS 0000 + ?_display_Intro 0070 __CFG_LVP$OFF 0000 + __end_of_update_Display 061A l2000 02D1 + l2010 02F7 l2022 0312 + l2014 0300 l2030 009F + l2040 00C2 l2032 00A6 + l2018 0309 l2034 00AD + l2036 00B4 l2028 0098 + l2044 00C9 l2038 00BB + l2072 0607 l2146 00CE + l2092 0274 l1810 0243 + l1706 0F90 l1722 0DA1 + l1806 0236 l1822 0141 + l1840 0162 l1682 0D54 + l1914 0E98 l1906 0E74 + l1930 0DD2 l1850 0183 + l1676 0CD6 l1908 0E82 + l1932 0DE0 l1940 0DF9 + l1828 014C l1782 0EC6 + l1766 0D99 l1918 0EA3 + l1854 018B l1846 0178 + l1838 0154 l1870 0FC6 + l1936 0DEE l1880 0FDA + l1778 0EB0 l1866 0FBF + l1796 01FE l1892 0FFB + l1884 0FE8 l1798 020E + l1878 0FCC l1888 0FF3 + STR_1 0063 STR_2 005F + STR_3 0057 STR_4 0053 + STR_5 006B STR_6 005B + STR_7 0067 STR_8 0013 + STR_9 0034 _BRGH 04C2 + _CREN 00C4 u1105 0225 + u1115 0237 u1035 0EC8 + u1045 0ED0 u1205 0179 + u1075 0202 u1405 0DD5 + u1165 0157 u1095 0210 + u1335 0E77 u1425 0DE6 + u1185 0163 u1265 0FCF + u1355 0E83 u1435 0DEF + u1195 016F u1365 0E8F + u1285 0FE0 u1455 00FC + u1607 0F20 u1375 0E99 + u1295 0FE9 u1617 0E2B + u1627 0E54 u1475 02D6 + u1637 0E65 u1565 02A4 + u1647 019A u1657 01A9 + u1577 0F3B u1667 01B8 + u1587 0F44 u1677 0D49 + u1597 0F5D _RCEN 048B + _RCIF 0065 _OERR 00C1 + _SPEN 00C7 _RSEN 0489 + _TXEN 04C5 _TXIF 0064 + _SYNC 04C4 __CFG_WRT$OFF 0000 + ?_Lcd_Write_String 0075 _date 0066 + _main 024C _hour 0068 + _year 0062 btemp 007E + __CFG_BOREN$ON 0000 start 0000 + ??_Lcd_Write_String 0077 __end_of_Lcd_Cmd 0D52 + I2C_Master_Init@freq_K 005A ?_I2C_Master_Init 005A + ?_I2C_Master_Read 0070 ?_I2C_Master_Wait 0070 + ?_I2C_Master_Stop 0070 ?_main 0070 + _ACKEN 048C _ACKDT 048D + __end_of___awdiv 0190 STR_10 0044 + STR_11 0024 __CFG_WDTE$OFF 0000 + __end_of___awmod 1000 __end_of___lldiv 024C + ___awdiv@divisor 0070 __end_of___lwdiv 0EA8 + __end_of___lwmod 0DFE ___awdiv@counter 0075 + _RCREG 001A _SPBRG 0099 + _PORTC 0007 _PORTD 0008 + __size_of_Lcd_Set_Cursor 004A _TRISC 0087 + _TRISD 0088 _TXREG 0019 + ___lmul@multiplicand 0074 __CFG_PWRTE$ON 0000 + _display_Lcd_Layout 0EE7 _day_0 0046 + _day_1 0045 __end_of_BCD_2_DEC 0097 + _alarm 0F28 _min_0 004A + _min_1 0049 _sec_0 004C + _sec_1 004B ?_update_Display 0070 + _month 0064 pclath 000A + ?_display_Lcd_Layout 0070 status 0003 + wtemp0 007E __end_of_Lcd_Init 01EC + __end_of_Lcd_Port 0D38 __initialization 07D3 + __end_of_main 02B8 ?_Get_Alarm_Status 0070 + ??_display_Lcd_Layout 007B ??_main 007E + ??_Get_Alarm_Status 0070 __size_of_Lcd_Clear 000B + ?_I2C_Master_Start 0070 ??_display_Intro 007B + ?_I2C_Master_Write 0070 ?_alarm 0070 + ??_I2C_Master_Start 0070 ??_I2C_Master_Write 0072 + _format_DateTimeChars 061A ___awdiv@dividend 0072 + ??_Lcd_Cmd 0071 __size_of_Lcd_Write_Char 0039 + _SSPADD 0093 _TRISC3 043B + _TRISC4 043C _TRISC6 043E + _TRISC7 043F _SSPCON 0014 + _SSPBUF 0013 ___lmul 0EA8 + ___wmul 0D52 ??___awdiv 0074 + ??___awmod 0074 ??___lldiv 007D + ??___lwdiv 0074 ??___lwmod 0074 + ?_Read_Alarms_Temp 0070 alarm@i 0075 + alarm@j 0077 _hour_0 0048 + _hour_1 0047 ___awdiv@quotient 0077 + ___awmod@divisor 0070 _temp_0 0040 + _temp_1 003F _temp_2 003E + _year_0 0042 _year_1 0041 + ___awmod@counter 0075 __end_of_Update_Current_Date_Time 041C + ??_Read_Alarms_Temp 007A _alarm1_min_0 003B + _alarm1_min_1 003A _alarm1_sec_0 003D + ?_format_DateTimeChars 0070 _alarm1_sec_1 003C + _alarm2_min_0 0037 _alarm2_min_1 0036 + Lcd_Set_Cursor@a 0077 Lcd_Set_Cursor@b 0074 + Lcd_Set_Cursor@y 0079 Lcd_Set_Cursor@z 0078 + __end_of__initialization 07FC __end_of_Lcd_Clear 0CEA + __pcstackCOMMON 0070 __pidataBANK0 0CEA + __pidataBANK1 0070 __end_of_alarm 0F6B + _Lcd_Set_Cursor 0F6B _temperature_lsb 0022 + _temperature_msb 0020 ?_Lcd_Init 0070 + ??_alarm 0072 ?_Lcd_Port 0070 + _alarm1_min 0030 _alarm1_sec 0032 + _alarm2_min 002C __pbssBANK0 0020 + __pbssBANK1 00A0 alarm@numberOfBeeps 0070 + __end_of_format_Temperature 0339 __pmaintext 024C + ?___lmul 0070 ?___wmul 0070 + ___lmul@product 0079 __size_of_Lcd_Write_String 002D + __end_of_Lcd_Set_Cursor 0FB5 _getWeekDay 0097 + I2C_Master_Read@incoming 0074 ??_update_Display 007B + ??_format_DateTimeChars 0078 _Update_Current_Date_Time 0339 + ??_Lcd_Init 0074 ??_Lcd_Port 0070 + _SSPCON2 0091 _SSPSTAT 0094 + __stringtab 0003 _BCD_2_DEC 0074 + _Lcd_Write_Char 0E33 _Lcd_Cmd 0D38 + ___awdiv 0137 __size_of___lmul 003F + ___awmod 0FB5 ___lldiv 01EC + __size_of___wmul 0021 ___lwdiv 0E6C + ___lwmod 0DCC ?_Lcd_Set_Cursor 0074 + _century 00CE __ptext1 0513 + __ptext2 0F28 __ptext3 0097 + __ptext4 02B8 __ptext5 0FB5 + __ptext6 0137 __ptext7 061A + __ptext8 0DCC __ptext9 0E6C + _sec_chg 00C8 ___awmod@dividend 0072 + _month_0 0044 _month_1 0043 + __size_of_I2C_Master_Init 0051 __size_of_I2C_Master_Read 002C + __size_of_I2C_Master_Wait 0009 _weekday 00CA + __size_of_I2C_Master_Stop 0007 clrloop0 0CCF + __size_of_Get_Alarm_Status 0016 __end_of_Lcd_Write_Char 0E6C + end_of_initialization 07FC ?_BCD_2_DEC 0076 + __size_of_I2C_Master_Start 0007 __size_of_I2C_Master_Write 0008 + ___lldiv@divisor 004D ___lldiv@counter 0059 + Lcd_Port@a 0070 _alarm1_hour_0 0039 + _alarm1_hour_1 0038 _alarm2_hour_0 0035 + _alarm2_hour_1 0034 _alarm1_status 0028 + _alarm2_status 0026 ?_getWeekDay 0070 + __size_of_display_Lcd_Layout 0041 __end_of_display_Intro 0E33 + __size_of_Read_Alarms_Temp 00F7 ?_Lcd_Write_Char 0070 + Lcd_Write_String@a 0075 Lcd_Write_String@i 0077 + _status_reg 00CC _Lcd_Clear 0CDF + BCD_2_DEC@to_convert 0076 __end_of___lmul 0EE7 + __end_of___wmul 0D73 _Lcd_Write_String 0D9F + start_initialization 07D3 __size_of_Lcd_Init 005C + __size_of_Lcd_Port 001A ??_BCD_2_DEC 0078 + ??_I2C_Master_Init 005E ??_I2C_Master_Read 0072 + ??_I2C_Master_Wait 0070 ??_I2C_Master_Stop 0070 + __size_of_getWeekDay 004F ?_Lcd_Clear 0070 + ??___lmul 0078 ??___wmul 0074 + init_fetch0 0CF7 __pdataBANK0 0062 + __pdataBANK1 00CE Lcd_Write_Char@a 0074 + ??_Update_Current_Date_Time 007A Lcd_Write_Char@y 0073 + _format_Temperature 02B8 _alarm1_hour 002E + _alarm2_hour 002A __size_of_I2C_Master_Repeated_Start 0007 + ?_I2C_Master_Repeated_Start 0070 ___latbits 0002 + __pcstackBANK0 004D ?_format_Temperature 0070 + _Get_Alarm_Status 0D08 ?_Lcd_Cmd 0070 + _I2C_Master_Start 0CB8 _I2C_Master_Write 0CC6 + ??_format_Temperature 0079 ___lwdiv@dividend 0072 + ??_Lcd_Set_Cursor 0075 ?___awdiv 0070 + ?___awmod 0070 ?___lldiv 004D + _dayofweek 00D0 ?___lwdiv 0070 + ?___lwmod 0070 I2C_Master_Write@data 0070 + __pstrings 0003 __end_of_I2C_Master_Repeated_Start 0CB8 + ___lwdiv@quotient 0075 __size_of_alarm 0043 + __size_of_format_DateTimeChars 01B9 _Read_Alarms_Temp 041C + ___wmul@product 0074 clear_ram0 0CCE + Lcd_Cmd@a 0073 ??_Lcd_Clear 0074 + _temp_sign 006E ??_getWeekDay 0072 + __stringbase 0012 ___wmul@multiplier 0070 + ??_Lcd_Write_Char 0071 _Lcd_Init 0190 + _Lcd_Port 0D1E ___lmul@multiplier 0070 + _control_reg 0024 __end_of_Lcd_Write_String 0DCC + __size_of_update_Display 0107 __size_of_Lcd_Cmd 001A + __end_of_getWeekDay 00E6 __end_of_display_Lcd_Layout 0F28 + __size_of___awdiv 0059 __size_of___awmod 004B + __size_of___lldiv 0060 __size_of___lwdiv 003C + __size_of___lwmod 0032 __end_of__stringtab 0013 + _I2C_Master_Init 00E6 _I2C_Master_Read 0D73 + _I2C_Master_Wait 0CD6 _I2C_Master_Stop 0CBF + ___lwdiv@divisor 0070 ___lwdiv@counter 0077 + __ptext10 0EE7 __ptext11 0DFE + __ptext20 0CB8 __ptext12 0D9F + __ptext21 0CB1 __ptext13 0E33 + __ptext30 0EA8 __ptext22 0D73 + __ptext14 0F6B __ptext31 01EC + __ptext23 0CD6 __ptext15 0CDF + __ptext32 0D08 __ptext24 0074 + __ptext16 0339 __ptext25 0D52 + __ptext17 041C __ptext26 0190 + __ptext18 0CC6 __ptext27 0D38 + __ptext19 0CBF __ptext28 0D1E + __ptext29 00E6 __size_of_main 006C + getWeekDay@dayofweek 0070 __end_of_Get_Alarm_Status 0D1E + __size_of_display_Intro 0035 I2C_Master_Read@ack 0070 + ??_I2C_Master_Repeated_Start 0070 __end_of_I2C_Master_Start 0CBF + __end_of_I2C_Master_Write 0CCE init_ram0 0CFB + Lcd_Write_Char@temp 0072 ___lwmod@dividend 0072 + ___lldiv@dividend 0051 stringcode 000D + __end_of_Read_Alarms_Temp 0513 __end_of_I2C_Master_Init 0137 + __end_of_I2C_Master_Read 0D9F __end_of_I2C_Master_Wait 0CDF + __end_of_I2C_Master_Stop 0CC6 Lcd_Set_Cursor@temp 007A + ___lldiv@quotient 0055 ___lwmod@divisor 0070 + ___lwmod@counter 0075 stringdir 000D + stringtab 0003 _display_Intro 0DFE + __size_of_Update_Current_Date_Time 00E3 ?_Update_Current_Date_Time 0070 + _update_Display 0513 _I2C_Master_Repeated_Start 0CB1 + __size_of_format_Temperature 0081 __size_of_BCD_2_DEC 0023 -- cgit v1.2.3-54-g00ecf