aboutsummaryrefslogtreecommitdiffstats
path: root/dist/default/production/I2C_LCD.X.production.lst
diff options
context:
space:
mode:
Diffstat (limited to 'dist/default/production/I2C_LCD.X.production.lst')
-rwxr-xr-xdist/default/production/I2C_LCD.X.production.lst6004
1 files changed, 6004 insertions, 0 deletions
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