From 442b88a5b418a7cb7bec780800f9635e0c731cba Mon Sep 17 00:00:00 2001 From: William Harrington Date: Wed, 21 Aug 2019 03:07:37 -0500 Subject: Okay then --- dist/default/production/I2C_LCD.X.production.lst | 13862 ++++++++++++--------- 1 file changed, 8201 insertions(+), 5661 deletions(-) (limited to 'dist/default/production/I2C_LCD.X.production.lst') diff --git a/dist/default/production/I2C_LCD.X.production.lst b/dist/default/production/I2C_LCD.X.production.lst index 51cb0d1..d06d1a0 100755 --- a/dist/default/production/I2C_LCD.X.production.lst +++ b/dist/default/production/I2C_LCD.X.production.lst @@ -1,7 +1,7 @@ Microchip MPLAB XC8 Assembler V2.05 build -831301201 - Sat Jul 27 22:33:52 2019 + Tue Aug 13 21:28:15 2019 Microchip MPLAB XC8 C Compiler v2.05 (Free license) build 20181220022703 Og1 1 processor 16F877A @@ -9,5577 +9,7839 @@ Microchip MPLAB XC8 C Compiler v2.05 (Free license) build 20181220022703 Og1 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 + 6 psect idataBANK3,global,class=CODE,delta=2 + 7 psect strings,global,class=STRING,delta=2 + 8 psect cinit,global,class=CODE,merge=1,delta=2 + 9 psect bssCOMMON,global,class=COMMON,space=1,delta=1 + 10 psect bssBANK0,global,class=BANK0,space=1,delta=1 + 11 psect dataBANK0,global,class=BANK0,space=1,delta=1 + 12 psect bssBANK1,global,class=BANK1,space=1,delta=1 + 13 psect dataBANK1,global,class=BANK1,space=1,delta=1 + 14 psect dataBANK3,global,class=BANK3,space=1,delta=1 + 15 psect inittext,global,class=CODE,delta=2 + 16 psect clrtext,global,class=CODE,delta=2 + 17 psect cstackBANK1,global,class=BANK1,space=1,delta=1 + 18 psect cstackCOMMON,global,class=COMMON,space=1,delta=1 + 19 psect cstackBANK0,global,class=BANK0,space=1,delta=1 + 20 psect maintext,global,class=CODE,split=1,delta=2 + 21 psect text1,local,class=CODE,merge=1,delta=2 + 22 psect text2,local,class=CODE,merge=1,delta=2 + 23 psect text3,local,class=CODE,merge=1,delta=2 + 24 psect text4,local,class=CODE,merge=1,delta=2 + 25 psect text5,local,class=CODE,merge=1,delta=2 + 26 psect text6,local,class=CODE,merge=1,delta=2 + 27 psect text7,local,class=CODE,merge=1,delta=2 + 28 psect text8,local,class=CODE,merge=1,delta=2 + 29 psect text9,local,class=CODE,merge=1,delta=2 + 30 psect text10,local,class=CODE,merge=1,delta=2,group=1 + 31 psect text11,local,class=CODE,merge=1,delta=2,group=1 + 32 psect text12,local,class=CODE,merge=1,delta=2 + 33 psect text13,local,class=CODE,merge=1,delta=2 + 34 psect text14,local,class=CODE,merge=1,delta=2 + 35 psect text15,local,class=CODE,merge=1,delta=2 + 36 psect text16,local,class=CODE,merge=1,delta=2,group=1 + 37 psect text17,local,class=CODE,merge=1,delta=2,group=1 + 38 psect text18,local,class=CODE,merge=1,delta=2 + 39 psect text19,local,class=CODE,merge=1,delta=2 + 40 psect text20,local,class=CODE,merge=1,delta=2 + 41 psect text21,local,class=CODE,merge=1,delta=2 + 42 psect text22,local,class=CODE,merge=1,delta=2 + 43 psect text23,local,class=CODE,merge=1,delta=2 + 44 psect text24,local,class=CODE,merge=1,delta=2 + 45 psect text25,local,class=CODE,merge=1,delta=2 + 46 psect text26,local,class=CODE,merge=1,delta=2 + 47 psect text27,local,class=CODE,merge=1,delta=2 + 48 psect text28,local,class=CODE,merge=1,delta=2 + 49 psect text29,local,class=CODE,merge=1,delta=2 + 50 psect text30,local,class=CODE,merge=1,delta=2 + 51 psect text31,local,class=CODE,merge=1,delta=2 + 52 psect text32,local,class=CODE,merge=1,delta=2 + 53 psect text33,local,class=CODE,merge=1,delta=2,group=1 + 54 psect text34,local,class=CODE,merge=1,delta=2 + 55 psect text35,local,class=CODE,merge=1,delta=2 + 56 psect text36,local,class=CODE,merge=1,delta=2 + 57 psect text37,local,class=CODE,merge=1,delta=2 + 58 psect text38,local,class=CODE,merge=1,delta=2 + 59 psect text39,local,class=CODE,merge=1,delta=2 + 60 psect text40,local,class=CODE,merge=1,delta=2 + 61 psect text41,local,class=CODE,merge=1,delta=2 + 62 psect text42,local,class=CODE,merge=1,delta=2 + 63 psect text43,local,class=CODE,merge=1,delta=2 + 64 psect intentry,global,class=CODE,delta=2 + 65 dabs 1,0x7E,2 + 66 0000 + 67 ; Version 2.05 + 68 ; Generated 20/12/2018 GMT + 69 ; + 70 ; Copyright © 2018, Microchip Technology Inc. and its subsidiaries ("Microchip") + 71 ; All rights reserved. + 72 ; + 73 ; 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 + 74 ; + 75 ; Redistribution and use in source and binary forms, with or without modification, are + 76 ; permitted provided that the following conditions are met: + 77 ; + 78 ; 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 + 79 ; conditions and the following disclaimer. + 80 ; + 81 ; 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 + 82 ; of conditions and the following disclaimer in the documentation and/or other + 83 ; materials provided with the distribution. + 84 ; + 85 ; 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 + 86 ; software without specific prior written permission. + 87 ; + 88 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + 89 ; 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 + 90 ; 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 + 91 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO + 92 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS + 93 ; 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 + 94 ; 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 + 95 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 96 ; + 97 ; + 98 ; Code-generator required, PIC16F877A Definitions + 99 ; + 100 ; SFR Addresses + 101 0000 ;# + 102 0001 ;# + 103 0002 ;# + 104 0003 ;# + 105 0004 ;# + 106 0005 ;# + 107 0006 ;# + 108 0007 ;# + 109 0008 ;# + 110 0009 ;# + 111 000A ;# + 112 000B ;# + 113 000C ;# + 114 000D ;# + 115 000E ;# + 116 000E ;# + 117 000F ;# + 118 0010 ;# + 119 0011 ;# + 120 0012 ;# + 121 0013 ;# + 122 0014 ;# + 123 0015 ;# + 124 0015 ;# + 125 0016 ;# + 126 0017 ;# + 127 0018 ;# + 128 0019 ;# + 129 001A ;# + 130 001B ;# + 131 001B ;# + 132 001C ;# + 133 001D ;# + 134 001E ;# + 135 001F ;# + 136 0081 ;# + 137 0085 ;# + 138 0086 ;# + 139 0087 ;# + 140 0088 ;# + 141 0089 ;# + 142 008C ;# + 143 008D ;# + 144 008E ;# + 145 0091 ;# + 146 0092 ;# + 147 0093 ;# + 148 0094 ;# + 149 0098 ;# + 150 0099 ;# + 151 009C ;# + 152 009D ;# + 153 009E ;# + 154 009F ;# + 155 010C ;# + 156 010D ;# + 157 010E ;# + 158 010F ;# + 159 018C ;# + 160 018D ;# + 161 0000 ;# + 162 0001 ;# + 163 0002 ;# + 164 0003 ;# + 165 0004 ;# + 166 0005 ;# + 167 0006 ;# + 168 0007 ;# + 169 0008 ;# + 170 0009 ;# + 171 000A ;# + 172 000B ;# + 173 000C ;# + 174 000D ;# + 175 000E ;# + 176 000E ;# + 177 000F ;# + 178 0010 ;# + 179 0011 ;# + 180 0012 ;# + 181 0013 ;# + 182 0014 ;# + 183 0015 ;# + 184 0015 ;# + 185 0016 ;# + 186 0017 ;# + 187 0018 ;# + 188 0019 ;# + 189 001A ;# + 190 001B ;# + 191 001B ;# + 192 001C ;# + 193 001D ;# + 194 001E ;# + 195 001F ;# + 196 0081 ;# + 197 0085 ;# + 198 0086 ;# + 199 0087 ;# + 200 0088 ;# + 201 0089 ;# + 202 008C ;# + 203 008D ;# + 204 008E ;# + 205 0091 ;# + 206 0092 ;# + 207 0093 ;# + 208 0094 ;# + 209 0098 ;# + 210 0099 ;# + 211 009C ;# + 212 009D ;# + 213 009E ;# + 214 009F ;# + 215 010C ;# + 216 010D ;# + 217 010E ;# + 218 010F ;# + 219 018C ;# + 220 018D ;# + 221 0000 ;# + 222 0001 ;# + 223 0002 ;# + 224 0003 ;# + 225 0004 ;# + 226 0005 ;# + 227 0006 ;# + 228 0007 ;# + 229 0008 ;# + 230 0009 ;# + 231 000A ;# + 232 000B ;# + 233 000C ;# + 234 000D ;# + 235 000E ;# + 236 000E ;# + 237 000F ;# + 238 0010 ;# + 239 0011 ;# + 240 0012 ;# + 241 0013 ;# + 242 0014 ;# + 243 0015 ;# + 244 0015 ;# + 245 0016 ;# + 246 0017 ;# + 247 0018 ;# + 248 0019 ;# + 249 001A ;# + 250 001B ;# + 251 001B ;# + 252 001C ;# + 253 001D ;# + 254 001E ;# + 255 001F ;# + 256 0081 ;# + 257 0085 ;# + 258 0086 ;# + 259 0087 ;# + 260 0088 ;# + 261 0089 ;# + 262 008C ;# + 263 008D ;# + 264 008E ;# + 265 0091 ;# + 266 0092 ;# + 267 0093 ;# + 268 0094 ;# + 269 0098 ;# + 270 0099 ;# + 271 009C ;# + 272 009D ;# + 273 009E ;# + 274 009F ;# + 275 010C ;# + 276 010D ;# + 277 010E ;# + 278 010F ;# + 279 018C ;# + 280 018D ;# + 281 0000 ;# + 282 0001 ;# + 283 0002 ;# + 284 0003 ;# + 285 0004 ;# + 286 0005 ;# + 287 0006 ;# + 288 0007 ;# + 289 0008 ;# + 290 0009 ;# + 291 000A ;# + 292 000B ;# + 293 000C ;# + 294 000D ;# + 295 000E ;# + 296 000E ;# + 297 000F ;# + 298 0010 ;# + 299 0011 ;# + 300 0012 ;# + 301 0013 ;# + 302 0014 ;# + 303 0015 ;# + 304 0015 ;# + 305 0016 ;# + 306 0017 ;# + 307 0018 ;# + 308 0019 ;# + 309 001A ;# + 310 001B ;# + 311 001B ;# + 312 001C ;# + 313 001D ;# + 314 001E ;# + 315 001F ;# + 316 0081 ;# + 317 0085 ;# + 318 0086 ;# + 319 0087 ;# + 320 0088 ;# + 321 0089 ;# + 322 008C ;# + 323 008D ;# + 324 008E ;# + 325 0091 ;# + 326 0092 ;# + 327 0093 ;# + 328 0094 ;# + 329 0098 ;# + 330 0099 ;# + 331 009C ;# + 332 009D ;# + 333 009E ;# + 334 009F ;# + 335 010C ;# + 336 010D ;# + 337 010E ;# + 338 010F ;# + 339 018C ;# + 340 018D ;# + 341 0000 ;# + 342 0001 ;# + 343 0002 ;# + 344 0003 ;# + 345 0004 ;# + 346 0005 ;# + 347 0006 ;# + 348 0007 ;# + 349 0008 ;# + 350 0009 ;# + 351 000A ;# + 352 000B ;# + 353 000C ;# + 354 000D ;# + 355 000E ;# + 356 000E ;# + 357 000F ;# + 358 0010 ;# + 359 0011 ;# + 360 0012 ;# + 361 0013 ;# + 362 0014 ;# + 363 0015 ;# + 364 0015 ;# + 365 0016 ;# + 366 0017 ;# + 367 0018 ;# + 368 0019 ;# + 369 001A ;# + 370 001B ;# + 371 001B ;# + 372 001C ;# + 373 001D ;# + 374 001E ;# + 375 001F ;# + 376 0081 ;# + 377 0085 ;# + 378 0086 ;# + 379 0087 ;# + 380 0088 ;# + 381 0089 ;# + 382 008C ;# + 383 008D ;# + 384 008E ;# + 385 0091 ;# + 386 0092 ;# + 387 0093 ;# + 388 0094 ;# + 389 0098 ;# + 390 0099 ;# + 391 009C ;# + 392 009D ;# + 393 009E ;# + 394 009F ;# + 395 010C ;# + 396 010D ;# + 397 010E ;# + 398 010F ;# + 399 018C ;# + 400 018D ;# + 401 0000 ;# + 402 0001 ;# + 403 0002 ;# + 404 0003 ;# + 405 0004 ;# + 406 0005 ;# + 407 0006 ;# + 408 0007 ;# + 409 0008 ;# + 410 0009 ;# + 411 000A ;# + 412 000B ;# + 413 000C ;# + 414 000D ;# + 415 000E ;# + 416 000E ;# + 417 000F ;# + 418 0010 ;# + 419 0011 ;# + 420 0012 ;# + 421 0013 ;# + 422 0014 ;# + 423 0015 ;# + 424 0015 ;# + 425 0016 ;# + 426 0017 ;# + 427 0018 ;# + 428 0019 ;# + 429 001A ;# + 430 001B ;# + 431 001B ;# + 432 001C ;# + 433 001D ;# + 434 001E ;# + 435 001F ;# + 436 0081 ;# + 437 0085 ;# + 438 0086 ;# + 439 0087 ;# + 440 0088 ;# + 441 0089 ;# + 442 008C ;# + 443 008D ;# + 444 008E ;# + 445 0091 ;# + 446 0092 ;# + 447 0093 ;# + 448 0094 ;# + 449 0098 ;# + 450 0099 ;# + 451 009C ;# + 452 009D ;# + 453 009E ;# + 454 009F ;# + 455 010C ;# + 456 010D ;# + 457 010E ;# + 458 010F ;# + 459 018C ;# + 460 018D ;# + 461 0000 ;# + 462 0001 ;# + 463 0002 ;# + 464 0003 ;# + 465 0004 ;# + 466 0005 ;# + 467 0006 ;# + 468 0007 ;# + 469 0008 ;# + 470 0009 ;# + 471 000A ;# + 472 000B ;# + 473 000C ;# + 474 000D ;# + 475 000E ;# + 476 000E ;# + 477 000F ;# + 478 0010 ;# + 479 0011 ;# + 480 0012 ;# + 481 0013 ;# + 482 0014 ;# + 483 0015 ;# + 484 0015 ;# + 485 0016 ;# + 486 0017 ;# + 487 0018 ;# + 488 0019 ;# + 489 001A ;# + 490 001B ;# + 491 001B ;# + 492 001C ;# + 493 001D ;# + 494 001E ;# + 495 001F ;# + 496 0081 ;# + 497 0085 ;# + 498 0086 ;# + 499 0087 ;# + 500 0088 ;# + 501 0089 ;# + 502 008C ;# + 503 008D ;# + 504 008E ;# + 505 0091 ;# + 506 0092 ;# + 507 0093 ;# + 508 0094 ;# + 509 0098 ;# + 510 0099 ;# + 511 009C ;# + 512 009D ;# + 513 009E ;# + 514 009F ;# + 515 010C ;# + 516 010D ;# + 517 010E ;# + 518 010F ;# + 519 018C ;# + 520 018D ;# + 521 0000 ;# + 522 0001 ;# + 523 0002 ;# + 524 0003 ;# + 525 0004 ;# + 526 0005 ;# + 527 0006 ;# + 528 0007 ;# + 529 0008 ;# + 530 0009 ;# + 531 000A ;# + 532 000B ;# + 533 000C ;# + 534 000D ;# + 535 000E ;# + 536 000E ;# + 537 000F ;# + 538 0010 ;# + 539 0011 ;# + 540 0012 ;# + 541 0013 ;# + 542 0014 ;# + 543 0015 ;# + 544 0015 ;# + 545 0016 ;# + 546 0017 ;# + 547 0018 ;# + 548 0019 ;# + 549 001A ;# + 550 001B ;# + 551 001B ;# + 552 001C ;# + 553 001D ;# + 554 001E ;# + 555 001F ;# + 556 0081 ;# + 557 0085 ;# + 558 0086 ;# + 559 0087 ;# + 560 0088 ;# + 561 0089 ;# + 562 008C ;# + 563 008D ;# + 564 008E ;# + 565 0091 ;# + 566 0092 ;# + 567 0093 ;# + 568 0094 ;# + 569 0098 ;# + 570 0099 ;# + 571 009C ;# + 572 009D ;# + 573 009E ;# + 574 009F ;# + 575 010C ;# + 576 010D ;# + 577 010E ;# + 578 010F ;# + 579 018C ;# + 580 018D ;# + 581 + 582 psect idataBANK0 + 583 1741 __pidataBANK0: + 584 + 585 ;initializer for _month + 586 1741 3401 retlw 1 + 587 1742 3400 retlw 0 + 588 + 589 ;initializer for _date + 590 1743 3401 retlw 1 + 591 1744 3400 retlw 0 + 592 + 593 ;initializer for _temp_sign + 594 1745 3420 retlw 32 + 595 + 596 psect idataBANK1 + 597 087D __pidataBANK1: + 598 + 599 ;initializer for _century + 600 087D 3414 retlw 20 + 601 087E 3400 retlw 0 + 602 + 603 ;initializer for _day + 604 087F 3401 retlw 1 + 605 0880 3400 retlw 0 + 606 + 607 ;initializer for _dayOfWeek + 608 0881 3453 retlw 83 + 609 0882 3475 retlw 117 + 610 0883 346E retlw 110 + 611 0884 3400 retlw 0 + 612 0885 344D retlw 77 + 613 0886 346F retlw 111 + 614 0887 346E retlw 110 + 615 0888 3400 retlw 0 + 616 0889 3454 retlw 84 + 617 088A 3475 retlw 117 + 618 088B 3465 retlw 101 + 619 088C 3400 retlw 0 + 620 088D 3457 retlw 87 + 621 088E 3465 retlw 101 + 622 088F 3464 retlw 100 + 623 0890 3400 retlw 0 + 624 0891 3454 retlw 84 + 625 0892 3468 retlw 104 + 626 0893 3475 retlw 117 + 627 0894 3400 retlw 0 + 628 0895 3446 retlw 70 + 629 0896 3472 retlw 114 + 630 0897 3469 retlw 105 + 631 0898 3400 retlw 0 + 632 0899 3453 retlw 83 + 633 089A 3461 retlw 97 + 634 089B 3474 retlw 116 + 635 089C 3400 retlw 0 + 636 + 637 psect idataBANK3 + 638 09B6 __pidataBANK3: + 639 + 640 ;initializer for _monthOfYear + 641 09B6 344A retlw 74 + 642 09B7 3461 retlw 97 + 643 09B8 346E retlw 110 + 644 09B9 3400 retlw 0 + 645 09BA 3446 retlw 70 + 646 09BB 3465 retlw 101 + 647 09BC 3462 retlw 98 + 648 09BD 3400 retlw 0 + 649 09BE 344D retlw 77 + 650 09BF 3461 retlw 97 + 651 09C0 3472 retlw 114 + 652 09C1 3400 retlw 0 + 653 09C2 3441 retlw 65 + 654 09C3 3470 retlw 112 + 655 09C4 3472 retlw 114 + 656 09C5 3400 retlw 0 + 657 09C6 344D retlw 77 + 658 09C7 3461 retlw 97 + 659 09C8 3479 retlw 121 + 660 09C9 3400 retlw 0 + 661 09CA 344A retlw 74 + 662 09CB 3475 retlw 117 + 663 09CC 346E retlw 110 + 664 09CD 3400 retlw 0 + 665 09CE 344A retlw 74 + 666 09CF 3475 retlw 117 + 667 09D0 346C retlw 108 + 668 09D1 3400 retlw 0 + 669 09D2 3441 retlw 65 + 670 09D3 3475 retlw 117 + 671 09D4 3467 retlw 103 + 672 09D5 3400 retlw 0 + 673 09D6 3453 retlw 83 + 674 09D7 3465 retlw 101 + 675 09D8 3470 retlw 112 + 676 09D9 3400 retlw 0 + 677 09DA 344F retlw 79 + 678 09DB 3463 retlw 99 + 679 09DC 3474 retlw 116 + 680 09DD 3400 retlw 0 + 681 09DE 344E retlw 78 + 682 09DF 346F retlw 111 + 683 09E0 3476 retlw 118 + 684 09E1 3400 retlw 0 + 685 09E2 3444 retlw 68 + 686 09E3 3465 retlw 101 + 687 09E4 3463 retlw 99 + 688 09E5 3400 retlw 0 + 689 001E _ADRESH set 30 + 690 001F _ADCON0bits set 31 + 691 001F _ADCON0 set 31 + 692 001A _RCREG set 26 + 693 0019 _TXREG set 25 + 694 0013 _SSPBUF set 19 + 695 0014 _SSPCON set 20 + 696 0008 _PORTD set 8 + 697 0007 _PORTC set 7 + 698 00FF _ADCS1 set 255 + 699 00FE _ADCS0 set 254 + 700 0041 _RD1 set 65 + 701 0065 _RCIF set 101 + 702 00C1 _OERR set 193 + 703 0064 _TXIF set 100 + 704 00C6 _RX9 set 198 + 705 00C4 _CREN set 196 + 706 00C7 _SPEN set 199 + 707 00A4 _CKP set 164 + 708 0043 _RD3 set 67 + 709 0042 _RD2 set 66 + 710 0047 _RD7 set 71 + 711 0046 _RD6 set 70 + 712 0045 _RD5 set 69 + 713 0044 _RD4 set 68 + 714 0059 _INTF set 89 + 715 0034 _RB4 set 52 + 716 0035 _RB5 set 53 + 717 0032 _RB2 set 50 + 718 005C _INTE set 92 + 719 005F _GIE set 95 + 720 009E _ADRESL set 158 + 721 0099 _SPBRG set 153 + 722 0094 _SSPSTAT set 148 + 723 0093 _SSPADD set 147 + 724 0091 _SSPCON2 set 145 + 725 0088 _TRISD set 136 + 726 0087 _TRISC set 135 + 727 0081 _OPTION_REGbits set 129 + 728 0086 _TRISBbits set 134 + 729 04FA _PCFG2 set 1274 + 730 04F9 _PCFG1 set 1273 + 731 04F8 _PCFG0 set 1272 + 732 04FF _ADFM set 1279 + 733 04C6 _TX9 set 1222 + 734 04C5 _TXEN set 1221 + 735 04C4 _SYNC set 1220 + 736 04C2 _BRGH set 1218 + 737 043F _TRISC7 set 1087 + 738 043E _TRISC6 set 1086 + 739 048C _ACKEN set 1164 + 740 048D _ACKDT set 1165 + 741 048B _RCEN set 1163 + 742 048A _PEN set 1162 + 743 0489 _RSEN set 1161 + 744 0488 _SEN set 1160 + 745 04A7 _SMP set 1191 + 746 043C _TRISC4 set 1084 + 747 043B _TRISC3 set 1083 + 748 0428 _TRISA0 set 1064 + 749 + 750 psect strings + 751 0800 __pstrings: + 752 0800 stringtab: + 753 0800 __stringtab: + 754 + 755 ; String table - string pointers are 1 byte each + 756 0800 1BFF btfsc btemp+1,7 + 757 0801 280A ljmp stringcode + 758 0802 1383 bcf 3,7 + 759 0803 187F btfsc btemp+1,0 + 760 0804 1783 bsf 3,7 + 761 0805 0800 movf 0,w + 762 0806 0A84 incf 4,f + 763 0807 1903 skipnz + 764 0808 0AFF incf btemp+1,f + 765 0809 0008 return + 766 080A stringcode: + 767 080A stringdir: + 768 080A 3008 movlw high stringdir + 769 080B 008A movwf 10 + 770 080C 0804 movf 4,w + 771 080D 0A84 incf 4,f + 772 080E 0782 addwf 2,f + 773 080F __stringbase: + 774 080F 3400 retlw 0 + 775 0810 __end_of__stringtab: + 776 0810 STR_4: + 777 0810 3420 retlw 32 ;' ' + 778 0811 3464 retlw 100 ;'d' + 779 0812 3464 retlw 100 ;'d' + 780 0813 3464 retlw 100 ;'d' + 781 0814 3420 retlw 32 ;' ' + 782 0815 3444 retlw 68 ;'D' + 783 0816 3444 retlw 68 ;'D' + 784 0817 342F retlw 47 ;'/' + 785 0818 344D retlw 77 ;'M' + 786 0819 344D retlw 77 ;'M' + 787 081A 342F retlw 47 ;'/' + 788 081B 3443 retlw 67 ;'C' + 789 081C 3443 retlw 67 ;'C' + 790 081D 3459 retlw 89 ;'Y' + 791 081E 3459 retlw 89 ;'Y' + 792 081F 3420 retlw 32 ;' ' + 793 0820 3400 retlw 0 + 794 0821 STR_3: + 795 0821 3448 retlw 72 ;'H' + 796 0822 3448 retlw 72 ;'H' + 797 0823 343A retlw 58 ;':' + 798 0824 346D retlw 109 ;'m' + 799 0825 346D retlw 109 ;'m' + 800 0826 343A retlw 58 ;':' + 801 0827 3473 retlw 115 ;'s' + 802 0828 3473 retlw 115 ;'s' + 803 0829 3420 retlw 32 ;' ' + 804 082A 342D retlw 45 ;'-' + 805 082B 3450 retlw 80 ;'P' + 806 082C 3450 retlw 80 ;'P' + 807 082D 342E retlw 46 ;'.' + 808 082E 3450 retlw 80 ;'P' + 809 082F 3400 retlw 0 + 810 0830 STR_1: + 811 0830 3444 retlw 68 ;'D' + 812 0831 3465 retlw 101 ;'e' + 813 0832 3473 retlw 115 ;'s' + 814 0833 346B retlw 107 ;'k' + 815 0834 3420 retlw 32 ;' ' + 816 0835 3443 retlw 67 ;'C' + 817 0836 346C retlw 108 ;'l' + 818 0837 346F retlw 111 ;'o' + 819 0838 3463 retlw 99 ;'c' + 820 0839 346B retlw 107 ;'k' + 821 083A 3400 retlw 0 + 822 083B STR_2: + 823 083B 3456 retlw 86 ;'V' + 824 083C 3431 retlw 49 ;'1' + 825 083D 3400 retlw 0 + 826 081F + 827 ; #config settings + 828 0000 + 829 psect cinit + 830 000F start_initialization: + 831 000F __initialization: + 832 + 833 ; Initialize objects allocated to BANK3 + 834 000F 1783 bsf 3,7 ;select IRP bank2 + 835 0010 30C0 movlw low (__pdataBANK3+48) + 836 0011 00FD movwf btemp+-1 + 837 0012 3009 movlw high __pidataBANK3 + 838 0013 00FE movwf btemp + 839 0014 30B6 movlw low __pidataBANK3 + 840 0015 00FF movwf btemp+1 + 841 0016 3090 movlw low __pdataBANK3 + 842 0017 0084 movwf 4 + 843 0018 160A 118A 27AD 120A 118A fcall init_ram0 + 844 + 845 ; Initialize objects allocated to BANK1 + 846 001D 1383 bcf 3,7 ;select IRP bank0 + 847 001E 30C0 movlw low (__pdataBANK1+32) + 848 001F 00FD movwf btemp+-1 + 849 0020 3008 movlw high __pidataBANK1 + 850 0021 00FE movwf btemp + 851 0022 307D movlw low __pidataBANK1 + 852 0023 00FF movwf btemp+1 + 853 0024 30A0 movlw low __pdataBANK1 + 854 0025 0084 movwf 4 + 855 0026 160A 118A 27AD 120A 118A fcall init_ram0 + 856 + 857 ; Initialize objects allocated to BANK0 + 858 002B 306E movlw low (__pdataBANK0+5) + 859 002C 00FD movwf btemp+-1 + 860 002D 3017 movlw high __pidataBANK0 + 861 002E 00FE movwf btemp + 862 002F 3041 movlw low __pidataBANK0 + 863 0030 00FF movwf btemp+1 + 864 0031 3069 movlw low __pdataBANK0 + 865 0032 0084 movwf 4 + 866 0033 160A 118A 27AD 120A 118A fcall init_ram0 + 867 + 868 ; Clear objects allocated to BANK1 + 869 0038 30C0 movlw low __pbssBANK1 + 870 0039 0084 movwf 4 + 871 003A 30D2 movlw low (__pbssBANK1+18) + 872 003B 160A 118A 2763 120A 118A fcall clear_ram0 + 873 + 874 ; Clear objects allocated to BANK0 + 875 0040 3057 movlw low __pbssBANK0 + 876 0041 0084 movwf 4 + 877 0042 3069 movlw low (__pbssBANK0+18) + 878 0043 160A 118A 2763 fcall clear_ram0 + 879 + 880 ; Clear objects allocated to COMMON + 881 0046 01FA clrf __pbssCOMMON& (0+127) + 882 0047 01FB clrf (__pbssCOMMON+1)& (0+127) + 883 0048 end_of_initialization: + 884 ;End of C runtime variable initialization code 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 + 886 0048 __end_of__initialization: + 887 0048 0183 clrf 3 + 888 0049 120A 118A 2DA0 ljmp _main ;jump to C main() function + 889 + 890 psect bssCOMMON + 891 007A __pbssCOMMON: + 892 007A _ldr: + 893 007A ds 2 + 894 + 895 psect bssBANK0 + 896 0057 __pbssBANK0: + 897 0057 _temperature_msb: + 898 0057 ds 2 + 899 0059 _temperature_lsb: + 900 0059 ds 2 + 901 005B _control_reg: + 902 005B ds 2 + 903 005D _year: + 904 005D ds 2 + 905 005F _hour: + 906 005F ds 2 + 907 0061 _min: + 908 0061 ds 2 + 909 0063 _sec: + 910 0063 ds 2 + 911 0065 _edit_datetime: + 912 0065 ds 2 + 913 0067 _brtlvl_chg: + 914 0067 ds 2 + 915 + 916 psect dataBANK0 + 917 0069 __pdataBANK0: + 918 0069 _month: + 919 0069 ds 2 + 920 006B _date: + 921 006B ds 2 + 922 006D _temp_sign: + 923 006D ds 1 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 + 925 psect bssBANK1 + 926 00C0 __pbssBANK1: + 927 00C0 _alarm2_status: + 928 00C0 ds 2 + 929 00C2 _alarm1_status: + 930 00C2 ds 2 + 931 00C4 _status_reg: + 932 00C4 ds 2 + 933 00C6 _alarm2_hour: + 934 00C6 ds 2 + 935 00C8 _alarm2_min: + 936 00C8 ds 2 + 937 00CA _alarm1_hour: + 938 00CA ds 2 + 939 00CC _alarm1_min: + 940 00CC ds 2 + 941 00CE _alarm1_sec: + 942 00CE ds 2 + 943 00D0 _update: + 944 00D0 ds 2 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 + 946 psect dataBANK1 + 947 00A0 __pdataBANK1: + 948 00A0 _century: + 949 00A0 ds 2 + 950 00A2 _day: + 951 00A2 ds 2 + 952 00A4 _dayOfWeek: + 953 00A4 ds 28 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 + 955 psect dataBANK3 + 956 0190 __pdataBANK3: + 957 0190 _monthOfYear: + 958 0190 ds 48 + 959 + 960 psect inittext + 961 17A9 init_fetch0: + 962 ; Called with low address in FSR and high address in W 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 + 964 17A9 087E movf 126,w + 965 17AA 008A movwf 10 + 966 17AB 087F movf 127,w + 967 17AC 0082 movwf 2 + 968 17AD init_ram0: + 969 ;Called with: + 970 ; high address of idata address in btemp + 971 ; low address of idata address in btemp+1 + 972 ; low address of data in FSR + 973 ; high address + 1 of data in btemp-1 + 974 + 975 17AD 27A9 160A 118A fcall init_fetch0 + 976 17B0 0080 movwf 0 + 977 17B1 0A84 incf 4,f + 978 17B2 0804 movf 4,w + 979 17B3 067D xorwf 125,w + 980 17B4 1903 btfsc 3,2 + 981 17B5 3400 retlw 0 + 982 17B6 0AFF incf 127,f + 983 17B7 1903 btfsc 3,2 + 984 17B8 0AFE incf 126,f + 985 17B9 2FAD goto init_ram0 + 986 + 987 psect clrtext + 988 1763 clear_ram0: + 989 ; Called with FSR containing the base address, and + 990 ; W with the last address+1 + 991 + 992 1763 0064 clrwdt ;clear the watchdog before getting into this loop + 993 1764 clrloop0: + 994 1764 0180 clrf 0 ;clear RAM location pointed to by FSR + 995 1765 0A84 incf 4,f ;increment pointer + 996 1766 0604 xorwf 4,w ;XOR with final address + 997 1767 1903 btfsc 3,2 ;have we reached the end yet? + 998 1768 3400 retlw 0 ;all done for this memory range, return + 999 1769 0604 xorwf 4,w ;XOR again to restore value + 1000 176A 2F64 goto clrloop0 ;do the next byte + 1001 + 1002 psect cstackBANK1 + 1003 00D2 __pcstackBANK1: + 1004 00D2 ??_main: 1005 - 1006 0070 ?___lwdiv: - 1007 ; 2 bytes @ 0x0 + 1006 ; 1 bytes @ 0x0 + 1007 00D2 ds 3 1008 - 1009 0070 ?___lwmod: - 1010 ; 2 bytes @ 0x0 - 1011 - 1012 0070 ?___lmul: - 1013 ; 2 bytes @ 0x0 + 1009 psect cstackCOMMON + 1010 0070 __pcstackCOMMON: + 1011 0070 ?_Adc_Init: + 1012 0070 ?_Lcd_Init: + 1013 ; 1 bytes @ 0x0 1014 - 1015 0070 Lcd_Port@a: - 1016 ; 4 bytes @ 0x0 + 1015 0070 ?_display_Intro: + 1016 ; 1 bytes @ 0x0 1017 - 1018 0070 getWeekDay@dayOfWeek: + 1018 0070 ?_display_Lcd_Layout: 1019 ; 1 bytes @ 0x0 1020 - 1021 0070 I2C_Master_Write@data: - 1022 ; 2 bytes @ 0x0 + 1021 0070 ?_Lcd_Write_Char: + 1022 ; 1 bytes @ 0x0 1023 - 1024 0070 I2C_Master_Read@ack: - 1025 ; 2 bytes @ 0x0 + 1024 0070 ?_Update_Current_Date_Time: + 1025 ; 1 bytes @ 0x0 1026 - 1027 0070 alarm@numberOfBeeps: - 1028 ; 2 bytes @ 0x0 + 1027 0070 ?_Read_Alarms_Temp: + 1028 ; 1 bytes @ 0x0 1029 - 1030 0070 ___wmul@multiplier: - 1031 ; 2 bytes @ 0x0 + 1030 0070 ?_Get_Alarm_Status: + 1031 ; 1 bytes @ 0x0 1032 - 1033 0070 ___awdiv@divisor: - 1034 ; 2 bytes @ 0x0 + 1033 0070 ?_format_Temperature: + 1034 ; 1 bytes @ 0x0 1035 - 1036 0070 ___awmod@divisor: - 1037 ; 2 bytes @ 0x0 + 1036 0070 ?_update_Display: + 1037 ; 1 bytes @ 0x0 1038 - 1039 0070 ___lwdiv@divisor: - 1040 ; 2 bytes @ 0x0 + 1039 0070 ?_edit_Date_Time: + 1040 ; 1 bytes @ 0x0 1041 - 1042 0070 ___lwmod@divisor: - 1043 ; 2 bytes @ 0x0 + 1042 0070 ?_Lcd_Clear: + 1043 ; 1 bytes @ 0x0 1044 - 1045 0070 ___lmul@multiplier: - 1046 ; 2 bytes @ 0x0 + 1045 0070 ?_Set_Time: + 1046 ; 1 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 + 1048 0070 ?_Set_Date: + 1049 ; 1 bytes @ 0x0 + 1050 + 1051 0070 ?_main: + 1052 ; 1 bytes @ 0x0 + 1053 + 1054 0070 ?_isr: + 1055 ; 1 bytes @ 0x0 + 1056 + 1057 0070 ??_isr: + 1058 ; 1 bytes @ 0x0 + 1059 + 1060 0070 ?_Lcd_Port: + 1061 ; 1 bytes @ 0x0 + 1062 + 1063 0070 ?_Lcd_Cmd: + 1064 ; 1 bytes @ 0x0 + 1065 + 1066 0070 ?_I2C_Master_Wait: + 1067 ; 1 bytes @ 0x0 + 1068 + 1069 0070 ?_I2C_Master_Start: + 1070 ; 1 bytes @ 0x0 + 1071 + 1072 0070 ?_I2C_Master_Repeated_Start: + 1073 ; 1 bytes @ 0x0 + 1074 + 1075 0070 ?_I2C_Master_Stop: + 1076 ; 1 bytes @ 0x0 + 1077 + 1078 + 1079 ; 1 bytes @ 0x0 + 1080 0070 ds 2 + 1081 0072 ?_I2C_Master_Init: + 1082 0072 ??_Adc_Init: + 1083 ; 1 bytes @ 0x2 + 1084 + 1085 0072 ??_Get_Alarm_Status: + 1086 ; 1 bytes @ 0x2 + 1087 + 1088 0072 ?_alarm: + 1089 ; 1 bytes @ 0x2 + 1090 + 1091 0072 ??_Lcd_Port: + 1092 ; 1 bytes @ 0x2 1093 - 1094 ; 1 bytes @ 0x3 - 1095 0073 ds 1 - 1096 0074 ??_Lcd_Init: - 1097 0074 ??_Lcd_Clear: - 1098 ; 1 bytes @ 0x4 + 1094 0072 ??_I2C_Master_Wait: + 1095 ; 1 bytes @ 0x2 + 1096 + 1097 0072 ??_I2C_Master_Start: + 1098 ; 1 bytes @ 0x2 1099 - 1100 0074 ?_Lcd_Set_Cursor: - 1101 ; 1 bytes @ 0x4 + 1100 0072 ??_I2C_Master_Repeated_Start: + 1101 ; 1 bytes @ 0x2 1102 - 1103 0074 ??___wmul: - 1104 ; 1 bytes @ 0x4 + 1103 0072 ??_I2C_Master_Stop: + 1104 ; 1 bytes @ 0x2 1105 - 1106 0074 ??___awdiv: - 1107 ; 1 bytes @ 0x4 + 1106 0072 ?_Adc_Read: + 1107 ; 1 bytes @ 0x2 1108 - 1109 0074 ??___awmod: - 1110 ; 1 bytes @ 0x4 + 1109 0072 ?_I2C_Master_Read: + 1110 ; 2 bytes @ 0x2 1111 - 1112 0074 ??___lwdiv: - 1113 ; 1 bytes @ 0x4 + 1112 0072 ?___wmul: + 1113 ; 2 bytes @ 0x2 1114 - 1115 0074 ??___lwmod: - 1116 ; 1 bytes @ 0x4 + 1115 0072 ?___awdiv: + 1116 ; 2 bytes @ 0x2 1117 - 1118 0074 Lcd_Set_Cursor@b: - 1119 ; 1 bytes @ 0x4 + 1118 0072 ?___awmod: + 1119 ; 2 bytes @ 0x2 1120 - 1121 0074 Lcd_Write_Char@a: - 1122 ; 1 bytes @ 0x4 + 1121 0072 Lcd_Port@a: + 1122 ; 2 bytes @ 0x2 1123 - 1124 0074 I2C_Master_Read@incoming: - 1125 ; 1 bytes @ 0x4 + 1124 0072 I2C_Master_Read@ack: + 1125 ; 1 bytes @ 0x2 1126 - 1127 0074 ___wmul@product: - 1128 ; 2 bytes @ 0x4 + 1127 0072 alarm@numberOfBeeps: + 1128 ; 2 bytes @ 0x2 1129 - 1130 0074 ___lmul@multiplicand: - 1131 ; 2 bytes @ 0x4 + 1130 0072 Adc_Read@channel: + 1131 ; 2 bytes @ 0x2 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 + 1133 0072 ___wmul@multiplier: + 1134 ; 2 bytes @ 0x2 + 1135 + 1136 0072 ___awdiv@divisor: + 1137 ; 2 bytes @ 0x2 + 1138 + 1139 0072 ___awmod@divisor: + 1140 ; 2 bytes @ 0x2 + 1141 + 1142 0072 I2C_Master_Init@freq_K: + 1143 ; 2 bytes @ 0x2 + 1144 1145 - 1146 0075 ___lwmod@counter: - 1147 ; 1 bytes @ 0x5 - 1148 - 1149 0075 Lcd_Write_String@a: - 1150 ; 1 bytes @ 0x5 + 1146 ; 4 bytes @ 0x2 + 1147 0072 ds 1 + 1148 0073 ??_Lcd_Write_Char: + 1149 0073 ??_Lcd_Cmd: + 1150 ; 1 bytes @ 0x3 1151 - 1152 0075 alarm@i: - 1153 ; 2 bytes @ 0x5 - 1154 - 1155 0075 ___lwdiv@quotient: - 1156 ; 2 bytes @ 0x5 - 1157 + 1152 + 1153 ; 1 bytes @ 0x3 + 1154 0073 ds 1 + 1155 0074 ??_Adc_Read: + 1156 0074 ??_alarm: + 1157 ; 1 bytes @ 0x4 1158 - 1159 ; 2 bytes @ 0x5 - 1160 0075 ds 1 - 1161 0076 ?_BCD_2_DEC: - 1162 0076 ___awdiv@sign: - 1163 ; 2 bytes @ 0x6 + 1159 0074 ??_I2C_Master_Read: + 1160 ; 1 bytes @ 0x4 + 1161 + 1162 0074 Lcd_Write_Char@temp: + 1163 ; 1 bytes @ 0x4 1164 - 1165 0076 ___awmod@sign: - 1166 ; 1 bytes @ 0x6 + 1165 0074 ___wmul@multiplicand: + 1166 ; 1 bytes @ 0x4 1167 - 1168 0076 BCD_2_DEC@to_convert: - 1169 ; 1 bytes @ 0x6 + 1168 0074 ___awdiv@dividend: + 1169 ; 2 bytes @ 0x4 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 + 1171 0074 ___awmod@dividend: + 1172 ; 2 bytes @ 0x4 + 1173 + 1174 + 1175 ; 2 bytes @ 0x4 + 1176 0074 ds 1 + 1177 0075 Lcd_Cmd@a: + 1178 0075 Lcd_Write_Char@y: + 1179 ; 1 bytes @ 0x5 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 + 1181 + 1182 ; 1 bytes @ 0x5 + 1183 0075 ds 1 + 1184 0076 ??_I2C_Master_Init: + 1185 0076 ?_Lcd_Set_Cursor: + 1186 ; 1 bytes @ 0x6 + 1187 + 1188 0076 ??_Lcd_Clear: + 1189 ; 1 bytes @ 0x6 1190 - 1191 ; 2 bytes @ 0x7 - 1192 0077 ds 1 - 1193 0078 ??_format_DateTimeChars: - 1194 0078 ??_BCD_2_DEC: - 1195 ; 1 bytes @ 0x8 + 1191 0076 ??___wmul: + 1192 ; 1 bytes @ 0x6 + 1193 + 1194 0076 ??___awdiv: + 1195 ; 1 bytes @ 0x6 1196 - 1197 0078 ??___lmul: - 1198 ; 1 bytes @ 0x8 + 1197 0076 ??___awmod: + 1198 ; 1 bytes @ 0x6 1199 - 1200 0078 Lcd_Set_Cursor@z: - 1201 ; 1 bytes @ 0x8 + 1200 0076 Lcd_Set_Cursor@b: + 1201 ; 1 bytes @ 0x6 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 + 1203 0076 Lcd_Write_Char@a: + 1204 ; 1 bytes @ 0x6 + 1205 + 1206 0076 I2C_Master_Read@incoming: + 1207 ; 1 bytes @ 0x6 + 1208 + 1209 0076 ___wmul@product: + 1210 ; 2 bytes @ 0x6 + 1211 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: + 1213 ; 2 bytes @ 0x6 + 1214 0076 ds 1 + 1215 0077 ?_Vfd_Set_Brightness: + 1216 0077 ??_Lcd_Set_Cursor: + 1217 ; 1 bytes @ 0x7 + 1218 + 1219 0077 ___awmod@counter: + 1220 ; 1 bytes @ 0x7 + 1221 + 1222 0077 Vfd_Set_Brightness@level: + 1223 ; 1 bytes @ 0x7 + 1224 + 1225 + 1226 ; 2 bytes @ 0x7 + 1227 0077 ds 1 + 1228 0078 ??_format_Temperature: + 1229 0078 ??___lwdiv: + 1230 ; 1 bytes @ 0x8 + 1231 + 1232 0078 ?_BCD_2_DEC: + 1233 ; 1 bytes @ 0x8 + 1234 + 1235 0078 ___awmod@sign: + 1236 ; 2 bytes @ 0x8 1237 - 1238 ; 1 bytes @ 0xD - 1239 007D ds 1 - 1240 007E ??_main: + 1238 0078 BCD_2_DEC@to_convert: + 1239 ; 1 bytes @ 0x8 + 1240 1241 - 1242 psect cstackBANK0 - 1243 004D __pcstackBANK0: - 1244 ; 1 bytes @ 0xE - 1245 - 1246 004D ?___lldiv: - 1247 004D ___lldiv@divisor: - 1248 ; 4 bytes @ 0x0 - 1249 + 1242 ; 2 bytes @ 0x8 + 1243 0078 ds 1 + 1244 0079 ??_Set_Sqwe: + 1245 0079 ??_Set_Time: + 1246 ; 1 bytes @ 0x9 + 1247 + 1248 0079 ??_Set_Date: + 1249 ; 1 bytes @ 0x9 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 + 1251 0079 ??_I2C_Master_Write: + 1252 ; 1 bytes @ 0x9 + 1253 + 1254 0079 ??___lwmod: + 1255 ; 1 bytes @ 0x9 + 1256 + 1257 + 1258 ; 1 bytes @ 0x9 + 1259 0079 ds 1 + 1260 007A ??_Update_Current_Date_Time: + 1261 007A ??_Read_Alarms_Temp: + 1262 ; 1 bytes @ 0xA + 1263 + 1264 007A ??_Set_DayOfWeek: + 1265 ; 1 bytes @ 0xA + 1266 + 1267 007A ??_display_Digit: + 1268 ; 1 bytes @ 0xA 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 + 1270 + 1271 psect cstackBANK0 + 1272 0020 __pcstackBANK0: + 1273 ; 1 bytes @ 0xA + 1274 + 1275 0020 ??_Vfd_Set_Brightness: + 1276 0020 ??_BCD_2_DEC: + 1277 ; 1 bytes @ 0x0 + 1278 + 1279 0020 ?___lwdiv: + 1280 ; 1 bytes @ 0x0 + 1281 + 1282 0020 Lcd_Set_Cursor@a: + 1283 ; 2 bytes @ 0x0 + 1284 + 1285 0020 ___awdiv@counter: + 1286 ; 1 bytes @ 0x0 + 1287 + 1288 0020 alarm@i: + 1289 ; 1 bytes @ 0x0 + 1290 + 1291 0020 ___lwdiv@divisor: + 1292 ; 2 bytes @ 0x0 + 1293 + 1294 + 1295 ; 2 bytes @ 0x0 + 1296 0020 ds 1 + 1297 0021 Lcd_Set_Cursor@z: + 1298 0021 ___awdiv@sign: + 1299 ; 1 bytes @ 0x1 + 1300 + 1301 + 1302 ; 1 bytes @ 0x1 + 1303 0021 ds 1 + 1304 0022 ??_Lcd_Init: + 1305 0022 Lcd_Set_Cursor@y: + 1306 ; 1 bytes @ 0x2 + 1307 + 1308 0022 alarm@j: + 1309 ; 1 bytes @ 0x2 + 1310 + 1311 0022 ___awdiv@quotient: + 1312 ; 2 bytes @ 0x2 + 1313 + 1314 0022 ___lwdiv@dividend: + 1315 ; 2 bytes @ 0x2 + 1316 + 1317 + 1318 ; 2 bytes @ 0x2 + 1319 0022 ds 1 + 1320 0023 Lcd_Set_Cursor@temp: 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 + 1322 ; 1 bytes @ 0x3 + 1323 0023 ds 1 + 1324 0024 ?_DEC_2_BCD: + 1325 0024 ___lwdiv@counter: + 1326 ; 2 bytes @ 0x4 + 1327 + 1328 0024 DEC_2_BCD@to_convert: + 1329 ; 1 bytes @ 0x4 + 1330 + 1331 + 1332 ; 2 bytes @ 0x4 + 1333 0024 ds 1 + 1334 0025 ___lwdiv@quotient: + 1335 + 1336 ; 2 bytes @ 0x5 + 1337 0025 ds 1 + 1338 0026 ??_DEC_2_BCD: + 1339 + 1340 ; 1 bytes @ 0x6 + 1341 0026 ds 1 + 1342 0027 ?___lwmod: + 1343 0027 ___lwmod@divisor: + 1344 ; 2 bytes @ 0x7 + 1345 + 1346 + 1347 ; 2 bytes @ 0x7 + 1348 0027 ds 1 + 1349 0028 ?_I2C_Master_Write: + 1350 0028 I2C_Master_Write@data: + 1351 ; 1 bytes @ 0x8 + 1352 + 1353 + 1354 ; 2 bytes @ 0x8 + 1355 0028 ds 1 + 1356 0029 ___lwmod@dividend: + 1357 + 1358 ; 2 bytes @ 0x9 + 1359 0029 ds 1 + 1360 002A ?_Set_Sqwe: + 1361 002A Set_Sqwe@contvalue: + 1362 ; 1 bytes @ 0xA + 1363 1364 - 1365 ;main.c: 50: display_Lcd_Layout(); - 1366 026F 120A 158A 26E7 120A 118A fcall _display_Lcd_Layout - 1367 0274 l2092: + 1365 ; 2 bytes @ 0xA + 1366 002A ds 1 + 1367 002B ___lwmod@counter: 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 + 1369 ; 1 bytes @ 0xB + 1370 002B ds 1 + 1371 002C ?_display_Digit: + 1372 002C ?_Get_DayOfWeek: + 1373 ; 1 bytes @ 0xC 1374 - 1375 ;main.c: 79: Get_Alarm_Status(); - 1376 027E 120A 158A 2508 120A 118A fcall _Get_Alarm_Status + 1375 002C ?_Get_Is_Leap_Year: + 1376 ; 2 bytes @ 0xC 1377 - 1378 ;main.c: 83: format_DateTimeChars(); - 1379 0283 120A 118A 261A 120A 118A fcall _format_DateTimeChars + 1378 002C display_Digit@data: + 1379 ; 2 bytes @ 0xC 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 + 1381 002C Get_DayOfWeek@y: + 1382 ; 2 bytes @ 0xC + 1383 + 1384 002C Get_Is_Leap_Year@y: + 1385 ; 2 bytes @ 0xC + 1386 + 1387 + 1388 ; 2 bytes @ 0xC + 1389 002C ds 2 + 1390 002E ??_Get_Is_Leap_Year: + 1391 002E Get_DayOfWeek@m: + 1392 ; 1 bytes @ 0xE + 1393 + 1394 + 1395 ; 2 bytes @ 0xE + 1396 002E ds 2 + 1397 0030 _Get_Is_Leap_Year$401: + 1398 0030 Get_DayOfWeek@d: + 1399 ; 1 bytes @ 0x10 + 1400 + 1401 + 1402 ; 2 bytes @ 0x10 + 1403 0030 ds 1 + 1404 0031 ?_Get_Days_In_Month: + 1405 0031 Get_Days_In_Month@y: + 1406 ; 2 bytes @ 0x11 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: + 1408 + 1409 ; 2 bytes @ 0x11 + 1410 0031 ds 1 + 1411 0032 ??_Get_DayOfWeek: + 1412 + 1413 ; 1 bytes @ 0x12 + 1414 0032 ds 1 + 1415 0033 Get_Days_In_Month@m: + 1416 + 1417 ; 2 bytes @ 0x13 + 1418 0033 ds 2 + 1419 0035 ??_Get_Days_In_Month: + 1420 + 1421 ; 1 bytes @ 0x15 + 1422 0035 ds 7 + 1423 003C ?_Get_WeekDay: + 1424 003C ?_Set_DayOfWeek: + 1425 ; 1 bytes @ 0x1C 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 ;; + 1427 003C Get_WeekDay@d: + 1428 ; 1 bytes @ 0x1C + 1429 + 1430 003C Set_DayOfWeek@dow: + 1431 ; 2 bytes @ 0x1C + 1432 + 1433 + 1434 ; 2 bytes @ 0x1C + 1435 003C ds 2 + 1436 003E ??_Get_WeekDay: + 1437 + 1438 ; 1 bytes @ 0x1E + 1439 003E ds 1 + 1440 003F ?_Lcd_Write_String: + 1441 003F Lcd_Write_String@a: + 1442 ; 1 bytes @ 0x1F + 1443 + 1444 + 1445 ; 2 bytes @ 0x1F + 1446 003F ds 2 + 1447 0041 ??_Lcd_Write_String: + 1448 + 1449 ; 1 bytes @ 0x21 + 1450 0041 ds 3 + 1451 0044 Lcd_Write_String@i: + 1452 + 1453 ; 2 bytes @ 0x24 + 1454 0044 ds 2 + 1455 0046 ??_display_Intro: + 1456 0046 ??_display_Lcd_Layout: + 1457 ; 1 bytes @ 0x26 + 1458 + 1459 0046 ??_update_Display: + 1460 ; 1 bytes @ 0x26 1461 - 1462 - 1463 ;psect for function _update_Display - 1464 0513 _update_Display: + 1462 0046 ??_edit_Date_Time: + 1463 ; 1 bytes @ 0x26 + 1464 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 + 1466 ; 1 bytes @ 0x26 + 1467 0046 ds 5 + 1468 004B edit_Date_Time@hour_org: + 1469 + 1470 ; 2 bytes @ 0x2B + 1471 004B ds 2 + 1472 004D edit_Date_Time@min_org: + 1473 + 1474 ; 2 bytes @ 0x2D + 1475 004D ds 2 + 1476 004F edit_Date_Time@year_org: + 1477 + 1478 ; 2 bytes @ 0x2F + 1479 004F ds 2 + 1480 0051 edit_Date_Time@month_org: + 1481 + 1482 ; 2 bytes @ 0x31 + 1483 0051 ds 2 + 1484 0053 edit_Date_Time@date_org: + 1485 + 1486 ; 2 bytes @ 0x33 + 1487 0053 ds 2 + 1488 0055 edit_Date_Time@sec_org: + 1489 + 1490 ; 2 bytes @ 0x35 + 1491 0055 ds 2 + 1492 + 1493 psect maintext + 1494 05A0 __pmaintext: + 1495 ;; + 1496 ;;Main: autosize = 0, tempsize = 3, incstack = 0, save=0 + 1497 ;; + 1498 ;; *************** function _main ***************** + 1499 ;; Defined at: + 1500 ;; line 43 in file "main.c" + 1501 ;; Parameters: Size Location Type + 1502 ;; None + 1503 ;; Auto vars: Size Location Type + 1504 ;; None + 1505 ;; Return value: Size Location Type + 1506 ;; 1 wreg void + 1507 ;; Registers used: + 1508 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 1509 ;; Tracked objects: + 1510 ;; On entry : B00/0 + 1511 ;; On exit : 0/0 + 1512 ;; Unchanged: 0/0 + 1513 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1514 ;; Params: 0 0 0 0 0 + 1515 ;; Locals: 0 0 0 0 0 + 1516 ;; Temps: 0 0 3 0 0 + 1517 ;; Totals: 0 0 3 0 0 + 1518 ;;Total ram usage: 3 bytes + 1519 ;; Hardware stack levels required when called: 5 + 1520 ;; This function calls: + 1521 ;; _Adc_Init + 1522 ;; _Adc_Read + 1523 ;; _Get_Alarm_Status + 1524 ;; _I2C_Master_Init + 1525 ;; _Lcd_Init + 1526 ;; _Lcd_Set_Cursor + 1527 ;; _Lcd_Write_Char + 1528 ;; _Read_Alarms_Temp + 1529 ;; _Set_Sqwe + 1530 ;; _Update_Current_Date_Time + 1531 ;; _Vfd_Set_Brightness + 1532 ;; _display_Intro + 1533 ;; _display_Lcd_Layout + 1534 ;; _edit_Date_Time + 1535 ;; _format_Temperature + 1536 ;; _update_Display + 1537 ;; This function is called by: + 1538 ;; Startup code after reset + 1539 ;; This function uses a non-reentrant model + 1540 ;; + 1541 + 1542 + 1543 ;psect for function _main + 1544 05A0 _main: + 1545 + 1546 ;main.c: 45: TRISA0 = 0x01; + 1547 + 1548 ;incstack = 0 + 1549 ; Regs used in _main: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 1550 05A0 1683 bsf 3,5 ;RP0=1, select bank1 + 1551 05A1 1303 bcf 3,6 ;RP1=0, select bank1 + 1552 05A2 1405 bsf 5,0 ;volatile + 1553 + 1554 ;main.c: 47: TRISBbits.TRISB2 = 1; + 1555 05A3 1506 bsf 6,2 ;volatile + 1556 + 1557 ;main.c: 48: TRISBbits.TRISB4 = 1; + 1558 05A4 1606 bsf 6,4 ;volatile + 1559 + 1560 ;main.c: 49: TRISBbits.TRISB5 = 1; + 1561 05A5 1686 bsf 6,5 ;volatile + 1562 + 1563 ;main.c: 51: GIE = 0; + 1564 05A6 138B bcf 11,7 ;volatile + 1565 + 1566 ;main.c: 52: OPTION_REGbits.nRBPU = 0; + 1567 05A7 1381 bcf 1,7 ;volatile + 1568 + 1569 ;main.c: 53: INTE = 1; + 1570 05A8 160B bsf 11,4 ;volatile + 1571 + 1572 ;main.c: 54: GIE = 1; + 1573 05A9 178B bsf 11,7 ;volatile 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 + 1575 ;main.c: 56: TRISC = 0x00; + 1576 05AA 0187 clrf 7 ;volatile + 1577 + 1578 ;main.c: 57: PORTC = 0x00; + 1579 05AB 1283 bcf 3,5 ;RP0=0, select bank0 + 1580 05AC 1303 bcf 3,6 ;RP1=0, select bank0 + 1581 05AD 0187 clrf 7 ;volatile + 1582 + 1583 ;main.c: 59: TRISD = 0x00; + 1584 05AE 1683 bsf 3,5 ;RP0=1, select bank1 + 1585 05AF 1303 bcf 3,6 ;RP1=0, select bank1 + 1586 05B0 0188 clrf 8 ;volatile + 1587 + 1588 ;main.c: 60: PORTD = 0x00; + 1589 05B1 1283 bcf 3,5 ;RP0=0, select bank0 + 1590 05B2 1303 bcf 3,6 ;RP1=0, select bank0 + 1591 05B3 0188 clrf 8 ;volatile 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 + 1593 ;main.c: 71: I2C_Master_Init(100000); + 1594 05B4 3000 movlw 0 + 1595 05B5 00F5 movwf I2C_Master_Init@freq_K+3 + 1596 05B6 3001 movlw 1 + 1597 05B7 00F4 movwf I2C_Master_Init@freq_K+2 + 1598 05B8 3086 movlw 134 + 1599 05B9 00F3 movwf I2C_Master_Init@freq_K+1 + 1600 05BA 30A0 movlw 160 + 1601 05BB 00F2 movwf I2C_Master_Init@freq_K + 1602 05BC 160A 118A 27BA 120A 118A fcall _I2C_Master_Init + 1603 + 1604 ;main.c: 80: Adc_Init(); + 1605 05C1 160A 118A 277F 120A 118A fcall _Adc_Init + 1606 + 1607 ;main.c: 89: Lcd_Init(); + 1608 05C6 120A 158A 2603 120A 118A fcall _Lcd_Init 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 + 1610 ;main.c: 98: Vfd_Set_Brightness(0); + 1611 05CB 3000 movlw 0 + 1612 05CC 00F7 movwf Vfd_Set_Brightness@level + 1613 05CD 00F8 movwf Vfd_Set_Brightness@level+1 + 1614 05CE 120A 158A 20BE 120A 118A fcall _Vfd_Set_Brightness 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 + 1616 ;main.c: 101: display_Intro(); + 1617 05D3 120A 158A 2379 120A 118A fcall _display_Intro + 1618 + 1619 ;main.c: 102: display_Lcd_Layout(); + 1620 05D8 120A 158A 23BC 120A 118A fcall _display_Lcd_Layout 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 ;; + 1622 ;main.c: 120: Set_Sqwe(0x40); + 1623 05DD 3040 movlw 64 + 1624 05DE 1283 bcf 3,5 ;RP0=0, select bank0 + 1625 05DF 1303 bcf 3,6 ;RP1=0, select bank0 + 1626 05E0 00AA movwf Set_Sqwe@contvalue + 1627 05E1 3000 movlw 0 + 1628 05E2 00AB movwf Set_Sqwe@contvalue+1 + 1629 05E3 120A 158A 2107 120A 118A fcall _Set_Sqwe + 1630 + 1631 ;main.c: 123: Vfd_Set_Brightness(3); + 1632 05E8 3003 movlw 3 + 1633 05E9 00F7 movwf Vfd_Set_Brightness@level + 1634 05EA 3000 movlw 0 + 1635 05EB 00F8 movwf Vfd_Set_Brightness@level+1 + 1636 05EC 120A 158A 20BE 120A 118A fcall _Vfd_Set_Brightness + 1637 05F1 l3250: + 1638 + 1639 ;main.c: 137: if (update) { + 1640 05F1 1683 bsf 3,5 ;RP0=1, select bank1 + 1641 05F2 1303 bcf 3,6 ;RP1=0, select bank1 + 1642 05F3 0850 movf _update^(0+128),w + 1643 05F4 0451 iorwf (_update+1)^(0+128),w + 1644 05F5 1903 btfsc 3,2 + 1645 05F6 2E46 goto l3260 + 1646 + 1647 ;main.c: 138: Lcd_Set_Cursor(1, 3); + 1648 05F7 3003 movlw 3 + 1649 05F8 00D2 movwf ??_main^(0+128) + 1650 05F9 0852 movf ??_main^(0+128),w + 1651 05FA 00F6 movwf Lcd_Set_Cursor@b + 1652 05FB 3001 movlw 1 + 1653 05FC 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1654 + 1655 ;main.c: 139: Lcd_Write_Char(':'); + 1656 0601 303A movlw 58 + 1657 0602 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 1658 + 1659 ;main.c: 140: Lcd_Set_Cursor(1, 6); + 1660 0607 3006 movlw 6 + 1661 0608 1683 bsf 3,5 ;RP0=1, select bank1 + 1662 0609 1303 bcf 3,6 ;RP1=0, select bank1 + 1663 060A 00D2 movwf ??_main^(0+128) + 1664 060B 0852 movf ??_main^(0+128),w + 1665 060C 00F6 movwf Lcd_Set_Cursor@b + 1666 060D 3001 movlw 1 + 1667 060E 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1668 + 1669 ;main.c: 141: Lcd_Write_Char(':'); + 1670 0613 303A movlw 58 + 1671 0614 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 1672 + 1673 ;main.c: 142: Update_Current_Date_Time(); + 1674 0619 120A 158A 2710 120A 118A fcall _Update_Current_Date_Time + 1675 + 1676 ;main.c: 143: Read_Alarms_Temp(); + 1677 061E 120A 118A 26C8 120A 118A fcall _Read_Alarms_Temp + 1678 + 1679 ;main.c: 144: Get_Alarm_Status(); + 1680 0623 120A 158A 205D 120A 118A fcall _Get_Alarm_Status + 1681 + 1682 ;main.c: 145: format_Temperature(); + 1683 0628 120A 158A 224E 120A 118A fcall _format_Temperature + 1684 + 1685 ;main.c: 146: update_Display(); + 1686 062D 120A 118A 2473 120A 118A fcall _update_Display + 1687 + 1688 ;main.c: 147: update = 0; + 1689 0632 1683 bsf 3,5 ;RP0=1, select bank1 + 1690 0633 1303 bcf 3,6 ;RP1=0, select bank1 + 1691 0634 01D0 clrf _update^(0+128) + 1692 0635 01D1 clrf (_update+1)^(0+128) + 1693 + 1694 ;main.c: 148: _delay((unsigned long)((500)*(20000000/4000.0))); + 1695 0636 300D movlw 13 + 1696 0637 1683 bsf 3,5 ;RP0=1, select bank1 + 1697 0638 1303 bcf 3,6 ;RP1=0, select bank1 + 1698 0639 00D4 movwf (??_main^(0+128)+2) + 1699 063A 30AF movlw 175 + 1700 063B 00D3 movwf (??_main^(0+128)+1) + 1701 063C 30B5 movlw 181 + 1702 063D 00D2 movwf ??_main^(0+128) + 1703 063E u2927: + 1704 063E 0BD2 decfsz ??_main^(0+128),f + 1705 063F 2E3E goto u2927 + 1706 0640 0BD3 decfsz (??_main^(0+128)+1),f + 1707 0641 2E3E goto u2927 + 1708 0642 0BD4 decfsz (??_main^(0+128)+2),f + 1709 0643 2E3E goto u2927 + 1710 0644 2E45 nop2 + 1711 + 1712 ;main.c: 149: } else { + 1713 0645 2E68 goto l3262 + 1714 0646 l3260: 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 + 1716 ;main.c: 150: Lcd_Set_Cursor(1, 3); + 1717 0646 3003 movlw 3 + 1718 0647 00D2 movwf ??_main^(0+128) + 1719 0648 0852 movf ??_main^(0+128),w + 1720 0649 00F6 movwf Lcd_Set_Cursor@b + 1721 064A 3001 movlw 1 + 1722 064B 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1723 + 1724 ;main.c: 151: Lcd_Write_Char(' '); + 1725 0650 3020 movlw 32 + 1726 0651 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 1727 + 1728 ;main.c: 152: Lcd_Set_Cursor(1, 6); + 1729 0656 3006 movlw 6 + 1730 0657 1683 bsf 3,5 ;RP0=1, select bank1 + 1731 0658 1303 bcf 3,6 ;RP1=0, select bank1 + 1732 0659 00D2 movwf ??_main^(0+128) + 1733 065A 0852 movf ??_main^(0+128),w + 1734 065B 00F6 movwf Lcd_Set_Cursor@b + 1735 065C 3001 movlw 1 + 1736 065D 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1737 + 1738 ;main.c: 153: Lcd_Write_Char(' '); + 1739 0662 3020 movlw 32 + 1740 0663 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 1741 0668 l3262: + 1742 + 1743 ;main.c: 161: if (!RB2) { + 1744 0668 1283 bcf 3,5 ;RP0=0, select bank0 + 1745 0669 1303 bcf 3,6 ;RP1=0, select bank0 + 1746 066A 1906 btfsc 6,2 ;volatile + 1747 066B 2E7F goto l3268 + 1748 + 1749 ;main.c: 162: _delay((unsigned long)((250)*(20000000/4000.0))); + 1750 066C 3007 movlw 7 + 1751 066D 1683 bsf 3,5 ;RP0=1, select bank1 + 1752 066E 1303 bcf 3,6 ;RP1=0, select bank1 + 1753 066F 00D4 movwf (??_main^(0+128)+2) + 1754 0670 3058 movlw 88 + 1755 0671 00D3 movwf (??_main^(0+128)+1) + 1756 0672 3059 movlw 89 + 1757 0673 00D2 movwf ??_main^(0+128) + 1758 0674 u2937: + 1759 0674 0BD2 decfsz ??_main^(0+128),f + 1760 0675 2E74 goto u2937 + 1761 0676 0BD3 decfsz (??_main^(0+128)+1),f + 1762 0677 2E74 goto u2937 + 1763 0678 0BD4 decfsz (??_main^(0+128)+2),f + 1764 0679 2E74 goto u2937 + 1765 + 1766 ;main.c: 163: edit_Date_Time(); + 1767 067A 120A 118A 204C 120A 118A fcall _edit_Date_Time + 1768 067F l3268: 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 ;; + 1770 ;main.c: 175: ldr = Adc_Read(0); + 1771 067F 3000 movlw 0 + 1772 0680 00F2 movwf Adc_Read@channel + 1773 0681 00F3 movwf Adc_Read@channel+1 + 1774 0682 120A 158A 2040 120A 118A fcall _Adc_Read + 1775 0687 0873 movf ?_Adc_Read+1,w + 1776 0688 00FB movwf _ldr+1 + 1777 0689 0872 movf ?_Adc_Read,w + 1778 068A 00FA movwf _ldr + 1779 + 1780 ;main.c: 177: if (brtlvl_chg != ldr/256) { + 1781 068B 087B movf _ldr+1,w + 1782 068C 1683 bsf 3,5 ;RP0=1, select bank1 + 1783 068D 1303 bcf 3,6 ;RP1=0, select bank1 + 1784 068E 00D3 movwf (??_main^(0+128)+1) + 1785 068F 087A movf _ldr,w + 1786 0690 00D2 movwf ??_main^(0+128) + 1787 0691 0853 movf (??_main^(0+128)+1),w + 1788 0692 00D2 movwf ??_main^(0+128) + 1789 0693 01D3 clrf (??_main^(0+128)+1) + 1790 0694 1283 bcf 3,5 ;RP0=0, select bank0 + 1791 0695 1303 bcf 3,6 ;RP1=0, select bank0 + 1792 0696 0868 movf _brtlvl_chg+1,w + 1793 0697 1683 bsf 3,5 ;RP0=1, select bank1 + 1794 0698 1303 bcf 3,6 ;RP1=0, select bank1 + 1795 0699 0653 xorwf (??_main+1)^(0+128),w + 1796 069A 1D03 skipz + 1797 069B 2EA2 goto u2915 + 1798 069C 1283 bcf 3,5 ;RP0=0, select bank0 + 1799 069D 1303 bcf 3,6 ;RP1=0, select bank0 + 1800 069E 0867 movf _brtlvl_chg,w + 1801 069F 1683 bsf 3,5 ;RP0=1, select bank1 + 1802 06A0 1303 bcf 3,6 ;RP1=0, select bank1 + 1803 06A1 0652 xorwf ??_main^(0+128),w + 1804 06A2 u2915: + 1805 06A2 1903 skipnz + 1806 06A3 2DF1 goto l3250 + 1807 + 1808 ;main.c: 178: Vfd_Set_Brightness(ldr/256); + 1809 06A4 087B movf _ldr+1,w + 1810 06A5 00D3 movwf (??_main^(0+128)+1) + 1811 06A6 087A movf _ldr,w + 1812 06A7 00D2 movwf ??_main^(0+128) + 1813 06A8 0853 movf (??_main^(0+128)+1),w + 1814 06A9 00D2 movwf ??_main^(0+128) + 1815 06AA 01D3 clrf (??_main^(0+128)+1) + 1816 06AB 0852 movf ??_main^(0+128),w + 1817 06AC 00F7 movwf Vfd_Set_Brightness@level + 1818 06AD 0853 movf (??_main+1)^(0+128),w + 1819 06AE 00F8 movwf Vfd_Set_Brightness@level+1 + 1820 06AF 120A 158A 20BE 120A 118A fcall _Vfd_Set_Brightness + 1821 + 1822 ;main.c: 179: brtlvl_chg = ldr/256; + 1823 06B4 087B movf _ldr+1,w + 1824 06B5 1683 bsf 3,5 ;RP0=1, select bank1 + 1825 06B6 1303 bcf 3,6 ;RP1=0, select bank1 + 1826 06B7 00D3 movwf (??_main^(0+128)+1) + 1827 06B8 087A movf _ldr,w + 1828 06B9 00D2 movwf ??_main^(0+128) + 1829 06BA 0853 movf (??_main^(0+128)+1),w + 1830 06BB 00D2 movwf ??_main^(0+128) + 1831 06BC 01D3 clrf (??_main^(0+128)+1) + 1832 06BD 0852 movf ??_main^(0+128),w + 1833 06BE 1283 bcf 3,5 ;RP0=0, select bank0 + 1834 06BF 1303 bcf 3,6 ;RP1=0, select bank0 + 1835 06C0 00E7 movwf _brtlvl_chg + 1836 06C1 1683 bsf 3,5 ;RP0=1, select bank1 + 1837 06C2 1303 bcf 3,6 ;RP1=0, select bank1 + 1838 06C3 0853 movf (??_main+1)^(0+128),w + 1839 06C4 1283 bcf 3,5 ;RP0=0, select bank0 + 1840 06C5 1303 bcf 3,6 ;RP1=0, select bank0 + 1841 06C6 00E8 movwf _brtlvl_chg+1 + 1842 06C7 2DF1 goto l3250 + 1843 06C8 __end_of_main: + 1844 + 1845 psect text1 + 1846 0473 __ptext1: + 1847 ;; *************** function _update_Display ***************** + 1848 ;; Defined at: + 1849 ;; line 279 in file "main.c" + 1850 ;; Parameters: Size Location Type + 1851 ;; None + 1852 ;; Auto vars: Size Location Type + 1853 ;; None + 1854 ;; Return value: Size Location Type + 1855 ;; 1 wreg void + 1856 ;; Registers used: + 1857 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 1858 ;; Tracked objects: + 1859 ;; On entry : 0/0 + 1860 ;; On exit : 0/0 + 1861 ;; Unchanged: 0/0 + 1862 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 1863 ;; Params: 0 0 0 0 0 + 1864 ;; Locals: 0 0 0 0 0 + 1865 ;; Temps: 0 1 0 0 0 + 1866 ;; Totals: 0 1 0 0 0 + 1867 ;;Total ram usage: 1 bytes + 1868 ;; Hardware stack levels used: 1 + 1869 ;; Hardware stack levels required when called: 4 + 1870 ;; This function calls: + 1871 ;; _Get_WeekDay + 1872 ;; _Lcd_Set_Cursor + 1873 ;; _Lcd_Write_Char + 1874 ;; _Lcd_Write_String + 1875 ;; ___lwdiv + 1876 ;; _alarm + 1877 ;; _display_Digit + 1878 ;; This function is called by: + 1879 ;; _main + 1880 ;; This function uses a non-reentrant model + 1881 ;; + 1882 + 1883 + 1884 ;psect for function _update_Display + 1885 0473 _update_Display: + 1886 + 1887 ;main.c: 281: Lcd_Set_Cursor(1, 1); + 1888 + 1889 ;incstack = 0 + 1890 ; Regs used in _update_Display: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 1891 0473 01F6 clrf Lcd_Set_Cursor@b + 1892 0474 0AF6 incf Lcd_Set_Cursor@b,f + 1893 0475 3001 movlw 1 + 1894 0476 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1895 + 1896 ;main.c: 282: display_Digit(hour); + 1897 047B 1283 bcf 3,5 ;RP0=0, select bank0 + 1898 047C 1303 bcf 3,6 ;RP1=0, select bank0 + 1899 047D 0860 movf _hour+1,w + 1900 047E 00AD movwf display_Digit@data+1 + 1901 047F 085F movf _hour,w + 1902 0480 00AC movwf display_Digit@data + 1903 0481 120A 158A 2187 120A 118A fcall _display_Digit + 1904 + 1905 ;main.c: 285: Lcd_Set_Cursor(1, 4); + 1906 0486 3004 movlw 4 + 1907 0487 1283 bcf 3,5 ;RP0=0, select bank0 + 1908 0488 1303 bcf 3,6 ;RP1=0, select bank0 + 1909 0489 00C6 movwf ??_update_Display + 1910 048A 0846 movf ??_update_Display,w + 1911 048B 00F6 movwf Lcd_Set_Cursor@b + 1912 048C 3001 movlw 1 + 1913 048D 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1914 + 1915 ;main.c: 286: display_Digit(min); + 1916 0492 1283 bcf 3,5 ;RP0=0, select bank0 + 1917 0493 1303 bcf 3,6 ;RP1=0, select bank0 + 1918 0494 0862 movf _min+1,w + 1919 0495 00AD movwf display_Digit@data+1 + 1920 0496 0861 movf _min,w + 1921 0497 00AC movwf display_Digit@data + 1922 0498 120A 158A 2187 120A 118A fcall _display_Digit + 1923 + 1924 ;main.c: 289: Lcd_Set_Cursor(1, 7); + 1925 049D 3007 movlw 7 + 1926 049E 1283 bcf 3,5 ;RP0=0, select bank0 + 1927 049F 1303 bcf 3,6 ;RP1=0, select bank0 + 1928 04A0 00C6 movwf ??_update_Display + 1929 04A1 0846 movf ??_update_Display,w + 1930 04A2 00F6 movwf Lcd_Set_Cursor@b + 1931 04A3 3001 movlw 1 + 1932 04A4 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1933 + 1934 ;main.c: 290: display_Digit(sec); + 1935 04A9 1283 bcf 3,5 ;RP0=0, select bank0 + 1936 04AA 1303 bcf 3,6 ;RP1=0, select bank0 + 1937 04AB 0864 movf _sec+1,w + 1938 04AC 00AD movwf display_Digit@data+1 + 1939 04AD 0863 movf _sec,w + 1940 04AE 00AC movwf display_Digit@data + 1941 04AF 120A 158A 2187 120A 118A fcall _display_Digit + 1942 + 1943 ;main.c: 293: Lcd_Set_Cursor(2, 6); + 1944 04B4 3006 movlw 6 + 1945 04B5 1283 bcf 3,5 ;RP0=0, select bank0 + 1946 04B6 1303 bcf 3,6 ;RP1=0, select bank0 + 1947 04B7 00C6 movwf ??_update_Display + 1948 04B8 0846 movf ??_update_Display,w + 1949 04B9 00F6 movwf Lcd_Set_Cursor@b + 1950 04BA 3002 movlw 2 + 1951 04BB 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1952 + 1953 ;main.c: 294: display_Digit(date); + 1954 04C0 1283 bcf 3,5 ;RP0=0, select bank0 + 1955 04C1 1303 bcf 3,6 ;RP1=0, select bank0 + 1956 04C2 086C movf _date+1,w + 1957 04C3 00AD movwf display_Digit@data+1 + 1958 04C4 086B movf _date,w + 1959 04C5 00AC movwf display_Digit@data + 1960 04C6 120A 158A 2187 120A 118A fcall _display_Digit + 1961 + 1962 ;main.c: 297: Lcd_Set_Cursor(2, 9); + 1963 04CB 3009 movlw 9 + 1964 04CC 1283 bcf 3,5 ;RP0=0, select bank0 + 1965 04CD 1303 bcf 3,6 ;RP1=0, select bank0 + 1966 04CE 00C6 movwf ??_update_Display + 1967 04CF 0846 movf ??_update_Display,w + 1968 04D0 00F6 movwf Lcd_Set_Cursor@b + 1969 04D1 3002 movlw 2 + 1970 04D2 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1971 + 1972 ;main.c: 298: display_Digit(month); + 1973 04D7 1283 bcf 3,5 ;RP0=0, select bank0 + 1974 04D8 1303 bcf 3,6 ;RP1=0, select bank0 + 1975 04D9 086A movf _month+1,w + 1976 04DA 00AD movwf display_Digit@data+1 + 1977 04DB 0869 movf _month,w + 1978 04DC 00AC movwf display_Digit@data + 1979 04DD 120A 158A 2187 120A 118A fcall _display_Digit + 1980 + 1981 ;main.c: 301: Lcd_Set_Cursor(2, 12); + 1982 04E2 300C movlw 12 + 1983 04E3 1283 bcf 3,5 ;RP0=0, select bank0 + 1984 04E4 1303 bcf 3,6 ;RP1=0, select bank0 + 1985 04E5 00C6 movwf ??_update_Display + 1986 04E6 0846 movf ??_update_Display,w + 1987 04E7 00F6 movwf Lcd_Set_Cursor@b + 1988 04E8 3002 movlw 2 + 1989 04E9 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 1990 + 1991 ;main.c: 302: display_Digit(century); + 1992 04EE 3014 movlw 20 + 1993 04EF 1283 bcf 3,5 ;RP0=0, select bank0 + 1994 04F0 1303 bcf 3,6 ;RP1=0, select bank0 + 1995 04F1 00AC movwf display_Digit@data + 1996 04F2 3000 movlw 0 + 1997 04F3 00AD movwf display_Digit@data+1 + 1998 04F4 120A 158A 2187 120A 118A fcall _display_Digit + 1999 + 2000 ;main.c: 305: Lcd_Set_Cursor(2, 14); + 2001 04F9 300E movlw 14 + 2002 04FA 1283 bcf 3,5 ;RP0=0, select bank0 + 2003 04FB 1303 bcf 3,6 ;RP1=0, select bank0 + 2004 04FC 00C6 movwf ??_update_Display + 2005 04FD 0846 movf ??_update_Display,w + 2006 04FE 00F6 movwf Lcd_Set_Cursor@b + 2007 04FF 3002 movlw 2 + 2008 0500 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2009 + 2010 ;main.c: 306: display_Digit(year); + 2011 0505 1283 bcf 3,5 ;RP0=0, select bank0 + 2012 0506 1303 bcf 3,6 ;RP1=0, select bank0 + 2013 0507 085E movf _year+1,w + 2014 0508 00AD movwf display_Digit@data+1 + 2015 0509 085D movf _year,w + 2016 050A 00AC movwf display_Digit@data + 2017 050B 120A 158A 2187 120A 118A fcall _display_Digit + 2018 + 2019 ;main.c: 309: Lcd_Set_Cursor(2, 2); + 2020 0510 3002 movlw 2 + 2021 0511 1283 bcf 3,5 ;RP0=0, select bank0 + 2022 0512 1303 bcf 3,6 ;RP1=0, select bank0 + 2023 0513 00C6 movwf ??_update_Display + 2024 0514 0846 movf ??_update_Display,w + 2025 0515 00F6 movwf Lcd_Set_Cursor@b + 2026 0516 3002 movlw 2 + 2027 0517 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2028 + 2029 ;main.c: 310: Lcd_Write_String(Get_WeekDay(day)); + 2030 051C 1683 bsf 3,5 ;RP0=1, select bank1 + 2031 051D 1303 bcf 3,6 ;RP1=0, select bank1 + 2032 051E 0823 movf (_day+1)^(0+128),w + 2033 051F 1283 bcf 3,5 ;RP0=0, select bank0 + 2034 0520 1303 bcf 3,6 ;RP1=0, select bank0 + 2035 0521 00BD movwf Get_WeekDay@d+1 + 2036 0522 1683 bsf 3,5 ;RP0=1, select bank1 + 2037 0523 1303 bcf 3,6 ;RP1=0, select bank1 + 2038 0524 0822 movf _day^(0+128),w + 2039 0525 1283 bcf 3,5 ;RP0=0, select bank0 + 2040 0526 1303 bcf 3,6 ;RP1=0, select bank0 + 2041 0527 00BC movwf Get_WeekDay@d + 2042 0528 160A 118A 278B 120A 118A fcall _Get_WeekDay + 2043 052D 1283 bcf 3,5 ;RP0=0, select bank0 + 2044 052E 1303 bcf 3,6 ;RP1=0, select bank0 + 2045 052F 00BF movwf Lcd_Write_String@a + 2046 0530 3000 movlw 0 + 2047 0531 00C0 movwf Lcd_Write_String@a+1 + 2048 0532 120A 158A 2338 120A 118A fcall _Lcd_Write_String + 2049 + 2050 ;main.c: 313: Lcd_Set_Cursor(1, 10); + 2051 0537 300A movlw 10 + 2052 0538 1283 bcf 3,5 ;RP0=0, select bank0 + 2053 0539 1303 bcf 3,6 ;RP1=0, select bank0 + 2054 053A 00C6 movwf ??_update_Display + 2055 053B 0846 movf ??_update_Display,w + 2056 053C 00F6 movwf Lcd_Set_Cursor@b + 2057 053D 3001 movlw 1 + 2058 053E 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2059 + 2060 ;main.c: 314: Lcd_Write_Char(temp_sign); + 2061 0543 1283 bcf 3,5 ;RP0=0, select bank0 + 2062 0544 1303 bcf 3,6 ;RP1=0, select bank0 + 2063 0545 086D movf _temp_sign,w + 2064 0546 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2065 + 2066 ;main.c: 315: display_Digit(temperature_msb); + 2067 054B 1283 bcf 3,5 ;RP0=0, select bank0 + 2068 054C 1303 bcf 3,6 ;RP1=0, select bank0 + 2069 054D 0858 movf _temperature_msb+1,w + 2070 054E 00AD movwf display_Digit@data+1 + 2071 054F 0857 movf _temperature_msb,w + 2072 0550 00AC movwf display_Digit@data + 2073 0551 120A 158A 2187 120A 118A fcall _display_Digit + 2074 + 2075 ;main.c: 316: Lcd_Set_Cursor(1, 14); + 2076 0556 300E movlw 14 + 2077 0557 1283 bcf 3,5 ;RP0=0, select bank0 + 2078 0558 1303 bcf 3,6 ;RP1=0, select bank0 + 2079 0559 00C6 movwf ??_update_Display + 2080 055A 0846 movf ??_update_Display,w + 2081 055B 00F6 movwf Lcd_Set_Cursor@b + 2082 055C 3001 movlw 1 + 2083 055D 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2084 + 2085 ;main.c: 317: Lcd_Write_Char(((temperature_lsb / 10) + '0')); + 2086 0562 300A movlw 10 + 2087 0563 1283 bcf 3,5 ;RP0=0, select bank0 + 2088 0564 1303 bcf 3,6 ;RP1=0, select bank0 + 2089 0565 00A0 movwf ___lwdiv@divisor + 2090 0566 3000 movlw 0 + 2091 0567 00A1 movwf ___lwdiv@divisor+1 + 2092 0568 085A movf _temperature_lsb+1,w + 2093 0569 00A3 movwf ___lwdiv@dividend+1 + 2094 056A 0859 movf _temperature_lsb,w + 2095 056B 00A2 movwf ___lwdiv@dividend + 2096 056C 120A 158A 22FA 120A 118A fcall ___lwdiv + 2097 0571 1283 bcf 3,5 ;RP0=0, select bank0 + 2098 0572 1303 bcf 3,6 ;RP1=0, select bank0 + 2099 0573 0820 movf ?___lwdiv,w + 2100 0574 3E30 addlw 48 + 2101 0575 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2102 + 2103 ;main.c: 320: if (min == 00 && sec == 00) { + 2104 057A 1283 bcf 3,5 ;RP0=0, select bank0 + 2105 057B 1303 bcf 3,6 ;RP1=0, select bank0 + 2106 057C 0861 movf _min,w + 2107 057D 0462 iorwf _min+1,w + 2108 057E 1D03 btfss 3,2 + 2109 057F 2D8D goto l2978 + 2110 0580 0863 movf _sec,w + 2111 0581 0464 iorwf _sec+1,w + 2112 0582 1D03 btfss 3,2 + 2113 0583 2D8D goto l2978 + 2114 + 2115 ;main.c: 321: alarm(2); + 2116 0584 3002 movlw 2 + 2117 0585 00F2 movwf alarm@numberOfBeeps + 2118 0586 3000 movlw 0 + 2119 0587 00F3 movwf alarm@numberOfBeeps+1 + 2120 0588 120A 158A 2403 120A 118A fcall _alarm + 2121 058D l2978: + 2122 + 2123 ;main.c: 325: if (min == 30 && sec == 00) { + 2124 058D 301E movlw 30 + 2125 058E 1283 bcf 3,5 ;RP0=0, select bank0 + 2126 058F 1303 bcf 3,6 ;RP1=0, select bank0 + 2127 0590 0661 xorwf _min,w + 2128 0591 0462 iorwf _min+1,w + 2129 0592 1D03 btfss 3,2 + 2130 0593 0008 return + 2131 0594 0863 movf _sec,w + 2132 0595 0464 iorwf _sec+1,w + 2133 0596 1D03 btfss 3,2 + 2134 0597 0008 return + 2135 + 2136 ;main.c: 326: alarm(1); + 2137 0598 3001 movlw 1 + 2138 0599 00F2 movwf alarm@numberOfBeeps + 2139 059A 3000 movlw 0 + 2140 059B 00F3 movwf alarm@numberOfBeeps+1 + 2141 059C 120A 158A 2403 fcall _alarm + 2142 059F 0008 return + 2143 05A0 __end_of_update_Display: + 2144 + 2145 psect text2 + 2146 0C03 __ptext2: + 2147 ;; *************** function _alarm ***************** + 2148 ;; Defined at: + 2149 ;; line 4 in file "beep.c" + 2150 ;; Parameters: Size Location Type + 2151 ;; numberOfBeep 2 2[COMMON] unsigned int + 2152 ;; Auto vars: Size Location Type + 2153 ;; j 2 2[BANK0 ] int + 2154 ;; i 2 0[BANK0 ] int + 2155 ;; Return value: Size Location Type + 2156 ;; 1 wreg void + 2157 ;; Registers used: + 2158 ;; wreg, status,2, btemp+1 + 2159 ;; Tracked objects: + 2160 ;; On entry : 0/0 + 2161 ;; On exit : 0/0 + 2162 ;; Unchanged: 0/0 + 2163 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2164 ;; Params: 2 0 0 0 0 + 2165 ;; Locals: 0 4 0 0 0 + 2166 ;; Temps: 3 0 0 0 0 + 2167 ;; Totals: 5 4 0 0 0 + 2168 ;;Total ram usage: 9 bytes + 2169 ;; Hardware stack levels used: 1 + 2170 ;; Hardware stack levels required when called: 1 + 2171 ;; This function calls: + 2172 ;; Nothing + 2173 ;; This function is called by: + 2174 ;; _update_Display + 2175 ;; This function uses a non-reentrant model + 2176 ;; + 2177 + 2178 + 2179 ;psect for function _alarm + 2180 0C03 _alarm: + 2181 + 2182 ;beep.c: 5: for (int i = 0; i < numberOfBeeps; i++) { + 2183 + 2184 ;incstack = 0 + 2185 ; Regs used in _alarm: [wreg+status,2+btemp+1] + 2186 0C03 1283 bcf 3,5 ;RP0=0, select bank0 + 2187 0C04 1303 bcf 3,6 ;RP1=0, select bank0 + 2188 0C05 01A0 clrf alarm@i + 2189 0C06 01A1 clrf alarm@i+1 + 2190 0C07 l540: + 2191 0C07 0873 movf alarm@numberOfBeeps+1,w + 2192 0C08 0221 subwf alarm@i+1,w + 2193 0C09 1D03 skipz + 2194 0C0A 2C0D goto u2465 + 2195 0C0B 0872 movf alarm@numberOfBeeps,w + 2196 0C0C 0220 subwf alarm@i,w + 2197 0C0D u2465: + 2198 0C0D 1803 btfsc 3,0 + 2199 0C0E 0008 return + 2200 + 2201 ;beep.c: 6: for (int j = 0; j < 250; j++) { + 2202 0C0F 01A2 clrf alarm@j + 2203 0C10 01A3 clrf alarm@j+1 + 2204 0C11 l542: + 2205 + 2206 ;beep.c: 7: RD1 = 1; + 2207 0C11 1283 bcf 3,5 ;RP0=0, select bank0 + 2208 0C12 1303 bcf 3,6 ;RP1=0, select bank0 + 2209 0C13 1488 bsf 8,1 ;volatile + 2210 + 2211 ;beep.c: 8: _delay((unsigned long)((375)*(20000000/4000000.0))); + 2212 0C14 3003 movlw 3 + 2213 0C15 00F5 movwf ??_alarm+1 + 2214 0C16 306E movlw 110 + 2215 0C17 00F4 movwf ??_alarm + 2216 0C18 u2947: + 2217 0C18 0BF4 decfsz ??_alarm,f + 2218 0C19 2C18 goto u2947 + 2219 0C1A 0BF5 decfsz ??_alarm+1,f + 2220 0C1B 2C18 goto u2947 + 2221 + 2222 ;beep.c: 9: RD1 = 0; + 2223 0C1C 1283 bcf 3,5 ;RP0=0, select bank0 + 2224 0C1D 1303 bcf 3,6 ;RP1=0, select bank0 + 2225 0C1E 1088 bcf 8,1 ;volatile + 2226 + 2227 ;beep.c: 10: _delay((unsigned long)((125)*(20000000/4000000.0))); + 2228 0C1F 30D0 movlw 208 + 2229 0C20 00F4 movwf ??_alarm + 2230 0C21 u2957: + 2231 0C21 0BF4 decfsz ??_alarm,f + 2232 0C22 2C21 goto u2957 + 2233 + 2234 ;beep.c: 11: } + 2235 0C23 3001 movlw 1 + 2236 0C24 1283 bcf 3,5 ;RP0=0, select bank0 + 2237 0C25 1303 bcf 3,6 ;RP1=0, select bank0 + 2238 0C26 07A2 addwf alarm@j,f + 2239 0C27 1803 skipnc + 2240 0C28 0AA3 incf alarm@j+1,f + 2241 0C29 3000 movlw 0 + 2242 0C2A 07A3 addwf alarm@j+1,f + 2243 0C2B 0823 movf alarm@j+1,w + 2244 0C2C 3A80 xorlw 128 + 2245 0C2D 00FF movwf 127 + 2246 0C2E 3080 movlw 128 + 2247 0C2F 027F subwf 127,w + 2248 0C30 1D03 skipz + 2249 0C31 2C34 goto u2455 + 2250 0C32 30FA movlw 250 + 2251 0C33 0222 subwf alarm@j,w + 2252 0C34 u2455: + 2253 0C34 1C03 skipc + 2254 0C35 2C11 goto l542 + 2255 + 2256 ;beep.c: 13: _delay((unsigned long)((500)*(20000000/4000.0))); + 2257 0C36 300D movlw 13 + 2258 0C37 00F6 movwf ??_alarm+2 + 2259 0C38 30AF movlw 175 + 2260 0C39 00F5 movwf ??_alarm+1 + 2261 0C3A 30B6 movlw 182 + 2262 0C3B 00F4 movwf ??_alarm + 2263 0C3C u2967: + 2264 0C3C 0BF4 decfsz ??_alarm,f + 2265 0C3D 2C3C goto u2967 + 2266 0C3E 0BF5 decfsz ??_alarm+1,f + 2267 0C3F 2C3C goto u2967 + 2268 0C40 0BF6 decfsz ??_alarm+2,f + 2269 0C41 2C3C goto u2967 + 2270 0C42 0000 nop + 2271 + 2272 ;beep.c: 14: } + 2273 0C43 3001 movlw 1 + 2274 0C44 1283 bcf 3,5 ;RP0=0, select bank0 + 2275 0C45 1303 bcf 3,6 ;RP1=0, select bank0 + 2276 0C46 07A0 addwf alarm@i,f + 2277 0C47 1803 skipnc + 2278 0C48 0AA1 incf alarm@i+1,f + 2279 0C49 3000 movlw 0 + 2280 0C4A 07A1 addwf alarm@i+1,f + 2281 0C4B 2C07 goto l540 + 2282 0C4C __end_of_alarm: + 2283 + 2284 psect text3 + 2285 0A4E __ptext3: + 2286 ;; *************** function _format_Temperature ***************** + 2287 ;; Defined at: + 2288 ;; line 218 in file "main.c" + 2289 ;; Parameters: Size Location Type + 2290 ;; None + 2291 ;; Auto vars: Size Location Type + 2292 ;; None + 2293 ;; Return value: Size Location Type + 2294 ;; 1 wreg void + 2295 ;; Registers used: + 2296 ;; wreg, status,2, status,0, pclath, cstack + 2297 ;; Tracked objects: + 2298 ;; On entry : 0/0 + 2299 ;; On exit : 0/0 + 2300 ;; Unchanged: 0/0 + 2301 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2302 ;; Params: 0 0 0 0 0 + 2303 ;; Locals: 0 0 0 0 0 + 2304 ;; Temps: 1 0 0 0 0 + 2305 ;; Totals: 1 0 0 0 0 + 2306 ;;Total ram usage: 1 bytes + 2307 ;; Hardware stack levels used: 1 + 2308 ;; Hardware stack levels required when called: 2 + 2309 ;; This function calls: + 2310 ;; ___wmul + 2311 ;; This function is called by: + 2312 ;; _main + 2313 ;; This function uses a non-reentrant model + 2314 ;; + 2315 + 2316 + 2317 ;psect for function _format_Temperature + 2318 0A4E _format_Temperature: + 2319 + 2320 ;main.c: 222: if (temperature_msb < 0) { + 2321 + 2322 ;incstack = 0 + 2323 ; Regs used in _format_Temperature: [wreg+status,2+status,0+pclath+cstack] + 2324 0A4E 1283 bcf 3,5 ;RP0=0, select bank0 + 2325 0A4F 1303 bcf 3,6 ;RP1=0, select bank0 + 2326 0A50 1FD8 btfss _temperature_msb+1,7 + 2327 0A51 2A67 goto l2400 + 2328 + 2329 ;main.c: 223: temperature_msb *= -1; + 2330 0A52 30FF movlw 255 + 2331 0A53 00F2 movwf ___wmul@multiplier + 2332 0A54 30FF movlw 255 + 2333 0A55 00F3 movwf ___wmul@multiplier+1 + 2334 0A56 0858 movf _temperature_msb+1,w + 2335 0A57 00F5 movwf ___wmul@multiplicand+1 + 2336 0A58 0857 movf _temperature_msb,w + 2337 0A59 00F4 movwf ___wmul@multiplicand + 2338 0A5A 120A 158A 209D 120A 158A fcall ___wmul + 2339 0A5F 0873 movf ?___wmul+1,w + 2340 0A60 1283 bcf 3,5 ;RP0=0, select bank0 + 2341 0A61 1303 bcf 3,6 ;RP1=0, select bank0 + 2342 0A62 00D8 movwf _temperature_msb+1 + 2343 0A63 0872 movf ?___wmul,w + 2344 0A64 00D7 movwf _temperature_msb + 2345 + 2346 ;main.c: 224: temp_sign = '-'; + 2347 0A65 302D movlw 45 + 2348 0A66 2A68 goto L1 + 2349 0A67 l2400: + 2350 ;main.c: 225: } else { + 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: + 2353 ;main.c: 226: temp_sign = '+'; + 2354 0A67 302B movlw 43 + 2355 0A68 L1: + 2356 0A68 00F8 movwf ??_format_Temperature + 2357 0A69 0878 movf ??_format_Temperature,w + 2358 0A6A 00ED movwf _temp_sign + 2359 + 2360 ;main.c: 230: temperature_lsb >>= 6; + 2361 0A6B 3006 movlw 6 + 2362 0A6C u1735: + 2363 0A6C 1003 clrc + 2364 0A6D 0CDA rrf _temperature_lsb+1,f + 2365 0A6E 0CD9 rrf _temperature_lsb,f + 2366 0A6F 3EFF addlw -1 + 2367 0A70 1D03 skipz + 2368 0A71 2A6C goto u1735 + 2369 + 2370 ;main.c: 233: temperature_lsb *= 25; + 2371 0A72 3019 movlw 25 + 2372 0A73 00F2 movwf ___wmul@multiplier + 2373 0A74 3000 movlw 0 + 2374 0A75 00F3 movwf ___wmul@multiplier+1 + 2375 0A76 085A movf _temperature_lsb+1,w + 2376 0A77 00F5 movwf ___wmul@multiplicand+1 + 2377 0A78 0859 movf _temperature_lsb,w + 2378 0A79 00F4 movwf ___wmul@multiplicand + 2379 0A7A 120A 158A 209D fcall ___wmul + 2380 0A7D 0873 movf ?___wmul+1,w + 2381 0A7E 1283 bcf 3,5 ;RP0=0, select bank0 + 2382 0A7F 1303 bcf 3,6 ;RP1=0, select bank0 + 2383 0A80 00DA movwf _temperature_lsb+1 + 2384 0A81 0872 movf ?___wmul,w + 2385 0A82 00D9 movwf _temperature_lsb + 2386 0A83 0008 return + 2387 0A84 __end_of_format_Temperature: + 2388 + 2389 psect text4 + 2390 004C __ptext4: + 2391 ;; *************** function _edit_Date_Time ***************** + 2392 ;; Defined at: + 2393 ;; line 349 in file "main.c" + 2394 ;; Parameters: Size Location Type + 2395 ;; None + 2396 ;; Auto vars: Size Location Type + 2397 ;; sec_org 2 53[BANK0 ] unsigned int + 2398 ;; date_org 2 51[BANK0 ] unsigned int + 2399 ;; month_org 2 49[BANK0 ] unsigned int + 2400 ;; year_org 2 47[BANK0 ] unsigned int + 2401 ;; min_org 2 45[BANK0 ] unsigned int + 2402 ;; hour_org 2 43[BANK0 ] unsigned int + 2403 ;; updateRTC 2 0 int + 2404 ;; Return value: Size Location Type + 2405 ;; 1 wreg void + 2406 ;; Registers used: + 2407 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 2408 ;; Tracked objects: + 2409 ;; On entry : 0/0 + 2410 ;; On exit : 0/0 + 2411 ;; Unchanged: 0/0 + 2412 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 2413 ;; Params: 0 0 0 0 0 + 2414 ;; Locals: 0 14 0 0 0 + 2415 ;; Temps: 0 3 0 0 0 + 2416 ;; Totals: 0 17 0 0 0 + 2417 ;;Total ram usage: 17 bytes + 2418 ;; Hardware stack levels used: 1 + 2419 ;; Hardware stack levels required when called: 4 + 2420 ;; This function calls: + 2421 ;; _Get_DayOfWeek + 2422 ;; _Get_Days_In_Month + 2423 ;; _Get_WeekDay + 2424 ;; _Lcd_Set_Cursor + 2425 ;; _Lcd_Write_Char + 2426 ;; _Lcd_Write_String + 2427 ;; _Set_Date + 2428 ;; _Set_DayOfWeek + 2429 ;; _Set_Time + 2430 ;; _display_Digit + 2431 ;; This function is called by: + 2432 ;; _main + 2433 ;; This function uses a non-reentrant model + 2434 ;; + 2435 + 2436 + 2437 ;psect for function _edit_Date_Time + 2438 004C _edit_Date_Time: + 2439 + 2440 ;main.c: 355: unsigned int hour_org = hour; + 2441 + 2442 ;incstack = 0 + 2443 ; Regs used in _edit_Date_Time: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 2444 004C 1283 bcf 3,5 ;RP0=0, select bank0 + 2445 004D 1303 bcf 3,6 ;RP1=0, select bank0 + 2446 004E 0860 movf _hour+1,w + 2447 004F 00CC movwf edit_Date_Time@hour_org+1 + 2448 0050 085F movf _hour,w + 2449 0051 00CB movwf edit_Date_Time@hour_org + 2450 + 2451 ;main.c: 356: unsigned int min_org = min; + 2452 0052 0862 movf _min+1,w + 2453 0053 00CE movwf edit_Date_Time@min_org+1 + 2454 0054 0861 movf _min,w + 2455 0055 00CD movwf edit_Date_Time@min_org + 2456 + 2457 ;main.c: 357: unsigned int sec_org = sec; + 2458 0056 0864 movf _sec+1,w + 2459 0057 00D6 movwf edit_Date_Time@sec_org+1 + 2460 0058 0863 movf _sec,w + 2461 0059 00D5 movwf edit_Date_Time@sec_org + 2462 + 2463 ;main.c: 358: unsigned int year_org = year; + 2464 005A 085E movf _year+1,w + 2465 005B 00D0 movwf edit_Date_Time@year_org+1 + 2466 005C 085D movf _year,w + 2467 005D 00CF movwf edit_Date_Time@year_org + 2468 + 2469 ;main.c: 359: unsigned int month_org = month; + 2470 005E 086A movf _month+1,w + 2471 005F 00D2 movwf edit_Date_Time@month_org+1 + 2472 0060 0869 movf _month,w + 2473 0061 00D1 movwf edit_Date_Time@month_org + 2474 + 2475 ;main.c: 360: unsigned int date_org = date; + 2476 0062 086C movf _date+1,w + 2477 0063 00D4 movwf edit_Date_Time@date_org+1 + 2478 0064 086B movf _date,w + 2479 0065 00D3 movwf edit_Date_Time@date_org + 2480 + 2481 ;main.c: 362: Lcd_Set_Cursor(2, 16); + 2482 0066 3010 movlw 16 + 2483 0067 00C6 movwf ??_edit_Date_Time + 2484 0068 0846 movf ??_edit_Date_Time,w + 2485 0069 00F6 movwf Lcd_Set_Cursor@b + 2486 006A 3002 movlw 2 + 2487 006B 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2488 + 2489 ;main.c: 363: Lcd_Write_Char('S'); + 2490 0070 3053 movlw 83 + 2491 0071 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2492 0076 2BE9 goto L2 + 2493 0077 l3004: + 2494 ;main.c: 365: while (edit_datetime > 0 && edit_datetime < 7) { + 2495 + 2496 ;main.c: 364: edit_datetime++; 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 + 2498 + 2499 ;main.c: 368: Lcd_Set_Cursor(1, 3); + 2500 0077 3003 movlw 3 + 2501 0078 00C6 movwf ??_edit_Date_Time + 2502 0079 0846 movf ??_edit_Date_Time,w + 2503 007A 00F6 movwf Lcd_Set_Cursor@b + 2504 007B 3001 movlw 1 + 2505 007C 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2506 + 2507 ;main.c: 369: Lcd_Write_Char(':'); + 2508 0081 303A movlw 58 + 2509 0082 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2510 + 2511 ;main.c: 370: Lcd_Set_Cursor(1, 6); + 2512 0087 3006 movlw 6 + 2513 0088 1283 bcf 3,5 ;RP0=0, select bank0 + 2514 0089 1303 bcf 3,6 ;RP1=0, select bank0 + 2515 008A 00C6 movwf ??_edit_Date_Time + 2516 008B 0846 movf ??_edit_Date_Time,w + 2517 008C 00F6 movwf Lcd_Set_Cursor@b + 2518 008D 3001 movlw 1 + 2519 008E 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor 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 + 2521 ;main.c: 371: Lcd_Write_Char(':'); + 2522 0093 303A movlw 58 + 2523 0094 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2524 + 2525 ;main.c: 373: switch (edit_datetime) { + 2526 0099 2BBC goto l3188 + 2527 009A l3006: + 2528 + 2529 ;main.c: 375: Lcd_Set_Cursor(2, 16); + 2530 009A 3010 movlw 16 + 2531 009B 00C6 movwf ??_edit_Date_Time + 2532 009C 0846 movf ??_edit_Date_Time,w + 2533 009D 00F6 movwf Lcd_Set_Cursor@b + 2534 009E 3002 movlw 2 + 2535 009F 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2536 + 2537 ;main.c: 376: Lcd_Write_Char('h'); + 2538 00A4 3068 movlw 104 + 2539 00A5 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2540 + 2541 ;main.c: 377: if (!RB5) { + 2542 00AA 1283 bcf 3,5 ;RP0=0, select bank0 + 2543 00AB 1303 bcf 3,6 ;RP1=0, select bank0 + 2544 00AC 1A86 btfsc 6,5 ;volatile + 2545 00AD 28E1 goto l181 + 2546 + 2547 ;main.c: 378: _delay((unsigned long)((250)*(20000000/4000.0))); + 2548 00AE 3007 movlw 7 + 2549 00AF 1283 bcf 3,5 ;RP0=0, select bank0 + 2550 00B0 1303 bcf 3,6 ;RP1=0, select bank0 + 2551 00B1 00C8 movwf ??_edit_Date_Time+2 + 2552 00B2 3058 movlw 88 + 2553 00B3 00C7 movwf ??_edit_Date_Time+1 + 2554 00B4 3059 movlw 89 + 2555 00B5 00C6 movwf ??_edit_Date_Time + 2556 00B6 u2977: + 2557 00B6 0BC6 decfsz ??_edit_Date_Time,f + 2558 00B7 28B6 goto u2977 + 2559 00B8 0BC7 decfsz ??_edit_Date_Time+1,f + 2560 00B9 28B6 goto u2977 + 2561 00BA 0BC8 decfsz ??_edit_Date_Time+2,f + 2562 00BB 28B6 goto u2977 + 2563 + 2564 ;main.c: 379: if (hour == 0) { + 2565 00BC 1283 bcf 3,5 ;RP0=0, select bank0 + 2566 00BD 1303 bcf 3,6 ;RP1=0, select bank0 + 2567 00BE 085F movf _hour,w + 2568 00BF 0460 iorwf _hour+1,w + 2569 00C0 1D03 btfss 3,2 + 2570 00C1 28C7 goto l3016 + 2571 + 2572 ;main.c: 380: hour = 23; + 2573 00C2 3017 movlw 23 + 2574 00C3 00DF movwf _hour + 2575 00C4 3000 movlw 0 + 2576 00C5 00E0 movwf _hour+1 + 2577 + 2578 ;main.c: 381: } else { + 2579 00C6 28CD goto l3018 + 2580 00C7 l3016: + 2581 + 2582 ;main.c: 382: hour -= 1; + 2583 00C7 3001 movlw 1 + 2584 00C8 02DF subwf _hour,f + 2585 00C9 3000 movlw 0 + 2586 00CA 1C03 skipc + 2587 00CB 03E0 decf _hour+1,f + 2588 00CC 02E0 subwf _hour+1,f + 2589 00CD l3018: + 2590 + 2591 ;main.c: 384: Lcd_Set_Cursor(1, 1); + 2592 00CD 01F6 clrf Lcd_Set_Cursor@b + 2593 00CE 0AF6 incf Lcd_Set_Cursor@b,f + 2594 00CF 3001 movlw 1 + 2595 00D0 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2596 + 2597 ;main.c: 385: display_Digit(hour); + 2598 00D5 1283 bcf 3,5 ;RP0=0, select bank0 + 2599 00D6 1303 bcf 3,6 ;RP1=0, select bank0 + 2600 00D7 0860 movf _hour+1,w + 2601 00D8 00AD movwf display_Digit@data+1 + 2602 00D9 085F movf _hour,w + 2603 00DA 00AC movwf display_Digit@data + 2604 00DB 120A 158A 2187 120A 118A fcall _display_Digit + 2605 + 2606 ;main.c: 387: } else if (!RB4) { + 2607 00E0 2BD7 goto l188 + 2608 00E1 l181: + 2609 00E1 1A06 btfsc 6,4 ;volatile + 2610 00E2 2BD7 goto l188 + 2611 + 2612 ;main.c: 388: _delay((unsigned long)((250)*(20000000/4000.0))); + 2613 00E3 3007 movlw 7 + 2614 00E4 1283 bcf 3,5 ;RP0=0, select bank0 + 2615 00E5 1303 bcf 3,6 ;RP1=0, select bank0 + 2616 00E6 00C8 movwf ??_edit_Date_Time+2 + 2617 00E7 3058 movlw 88 + 2618 00E8 00C7 movwf ??_edit_Date_Time+1 + 2619 00E9 3059 movlw 89 + 2620 00EA 00C6 movwf ??_edit_Date_Time + 2621 00EB u2987: + 2622 00EB 0BC6 decfsz ??_edit_Date_Time,f + 2623 00EC 28EB goto u2987 + 2624 00ED 0BC7 decfsz ??_edit_Date_Time+1,f + 2625 00EE 28EB goto u2987 + 2626 00EF 0BC8 decfsz ??_edit_Date_Time+2,f + 2627 00F0 28EB goto u2987 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 + 2629 ;main.c: 389: if (hour + 1 > 23) { + 2630 00F1 1283 bcf 3,5 ;RP0=0, select bank0 + 2631 00F2 1303 bcf 3,6 ;RP1=0, select bank0 + 2632 00F3 085F movf _hour,w + 2633 00F4 3E01 addlw 1 + 2634 00F5 00C6 movwf ??_edit_Date_Time + 2635 00F6 0860 movf _hour+1,w + 2636 00F7 1803 skipnc + 2637 00F8 3E01 addlw 1 + 2638 00F9 3E00 addlw 0 + 2639 00FA 00C7 movwf ??_edit_Date_Time+1 + 2640 00FB 3000 movlw 0 + 2641 00FC 0247 subwf ??_edit_Date_Time+1,w + 2642 00FD 3018 movlw 24 + 2643 00FE 1903 skipnz + 2644 00FF 0246 subwf ??_edit_Date_Time,w + 2645 0100 1C03 skipc + 2646 0101 2905 goto l3028 + 2647 + 2648 ;main.c: 390: hour = 0; + 2649 0102 01DF clrf _hour + 2650 0103 01E0 clrf _hour+1 + 2651 + 2652 ;main.c: 391: } else { + 2653 0104 28CD goto l3018 + 2654 0105 l3028: + 2655 + 2656 ;main.c: 392: hour += 1; + 2657 0105 3001 movlw 1 + 2658 0106 07DF addwf _hour,f + 2659 0107 1803 skipnc + 2660 0108 0AE0 incf _hour+1,f + 2661 0109 3000 movlw 0 + 2662 010A 07E0 addwf _hour+1,f + 2663 010B 28CD goto l3018 + 2664 010C l3034: + 2665 ;main.c: 395: Lcd_Set_Cursor(1, 1); + 2666 + 2667 + 2668 ;main.c: 402: Lcd_Set_Cursor(2, 16); + 2669 010C 3010 movlw 16 + 2670 010D 00C6 movwf ??_edit_Date_Time + 2671 010E 0846 movf ??_edit_Date_Time,w + 2672 010F 00F6 movwf Lcd_Set_Cursor@b + 2673 0110 3002 movlw 2 + 2674 0111 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2675 + 2676 ;main.c: 403: Lcd_Write_Char('m'); + 2677 0116 306D movlw 109 + 2678 0117 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2679 + 2680 ;main.c: 404: if (!RB5) { + 2681 011C 1283 bcf 3,5 ;RP0=0, select bank0 + 2682 011D 1303 bcf 3,6 ;RP1=0, select bank0 + 2683 011E 1A86 btfsc 6,5 ;volatile + 2684 011F 2955 goto l190 + 2685 + 2686 ;main.c: 405: _delay((unsigned long)((250)*(20000000/4000.0))); + 2687 0120 3007 movlw 7 + 2688 0121 1283 bcf 3,5 ;RP0=0, select bank0 + 2689 0122 1303 bcf 3,6 ;RP1=0, select bank0 + 2690 0123 00C8 movwf ??_edit_Date_Time+2 + 2691 0124 3058 movlw 88 + 2692 0125 00C7 movwf ??_edit_Date_Time+1 + 2693 0126 3059 movlw 89 + 2694 0127 00C6 movwf ??_edit_Date_Time + 2695 0128 u2997: + 2696 0128 0BC6 decfsz ??_edit_Date_Time,f + 2697 0129 2928 goto u2997 + 2698 012A 0BC7 decfsz ??_edit_Date_Time+1,f + 2699 012B 2928 goto u2997 + 2700 012C 0BC8 decfsz ??_edit_Date_Time+2,f + 2701 012D 2928 goto u2997 + 2702 + 2703 ;main.c: 406: if (min == 0) { + 2704 012E 1283 bcf 3,5 ;RP0=0, select bank0 + 2705 012F 1303 bcf 3,6 ;RP1=0, select bank0 + 2706 0130 0861 movf _min,w + 2707 0131 0462 iorwf _min+1,w + 2708 0132 1D03 btfss 3,2 + 2709 0133 2939 goto l3044 + 2710 + 2711 ;main.c: 407: min = 59; + 2712 0134 303B movlw 59 + 2713 0135 00E1 movwf _min + 2714 0136 3000 movlw 0 + 2715 0137 00E2 movwf _min+1 + 2716 + 2717 ;main.c: 408: } else { + 2718 0138 293F goto l3046 + 2719 0139 l3044: + 2720 + 2721 ;main.c: 409: min -= 1; + 2722 0139 3001 movlw 1 + 2723 013A 02E1 subwf _min,f + 2724 013B 3000 movlw 0 + 2725 013C 1C03 skipc + 2726 013D 03E2 decf _min+1,f + 2727 013E 02E2 subwf _min+1,f + 2728 013F l3046: + 2729 + 2730 ;main.c: 411: Lcd_Set_Cursor(1, 4); + 2731 013F 3004 movlw 4 + 2732 0140 00C6 movwf ??_edit_Date_Time + 2733 0141 0846 movf ??_edit_Date_Time,w + 2734 0142 00F6 movwf Lcd_Set_Cursor@b + 2735 0143 3001 movlw 1 + 2736 0144 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2737 + 2738 ;main.c: 412: display_Digit(min); + 2739 0149 1283 bcf 3,5 ;RP0=0, select bank0 + 2740 014A 1303 bcf 3,6 ;RP1=0, select bank0 + 2741 014B 0862 movf _min+1,w + 2742 014C 00AD movwf display_Digit@data+1 + 2743 014D 0861 movf _min,w + 2744 014E 00AC movwf display_Digit@data + 2745 014F 120A 158A 2187 120A 118A fcall _display_Digit + 2746 + 2747 ;main.c: 414: } else if (!RB4) { + 2748 0154 2BD7 goto l188 + 2749 0155 l190: + 2750 0155 1A06 btfsc 6,4 ;volatile + 2751 0156 2BD7 goto l188 + 2752 + 2753 ;main.c: 415: _delay((unsigned long)((250)*(20000000/4000.0))); + 2754 0157 3007 movlw 7 + 2755 0158 1283 bcf 3,5 ;RP0=0, select bank0 + 2756 0159 1303 bcf 3,6 ;RP1=0, select bank0 + 2757 015A 00C8 movwf ??_edit_Date_Time+2 + 2758 015B 3058 movlw 88 + 2759 015C 00C7 movwf ??_edit_Date_Time+1 + 2760 015D 3059 movlw 89 + 2761 015E 00C6 movwf ??_edit_Date_Time + 2762 015F u3007: + 2763 015F 0BC6 decfsz ??_edit_Date_Time,f + 2764 0160 295F goto u3007 + 2765 0161 0BC7 decfsz ??_edit_Date_Time+1,f + 2766 0162 295F goto u3007 + 2767 0163 0BC8 decfsz ??_edit_Date_Time+2,f + 2768 0164 295F goto u3007 + 2769 + 2770 ;main.c: 416: if (min + 1 > 59) { + 2771 0165 1283 bcf 3,5 ;RP0=0, select bank0 + 2772 0166 1303 bcf 3,6 ;RP1=0, select bank0 + 2773 0167 0861 movf _min,w + 2774 0168 3E01 addlw 1 + 2775 0169 00C6 movwf ??_edit_Date_Time + 2776 016A 0862 movf _min+1,w + 2777 016B 1803 skipnc + 2778 016C 3E01 addlw 1 + 2779 016D 3E00 addlw 0 + 2780 016E 00C7 movwf ??_edit_Date_Time+1 + 2781 016F 3000 movlw 0 + 2782 0170 0247 subwf ??_edit_Date_Time+1,w + 2783 0171 303C movlw 60 + 2784 0172 1903 skipnz + 2785 0173 0246 subwf ??_edit_Date_Time,w + 2786 0174 1C03 skipc + 2787 0175 2979 goto l3056 + 2788 + 2789 ;main.c: 417: min = 0; + 2790 0176 01E1 clrf _min + 2791 0177 01E2 clrf _min+1 + 2792 + 2793 ;main.c: 418: } else { + 2794 0178 293F goto l3046 + 2795 0179 l3056: + 2796 + 2797 ;main.c: 419: min += 1; + 2798 0179 3001 movlw 1 + 2799 017A 07E1 addwf _min,f + 2800 017B 1803 skipnc + 2801 017C 0AE2 incf _min+1,f + 2802 017D 3000 movlw 0 + 2803 017E 07E2 addwf _min+1,f + 2804 017F 293F goto l3046 + 2805 0180 l3062: + 2806 ;main.c: 422: Lcd_Set_Cursor(1, 4); + 2807 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 + 2809 ;main.c: 429: Lcd_Set_Cursor(2, 16); + 2810 0180 3010 movlw 16 + 2811 0181 00C6 movwf ??_edit_Date_Time + 2812 0182 0846 movf ??_edit_Date_Time,w + 2813 0183 00F6 movwf Lcd_Set_Cursor@b + 2814 0184 3002 movlw 2 + 2815 0185 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2816 + 2817 ;main.c: 430: Lcd_Write_Char('s'); + 2818 018A 3073 movlw 115 + 2819 018B 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2820 + 2821 ;main.c: 431: if (!RB5) { + 2822 0190 1283 bcf 3,5 ;RP0=0, select bank0 + 2823 0191 1303 bcf 3,6 ;RP1=0, select bank0 + 2824 0192 1A86 btfsc 6,5 ;volatile + 2825 0193 29B4 goto l198 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 ;; + 2827 ;main.c: 432: _delay((unsigned long)((250)*(20000000/4000.0))); + 2828 0194 3007 movlw 7 + 2829 0195 1283 bcf 3,5 ;RP0=0, select bank0 + 2830 0196 1303 bcf 3,6 ;RP1=0, select bank0 + 2831 0197 00C8 movwf ??_edit_Date_Time+2 + 2832 0198 3058 movlw 88 + 2833 0199 00C7 movwf ??_edit_Date_Time+1 + 2834 019A 3059 movlw 89 + 2835 019B 00C6 movwf ??_edit_Date_Time + 2836 019C u3017: + 2837 019C 0BC6 decfsz ??_edit_Date_Time,f + 2838 019D 299C goto u3017 + 2839 019E 0BC7 decfsz ??_edit_Date_Time+1,f + 2840 019F 299C goto u3017 + 2841 01A0 0BC8 decfsz ??_edit_Date_Time+2,f + 2842 01A1 299C goto u3017 + 2843 + 2844 ;main.c: 433: if (sec == 0) { + 2845 01A2 1283 bcf 3,5 ;RP0=0, select bank0 + 2846 01A3 1303 bcf 3,6 ;RP1=0, select bank0 + 2847 01A4 0863 movf _sec,w + 2848 01A5 0464 iorwf _sec+1,w + 2849 01A6 1D03 btfss 3,2 + 2850 01A7 29AD goto l3072 + 2851 + 2852 ;main.c: 434: sec = 59; + 2853 01A8 303B movlw 59 + 2854 01A9 00E3 movwf _sec + 2855 01AA 3000 movlw 0 + 2856 01AB 00E4 movwf _sec+1 + 2857 + 2858 ;main.c: 435: } else { + 2859 01AC 29DE goto l3088 + 2860 01AD l3072: + 2861 + 2862 ;main.c: 436: sec -= 1; + 2863 01AD 3001 movlw 1 + 2864 01AE 02E3 subwf _sec,f + 2865 01AF 3000 movlw 0 + 2866 01B0 1C03 skipc + 2867 01B1 03E4 decf _sec+1,f + 2868 01B2 02E4 subwf _sec+1,f + 2869 01B3 29DE goto l3088 + 2870 01B4 l198: + 2871 ;main.c: 440: if (sec_org != sec) { + 2872 + 2873 ;main.c: 439: display_Digit(sec); + 2874 + 2875 ;main.c: 438: Lcd_Set_Cursor(1, 7); + 2876 + 2877 01B4 1A06 btfsc 6,4 ;volatile + 2878 01B5 2BD7 goto l188 + 2879 + 2880 ;main.c: 445: _delay((unsigned long)((250)*(20000000/4000.0))); + 2881 01B6 3007 movlw 7 + 2882 01B7 1283 bcf 3,5 ;RP0=0, select bank0 + 2883 01B8 1303 bcf 3,6 ;RP1=0, select bank0 + 2884 01B9 00C8 movwf ??_edit_Date_Time+2 + 2885 01BA 3058 movlw 88 + 2886 01BB 00C7 movwf ??_edit_Date_Time+1 + 2887 01BC 3059 movlw 89 + 2888 01BD 00C6 movwf ??_edit_Date_Time + 2889 01BE u3027: + 2890 01BE 0BC6 decfsz ??_edit_Date_Time,f + 2891 01BF 29BE goto u3027 + 2892 01C0 0BC7 decfsz ??_edit_Date_Time+1,f + 2893 01C1 29BE goto u3027 + 2894 01C2 0BC8 decfsz ??_edit_Date_Time+2,f + 2895 01C3 29BE goto u3027 + 2896 + 2897 ;main.c: 446: if (sec + 1 > 59) { + 2898 01C4 1283 bcf 3,5 ;RP0=0, select bank0 + 2899 01C5 1303 bcf 3,6 ;RP1=0, select bank0 + 2900 01C6 0863 movf _sec,w + 2901 01C7 3E01 addlw 1 + 2902 01C8 00C6 movwf ??_edit_Date_Time + 2903 01C9 0864 movf _sec+1,w + 2904 01CA 1803 skipnc + 2905 01CB 3E01 addlw 1 + 2906 01CC 3E00 addlw 0 + 2907 01CD 00C7 movwf ??_edit_Date_Time+1 + 2908 01CE 3000 movlw 0 + 2909 01CF 0247 subwf ??_edit_Date_Time+1,w + 2910 01D0 303C movlw 60 + 2911 01D1 1903 skipnz + 2912 01D2 0246 subwf ??_edit_Date_Time,w + 2913 01D3 1C03 skipc + 2914 01D4 29D8 goto l3086 + 2915 + 2916 ;main.c: 447: sec = 0; + 2917 01D5 01E3 clrf _sec + 2918 01D6 01E4 clrf _sec+1 + 2919 + 2920 ;main.c: 448: } else { + 2921 01D7 29DE goto l3088 + 2922 01D8 l3086: + 2923 + 2924 ;main.c: 449: sec += 1; + 2925 01D8 3001 movlw 1 + 2926 01D9 07E3 addwf _sec,f + 2927 01DA 1803 skipnc + 2928 01DB 0AE4 incf _sec+1,f + 2929 01DC 3000 movlw 0 + 2930 01DD 07E4 addwf _sec+1,f + 2931 01DE l3088: 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 + 2933 ;main.c: 452: Lcd_Set_Cursor(1, 7); + 2934 01DE 3007 movlw 7 + 2935 01DF 00C6 movwf ??_edit_Date_Time + 2936 01E0 0846 movf ??_edit_Date_Time,w + 2937 01E1 00F6 movwf Lcd_Set_Cursor@b + 2938 01E2 3001 movlw 1 + 2939 01E3 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2940 + 2941 ;main.c: 453: display_Digit(sec); + 2942 01E8 1283 bcf 3,5 ;RP0=0, select bank0 + 2943 01E9 1303 bcf 3,6 ;RP1=0, select bank0 + 2944 01EA 0864 movf _sec+1,w + 2945 01EB 00AD movwf display_Digit@data+1 + 2946 01EC 0863 movf _sec,w + 2947 01ED 00AC movwf display_Digit@data + 2948 01EE 120A 158A 2187 120A 118A fcall _display_Digit + 2949 + 2950 ;main.c: 454: if (sec_org != sec) { + 2951 01F3 1283 bcf 3,5 ;RP0=0, select bank0 + 2952 01F4 1303 bcf 3,6 ;RP1=0, select bank0 + 2953 01F5 0864 movf _sec+1,w + 2954 01F6 0656 xorwf edit_Date_Time@sec_org+1,w + 2955 01F7 1D03 skipz + 2956 01F8 2BD7 goto l188 + 2957 01F9 0863 movf _sec,w + 2958 01FA 0655 xorwf edit_Date_Time@sec_org,w + 2959 01FB 2BD7 goto l188 + 2960 01FC l3094: + 2961 + 2962 ;main.c: 462: Lcd_Set_Cursor(2, 16); + 2963 01FC 3010 movlw 16 + 2964 01FD 00C6 movwf ??_edit_Date_Time + 2965 01FE 0846 movf ??_edit_Date_Time,w + 2966 01FF 00F6 movwf Lcd_Set_Cursor@b + 2967 0200 3002 movlw 2 + 2968 0201 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 2969 + 2970 ;main.c: 463: Lcd_Write_Char('D'); + 2971 0206 3044 movlw 68 + 2972 0207 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 2973 + 2974 ;main.c: 464: if (!RB5) { + 2975 020C 1283 bcf 3,5 ;RP0=0, select bank0 + 2976 020D 1303 bcf 3,6 ;RP1=0, select bank0 + 2977 020E 1A86 btfsc 6,5 ;volatile + 2978 020F 2A90 goto l208 + 2979 + 2980 ;main.c: 465: _delay((unsigned long)((250)*(20000000/4000.0))); + 2981 0210 3007 movlw 7 + 2982 0211 1283 bcf 3,5 ;RP0=0, select bank0 + 2983 0212 1303 bcf 3,6 ;RP1=0, select bank0 + 2984 0213 00C8 movwf ??_edit_Date_Time+2 + 2985 0214 3058 movlw 88 + 2986 0215 00C7 movwf ??_edit_Date_Time+1 + 2987 0216 3059 movlw 89 + 2988 0217 00C6 movwf ??_edit_Date_Time + 2989 0218 u3037: + 2990 0218 0BC6 decfsz ??_edit_Date_Time,f + 2991 0219 2A18 goto u3037 + 2992 021A 0BC7 decfsz ??_edit_Date_Time+1,f + 2993 021B 2A18 goto u3037 + 2994 021C 0BC8 decfsz ??_edit_Date_Time+2,f + 2995 021D 2A18 goto u3037 + 2996 + 2997 ;main.c: 466: if (date - 1 == 0) { + 2998 021E 1283 bcf 3,5 ;RP0=0, select bank0 + 2999 021F 1303 bcf 3,6 ;RP1=0, select bank0 + 3000 0220 086B movf _date,w + 3001 0221 3EFF addlw 255 + 3002 0222 00C6 movwf ??_edit_Date_Time + 3003 0223 086C movf _date+1,w + 3004 0224 1803 skipnc + 3005 0225 3E01 addlw 1 + 3006 0226 3EFF addlw 255 + 3007 0227 00C7 movwf ??_edit_Date_Time+1 + 3008 0228 0846 movf ??_edit_Date_Time,w + 3009 0229 0447 iorwf ??_edit_Date_Time+1,w + 3010 022A 1D03 btfss 3,2 + 3011 022B 2A40 goto l3104 + 3012 + 3013 ;main.c: 467: date = Get_Days_In_Month(year, month); + 3014 022C 085E movf _year+1,w + 3015 022D 00B2 movwf Get_Days_In_Month@y+1 + 3016 022E 085D movf _year,w + 3017 022F 00B1 movwf Get_Days_In_Month@y + 3018 0230 086A movf _month+1,w + 3019 0231 00B4 movwf Get_Days_In_Month@m+1 + 3020 0232 0869 movf _month,w + 3021 0233 00B3 movwf Get_Days_In_Month@m + 3022 0234 120A 118A 27C5 120A 118A fcall _Get_Days_In_Month + 3023 0239 1283 bcf 3,5 ;RP0=0, select bank0 + 3024 023A 1303 bcf 3,6 ;RP1=0, select bank0 + 3025 023B 0832 movf ?_Get_Days_In_Month+1,w + 3026 023C 00EC movwf _date+1 + 3027 023D 0831 movf ?_Get_Days_In_Month,w + 3028 023E 00EB movwf _date + 3029 + 3030 ;main.c: 468: } else { + 3031 023F 2A46 goto l3106 + 3032 0240 l3104: + 3033 + 3034 ;main.c: 469: date -= 1; + 3035 0240 3001 movlw 1 + 3036 0241 02EB subwf _date,f + 3037 0242 3000 movlw 0 + 3038 0243 1C03 skipc + 3039 0244 03EC decf _date+1,f + 3040 0245 02EC subwf _date+1,f + 3041 0246 l3106: + 3042 + 3043 ;main.c: 472: Lcd_Set_Cursor(2, 2); + 3044 0246 3002 movlw 2 + 3045 0247 00C6 movwf ??_edit_Date_Time + 3046 0248 0846 movf ??_edit_Date_Time,w + 3047 0249 00F6 movwf Lcd_Set_Cursor@b + 3048 024A 3002 movlw 2 + 3049 024B 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3050 + 3051 ;main.c: 473: Lcd_Write_String(Get_WeekDay(Get_DayOfWeek(year, month + + , date))); + 3052 0250 1283 bcf 3,5 ;RP0=0, select bank0 + 3053 0251 1303 bcf 3,6 ;RP1=0, select bank0 + 3054 0252 085E movf _year+1,w + 3055 0253 00AD movwf Get_DayOfWeek@y+1 + 3056 0254 085D movf _year,w + 3057 0255 00AC movwf Get_DayOfWeek@y + 3058 0256 086A movf _month+1,w + 3059 0257 00AF movwf Get_DayOfWeek@m+1 + 3060 0258 0869 movf _month,w + 3061 0259 00AE movwf Get_DayOfWeek@m + 3062 025A 086C movf _date+1,w + 3063 025B 00B1 movwf Get_DayOfWeek@d+1 + 3064 025C 086B movf _date,w + 3065 025D 00B0 movwf Get_DayOfWeek@d + 3066 025E 120A 158A 266C 120A 118A fcall _Get_DayOfWeek + 3067 0263 1283 bcf 3,5 ;RP0=0, select bank0 + 3068 0264 1303 bcf 3,6 ;RP1=0, select bank0 + 3069 0265 082D movf ?_Get_DayOfWeek+1,w + 3070 0266 00BD movwf Get_WeekDay@d+1 + 3071 0267 082C movf ?_Get_DayOfWeek,w + 3072 0268 00BC movwf Get_WeekDay@d + 3073 0269 160A 118A 278B 120A 118A fcall _Get_WeekDay + 3074 026E 1283 bcf 3,5 ;RP0=0, select bank0 + 3075 026F 1303 bcf 3,6 ;RP1=0, select bank0 + 3076 0270 00BF movwf Lcd_Write_String@a + 3077 0271 3000 movlw 0 + 3078 0272 00C0 movwf Lcd_Write_String@a+1 + 3079 0273 120A 158A 2338 120A 118A fcall _Lcd_Write_String + 3080 + 3081 ;main.c: 474: Lcd_Set_Cursor(2, 6); + 3082 0278 3006 movlw 6 + 3083 0279 1283 bcf 3,5 ;RP0=0, select bank0 + 3084 027A 1303 bcf 3,6 ;RP1=0, select bank0 + 3085 027B 00C6 movwf ??_edit_Date_Time + 3086 027C 0846 movf ??_edit_Date_Time,w + 3087 027D 00F6 movwf Lcd_Set_Cursor@b + 3088 027E 3002 movlw 2 + 3089 027F 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3090 + 3091 ;main.c: 475: display_Digit(date); + 3092 0284 1283 bcf 3,5 ;RP0=0, select bank0 + 3093 0285 1303 bcf 3,6 ;RP1=0, select bank0 + 3094 0286 086C movf _date+1,w + 3095 0287 00AD movwf display_Digit@data+1 + 3096 0288 086B movf _date,w + 3097 0289 00AC movwf display_Digit@data + 3098 028A 120A 158A 2187 120A 118A fcall _display_Digit + 3099 + 3100 ;main.c: 477: } else if (!RB4) { + 3101 028F 2BD7 goto l188 + 3102 0290 l208: + 3103 0290 1A06 btfsc 6,4 ;volatile + 3104 0291 2BD7 goto l188 + 3105 + 3106 ;main.c: 478: _delay((unsigned long)((250)*(20000000/4000.0))); + 3107 0292 3007 movlw 7 + 3108 0293 1283 bcf 3,5 ;RP0=0, select bank0 + 3109 0294 1303 bcf 3,6 ;RP1=0, select bank0 + 3110 0295 00C8 movwf ??_edit_Date_Time+2 + 3111 0296 3058 movlw 88 + 3112 0297 00C7 movwf ??_edit_Date_Time+1 + 3113 0298 3059 movlw 89 + 3114 0299 00C6 movwf ??_edit_Date_Time + 3115 029A u3047: + 3116 029A 0BC6 decfsz ??_edit_Date_Time,f + 3117 029B 2A9A goto u3047 + 3118 029C 0BC7 decfsz ??_edit_Date_Time+1,f + 3119 029D 2A9A goto u3047 + 3120 029E 0BC8 decfsz ??_edit_Date_Time+2,f + 3121 029F 2A9A goto u3047 + 3122 + 3123 ;main.c: 480: if (date + 1 > Get_Days_In_Month(year, month)) { + 3124 02A0 1283 bcf 3,5 ;RP0=0, select bank0 + 3125 02A1 1303 bcf 3,6 ;RP1=0, select bank0 + 3126 02A2 086B movf _date,w + 3127 02A3 3E01 addlw 1 + 3128 02A4 00C6 movwf ??_edit_Date_Time + 3129 02A5 086C movf _date+1,w + 3130 02A6 1803 skipnc + 3131 02A7 3E01 addlw 1 + 3132 02A8 3E00 addlw 0 + 3133 02A9 00C7 movwf ??_edit_Date_Time+1 + 3134 02AA 085E movf _year+1,w + 3135 02AB 00B2 movwf Get_Days_In_Month@y+1 + 3136 02AC 085D movf _year,w + 3137 02AD 00B1 movwf Get_Days_In_Month@y + 3138 02AE 086A movf _month+1,w + 3139 02AF 00B4 movwf Get_Days_In_Month@m+1 + 3140 02B0 0869 movf _month,w + 3141 02B1 00B3 movwf Get_Days_In_Month@m + 3142 02B2 120A 118A 27C5 120A 118A fcall _Get_Days_In_Month + 3143 02B7 1283 bcf 3,5 ;RP0=0, select bank0 + 3144 02B8 1303 bcf 3,6 ;RP1=0, select bank0 + 3145 02B9 0847 movf ??_edit_Date_Time+1,w + 3146 02BA 0232 subwf ?_Get_Days_In_Month+1,w + 3147 02BB 1D03 skipz + 3148 02BC 2ABF goto u2705 + 3149 02BD 0846 movf ??_edit_Date_Time,w + 3150 02BE 0231 subwf ?_Get_Days_In_Month,w + 3151 02BF u2705: + 3152 02BF 1803 skipnc + 3153 02C0 2AC6 goto l3120 + 3154 + 3155 ;main.c: 481: date = 1; + 3156 02C1 3001 movlw 1 + 3157 02C2 00EB movwf _date + 3158 02C3 3000 movlw 0 + 3159 02C4 00EC movwf _date+1 + 3160 + 3161 ;main.c: 482: } else { + 3162 02C5 2A46 goto l3106 + 3163 02C6 l3120: 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 ;; + 3165 ;main.c: 483: date += 1; + 3166 02C6 3001 movlw 1 + 3167 02C7 07EB addwf _date,f + 3168 02C8 1803 skipnc + 3169 02C9 0AEC incf _date+1,f + 3170 02CA 3000 movlw 0 + 3171 02CB 07EC addwf _date+1,f + 3172 02CC 2A46 goto l3106 + 3173 02CD l3130: + 3174 ;main.c: 488: Lcd_Set_Cursor(2, 6); + 3175 + 3176 ;main.c: 487: Lcd_Write_String(Get_WeekDay(Get_DayOfWeek(year, month + + , date))); + 3177 + 3178 ;main.c: 486: Lcd_Set_Cursor(2, 2); + 3179 + 3180 + 3181 ;main.c: 495: Lcd_Set_Cursor(2, 16); + 3182 02CD 3010 movlw 16 + 3183 02CE 00C6 movwf ??_edit_Date_Time + 3184 02CF 0846 movf ??_edit_Date_Time,w + 3185 02D0 00F6 movwf Lcd_Set_Cursor@b + 3186 02D1 3002 movlw 2 + 3187 02D2 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3188 + 3189 ;main.c: 496: Lcd_Write_Char('M'); + 3190 02D7 304D movlw 77 + 3191 02D8 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 3192 + 3193 ;main.c: 497: if (!RB5) { + 3194 02DD 1283 bcf 3,5 ;RP0=0, select bank0 + 3195 02DE 1303 bcf 3,6 ;RP1=0, select bank0 + 3196 02DF 1A86 btfsc 6,5 ;volatile + 3197 02E0 2B1B goto l216 + 3198 + 3199 ;main.c: 498: _delay((unsigned long)((250)*(20000000/4000.0))); + 3200 02E1 3007 movlw 7 + 3201 02E2 1283 bcf 3,5 ;RP0=0, select bank0 + 3202 02E3 1303 bcf 3,6 ;RP1=0, select bank0 + 3203 02E4 00C8 movwf ??_edit_Date_Time+2 + 3204 02E5 3058 movlw 88 + 3205 02E6 00C7 movwf ??_edit_Date_Time+1 + 3206 02E7 3059 movlw 89 + 3207 02E8 00C6 movwf ??_edit_Date_Time + 3208 02E9 u3057: + 3209 02E9 0BC6 decfsz ??_edit_Date_Time,f + 3210 02EA 2AE9 goto u3057 + 3211 02EB 0BC7 decfsz ??_edit_Date_Time+1,f + 3212 02EC 2AE9 goto u3057 + 3213 02ED 0BC8 decfsz ??_edit_Date_Time+2,f + 3214 02EE 2AE9 goto u3057 + 3215 + 3216 ;main.c: 499: if (month - 1 == 0) { + 3217 02EF 1283 bcf 3,5 ;RP0=0, select bank0 + 3218 02F0 1303 bcf 3,6 ;RP1=0, select bank0 + 3219 02F1 0869 movf _month,w + 3220 02F2 3EFF addlw 255 + 3221 02F3 00C6 movwf ??_edit_Date_Time + 3222 02F4 086A movf _month+1,w + 3223 02F5 1803 skipnc + 3224 02F6 3E01 addlw 1 + 3225 02F7 3EFF addlw 255 + 3226 02F8 00C7 movwf ??_edit_Date_Time+1 + 3227 02F9 0846 movf ??_edit_Date_Time,w + 3228 02FA 0447 iorwf ??_edit_Date_Time+1,w + 3229 02FB 1D03 btfss 3,2 + 3230 02FC 2AFF goto l3140 + 3231 + 3232 ;main.c: 500: month = 12; + 3233 02FD 300C movlw 12 + 3234 02FE 2B3D goto L3 + 3235 02FF l3140: + 3236 ;main.c: 501: } else { 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 + 3239 ;main.c: 502: month -= 1; + 3240 02FF 3001 movlw 1 + 3241 0300 02E9 subwf _month,f + 3242 0301 3000 movlw 0 + 3243 0302 1C03 skipc + 3244 0303 03EA decf _month+1,f + 3245 0304 02EA subwf _month+1,f + 3246 0305 l3142: 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 ;; + 3248 ;main.c: 504: Lcd_Set_Cursor(2, 9); + 3249 0305 3009 movlw 9 + 3250 0306 00C6 movwf ??_edit_Date_Time + 3251 0307 0846 movf ??_edit_Date_Time,w + 3252 0308 00F6 movwf Lcd_Set_Cursor@b + 3253 0309 3002 movlw 2 + 3254 030A 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3255 + 3256 ;main.c: 505: display_Digit(month); + 3257 030F 1283 bcf 3,5 ;RP0=0, select bank0 + 3258 0310 1303 bcf 3,6 ;RP1=0, select bank0 + 3259 0311 086A movf _month+1,w + 3260 0312 00AD movwf display_Digit@data+1 + 3261 0313 0869 movf _month,w + 3262 0314 00AC movwf display_Digit@data + 3263 0315 120A 158A 2187 120A 118A fcall _display_Digit + 3264 + 3265 ;main.c: 507: } else if (!RB4) { + 3266 031A 2BD7 goto l188 + 3267 031B l216: + 3268 031B 1A06 btfsc 6,4 ;volatile + 3269 031C 2BD7 goto l188 + 3270 + 3271 ;main.c: 508: _delay((unsigned long)((250)*(20000000/4000.0))); + 3272 031D 3007 movlw 7 + 3273 031E 1283 bcf 3,5 ;RP0=0, select bank0 + 3274 031F 1303 bcf 3,6 ;RP1=0, select bank0 + 3275 0320 00C8 movwf ??_edit_Date_Time+2 + 3276 0321 3058 movlw 88 + 3277 0322 00C7 movwf ??_edit_Date_Time+1 + 3278 0323 3059 movlw 89 + 3279 0324 00C6 movwf ??_edit_Date_Time + 3280 0325 u3067: + 3281 0325 0BC6 decfsz ??_edit_Date_Time,f + 3282 0326 2B25 goto u3067 + 3283 0327 0BC7 decfsz ??_edit_Date_Time+1,f + 3284 0328 2B25 goto u3067 + 3285 0329 0BC8 decfsz ??_edit_Date_Time+2,f + 3286 032A 2B25 goto u3067 + 3287 + 3288 ;main.c: 509: if (month + 1 > 12) { + 3289 032B 1283 bcf 3,5 ;RP0=0, select bank0 + 3290 032C 1303 bcf 3,6 ;RP1=0, select bank0 + 3291 032D 0869 movf _month,w + 3292 032E 3E01 addlw 1 + 3293 032F 00C6 movwf ??_edit_Date_Time + 3294 0330 086A movf _month+1,w + 3295 0331 1803 skipnc + 3296 0332 3E01 addlw 1 + 3297 0333 3E00 addlw 0 + 3298 0334 00C7 movwf ??_edit_Date_Time+1 + 3299 0335 3000 movlw 0 + 3300 0336 0247 subwf ??_edit_Date_Time+1,w + 3301 0337 300D movlw 13 + 3302 0338 1903 skipnz + 3303 0339 0246 subwf ??_edit_Date_Time,w + 3304 033A 1C03 skipc + 3305 033B 2B41 goto l3152 + 3306 + 3307 ;main.c: 510: month = 1; + 3308 033C 3001 movlw 1 + 3309 033D L3: + 3310 033D 00E9 movwf _month + 3311 033E 3000 movlw 0 + 3312 033F 00EA movwf _month+1 + 3313 + 3314 ;main.c: 511: } else { + 3315 0340 2B05 goto l3142 + 3316 0341 l3152: + 3317 + 3318 ;main.c: 512: month += 1; + 3319 0341 3001 movlw 1 + 3320 0342 07E9 addwf _month,f + 3321 0343 1803 skipnc + 3322 0344 0AEA incf _month+1,f + 3323 0345 3000 movlw 0 + 3324 0346 07EA addwf _month+1,f + 3325 0347 2B05 goto l3142 + 3326 0348 l3158: + 3327 ;main.c: 515: Lcd_Set_Cursor(2, 9); + 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 + 3330 ;main.c: 522: Lcd_Set_Cursor(2, 16); + 3331 0348 3010 movlw 16 + 3332 0349 00C6 movwf ??_edit_Date_Time + 3333 034A 0846 movf ??_edit_Date_Time,w + 3334 034B 00F6 movwf Lcd_Set_Cursor@b + 3335 034C 3002 movlw 2 + 3336 034D 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3337 + 3338 ;main.c: 523: Lcd_Write_Char('Y'); + 3339 0352 3059 movlw 89 + 3340 0353 120A 158A 2284 120A 118A fcall _Lcd_Write_Char + 3341 + 3342 ;main.c: 524: if (!RB5) { + 3343 0358 1283 bcf 3,5 ;RP0=0, select bank0 + 3344 0359 1303 bcf 3,6 ;RP1=0, select bank0 + 3345 035A 1A86 btfsc 6,5 ;volatile + 3346 035B 2B91 goto l224 + 3347 + 3348 ;main.c: 525: _delay((unsigned long)((250)*(20000000/4000.0))); + 3349 035C 3007 movlw 7 + 3350 035D 1283 bcf 3,5 ;RP0=0, select bank0 + 3351 035E 1303 bcf 3,6 ;RP1=0, select bank0 + 3352 035F 00C8 movwf ??_edit_Date_Time+2 + 3353 0360 3058 movlw 88 + 3354 0361 00C7 movwf ??_edit_Date_Time+1 + 3355 0362 3059 movlw 89 + 3356 0363 00C6 movwf ??_edit_Date_Time + 3357 0364 u3077: + 3358 0364 0BC6 decfsz ??_edit_Date_Time,f + 3359 0365 2B64 goto u3077 + 3360 0366 0BC7 decfsz ??_edit_Date_Time+1,f + 3361 0367 2B64 goto u3077 + 3362 0368 0BC8 decfsz ??_edit_Date_Time+2,f + 3363 0369 2B64 goto u3077 + 3364 + 3365 ;main.c: 526: if (year == 0) { + 3366 036A 1283 bcf 3,5 ;RP0=0, select bank0 + 3367 036B 1303 bcf 3,6 ;RP1=0, select bank0 + 3368 036C 085D movf _year,w + 3369 036D 045E iorwf _year+1,w + 3370 036E 1D03 btfss 3,2 + 3371 036F 2B75 goto l3168 + 3372 + 3373 ;main.c: 527: year = 99; + 3374 0370 3063 movlw 99 + 3375 0371 00DD movwf _year + 3376 0372 3000 movlw 0 + 3377 0373 00DE movwf _year+1 + 3378 + 3379 ;main.c: 528: } else { + 3380 0374 2B7B goto l3170 + 3381 0375 l3168: + 3382 + 3383 ;main.c: 529: year -= 1; + 3384 0375 3001 movlw 1 + 3385 0376 02DD subwf _year,f + 3386 0377 3000 movlw 0 + 3387 0378 1C03 skipc + 3388 0379 03DE decf _year+1,f + 3389 037A 02DE subwf _year+1,f + 3390 037B l3170: + 3391 + 3392 ;main.c: 531: Lcd_Set_Cursor(2, 14); + 3393 037B 300E movlw 14 + 3394 037C 00C6 movwf ??_edit_Date_Time + 3395 037D 0846 movf ??_edit_Date_Time,w + 3396 037E 00F6 movwf Lcd_Set_Cursor@b + 3397 037F 3002 movlw 2 + 3398 0380 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3399 + 3400 ;main.c: 532: display_Digit(year); + 3401 0385 1283 bcf 3,5 ;RP0=0, select bank0 + 3402 0386 1303 bcf 3,6 ;RP1=0, select bank0 + 3403 0387 085E movf _year+1,w + 3404 0388 00AD movwf display_Digit@data+1 + 3405 0389 085D movf _year,w + 3406 038A 00AC movwf display_Digit@data + 3407 038B 120A 158A 2187 120A 118A fcall _display_Digit + 3408 + 3409 ;main.c: 534: } else if (!RB4) { + 3410 0390 2BD7 goto l188 + 3411 0391 l224: + 3412 0391 1A06 btfsc 6,4 ;volatile + 3413 0392 2BD7 goto l188 + 3414 + 3415 ;main.c: 535: _delay((unsigned long)((250)*(20000000/4000.0))); + 3416 0393 3007 movlw 7 + 3417 0394 1283 bcf 3,5 ;RP0=0, select bank0 + 3418 0395 1303 bcf 3,6 ;RP1=0, select bank0 + 3419 0396 00C8 movwf ??_edit_Date_Time+2 + 3420 0397 3058 movlw 88 + 3421 0398 00C7 movwf ??_edit_Date_Time+1 + 3422 0399 3059 movlw 89 + 3423 039A 00C6 movwf ??_edit_Date_Time + 3424 039B u3087: + 3425 039B 0BC6 decfsz ??_edit_Date_Time,f + 3426 039C 2B9B goto u3087 + 3427 039D 0BC7 decfsz ??_edit_Date_Time+1,f + 3428 039E 2B9B goto u3087 + 3429 039F 0BC8 decfsz ??_edit_Date_Time+2,f + 3430 03A0 2B9B goto u3087 + 3431 + 3432 ;main.c: 536: if (year + 1 > 99) { + 3433 03A1 1283 bcf 3,5 ;RP0=0, select bank0 + 3434 03A2 1303 bcf 3,6 ;RP1=0, select bank0 + 3435 03A3 085D movf _year,w + 3436 03A4 3E01 addlw 1 + 3437 03A5 00C6 movwf ??_edit_Date_Time + 3438 03A6 085E movf _year+1,w + 3439 03A7 1803 skipnc + 3440 03A8 3E01 addlw 1 + 3441 03A9 3E00 addlw 0 + 3442 03AA 00C7 movwf ??_edit_Date_Time+1 + 3443 03AB 3000 movlw 0 + 3444 03AC 0247 subwf ??_edit_Date_Time+1,w + 3445 03AD 3064 movlw 100 + 3446 03AE 1903 skipnz + 3447 03AF 0246 subwf ??_edit_Date_Time,w + 3448 03B0 1C03 skipc + 3449 03B1 2BB5 goto l3180 + 3450 + 3451 ;main.c: 537: year = 0; + 3452 03B2 01DD clrf _year + 3453 03B3 01DE clrf _year+1 + 3454 + 3455 ;main.c: 538: } else { + 3456 03B4 2B7B goto l3170 + 3457 03B5 l3180: + 3458 + 3459 ;main.c: 539: year += 1; + 3460 03B5 3001 movlw 1 + 3461 03B6 07DD addwf _year,f + 3462 03B7 1803 skipnc + 3463 03B8 0ADE incf _year+1,f + 3464 03B9 3000 movlw 0 + 3465 03BA 07DE addwf _year+1,f + 3466 03BB 2B7B goto l3170 + 3467 03BC l3188: + 3468 ;main.c: 542: Lcd_Set_Cursor(2, 14); + 3469 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 + 3471 ; Switch on 2 bytes has been partitioned into a top level switch of size 1, and 1 sub-sw + + itches + 3472 ; Switch size 1, requested type "simple" + 3473 ; Number of cases is 1, Range of values is 0 to 0 + 3474 ; switch strategies available: + 3475 ; Name Instructions Cycles + 3476 ; simple_byte 4 3 (average) + 3477 ; direct_byte 11 8 (fixed) + 3478 ; jumptable 260 6 (fixed) + 3479 ; Chosen strategy is simple_byte + 3480 03BC 1283 bcf 3,5 ;RP0=0, select bank0 + 3481 03BD 1303 bcf 3,6 ;RP1=0, select bank0 + 3482 03BE 0866 movf _edit_datetime+1,w + 3483 03BF 3A00 xorlw 0 ; case 0 + 3484 03C0 1903 skipnz + 3485 03C1 2BC3 goto l3310 + 3486 03C2 2BD7 goto l188 + 3487 03C3 l3310: + 3488 + 3489 ; Switch size 1, requested type "simple" + 3490 ; Number of cases is 6, Range of values is 1 to 6 + 3491 ; switch strategies available: + 3492 ; Name Instructions Cycles + 3493 ; simple_byte 19 10 (average) + 3494 ; direct_byte 29 11 (fixed) + 3495 ; jumptable 263 9 (fixed) + 3496 ; Chosen strategy is simple_byte + 3497 03C3 0865 movf _edit_datetime,w + 3498 03C4 3A01 xorlw 1 ; case 1 + 3499 03C5 1903 skipnz + 3500 03C6 289A goto l3006 + 3501 03C7 3A03 xorlw 3 ; case 2 + 3502 03C8 1903 skipnz + 3503 03C9 290C goto l3034 + 3504 03CA 3A01 xorlw 1 ; case 3 + 3505 03CB 1903 skipnz + 3506 03CC 2980 goto l3062 + 3507 03CD 3A07 xorlw 7 ; case 4 + 3508 03CE 1903 skipnz + 3509 03CF 2B48 goto l3158 + 3510 03D0 3A01 xorlw 1 ; case 5 + 3511 03D1 1903 skipnz + 3512 03D2 2ACD goto l3130 + 3513 03D3 3A03 xorlw 3 ; case 6 + 3514 03D4 1903 skipnz + 3515 03D5 29FC goto l3094 + 3516 03D6 2BD7 goto l188 + 3517 03D7 l188: + 3518 + 3519 ;main.c: 554: if (!RB2) { + 3520 03D7 1283 bcf 3,5 ;RP0=0, select bank0 + 3521 03D8 1303 bcf 3,6 ;RP1=0, select bank0 + 3522 03D9 1906 btfsc 6,2 ;volatile + 3523 03DA 2BF1 goto l3192 + 3524 + 3525 ;main.c: 555: _delay((unsigned long)((250)*(20000000/4000.0))); + 3526 03DB 3007 movlw 7 + 3527 03DC 1283 bcf 3,5 ;RP0=0, select bank0 + 3528 03DD 1303 bcf 3,6 ;RP1=0, select bank0 + 3529 03DE 00C8 movwf ??_edit_Date_Time+2 + 3530 03DF 3058 movlw 88 + 3531 03E0 00C7 movwf ??_edit_Date_Time+1 + 3532 03E1 3059 movlw 89 + 3533 03E2 00C6 movwf ??_edit_Date_Time + 3534 03E3 u3097: + 3535 03E3 0BC6 decfsz ??_edit_Date_Time,f + 3536 03E4 2BE3 goto u3097 + 3537 03E5 0BC7 decfsz ??_edit_Date_Time+1,f + 3538 03E6 2BE3 goto u3097 + 3539 03E7 0BC8 decfsz ??_edit_Date_Time+2,f + 3540 03E8 2BE3 goto u3097 + 3541 03E9 L2: + 3542 + 3543 ;main.c: 556: edit_datetime++; + 3544 03E9 3001 movlw 1 + 3545 03EA 1283 bcf 3,5 ;RP0=0, select bank0 + 3546 03EB 1303 bcf 3,6 ;RP1=0, select bank0 + 3547 03EC 07E5 addwf _edit_datetime,f + 3548 03ED 1803 skipnc + 3549 03EE 0AE6 incf _edit_datetime+1,f + 3550 03EF 3000 movlw 0 + 3551 03F0 07E6 addwf _edit_datetime+1,f + 3552 03F1 l3192: 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(); + 3554 ;main.c: 365: while (edit_datetime > 0 && edit_datetime < 7) { + 3555 03F1 0865 movf _edit_datetime,w + 3556 03F2 0466 iorwf _edit_datetime+1,w + 3557 03F3 1903 btfsc 3,2 + 3558 03F4 2BFC goto l3196 + 3559 03F5 3000 movlw 0 + 3560 03F6 0266 subwf _edit_datetime+1,w + 3561 03F7 3007 movlw 7 + 3562 03F8 1903 skipnz + 3563 03F9 0265 subwf _edit_datetime,w + 3564 03FA 1C03 skipc + 3565 03FB 2877 goto l3004 + 3566 03FC l3196: + 3567 + 3568 ;main.c: 567: if (edit_datetime > 6) { + 3569 03FC 3000 movlw 0 + 3570 03FD 0266 subwf _edit_datetime+1,w + 3571 03FE 3007 movlw 7 + 3572 03FF 1903 skipnz + 3573 0400 0265 subwf _edit_datetime,w + 3574 0401 1C03 skipc + 3575 0402 0008 return + 3576 + 3577 ;main.c: 568: Lcd_Set_Cursor(2, 16); + 3578 0403 3010 movlw 16 + 3579 0404 00C6 movwf ??_edit_Date_Time + 3580 0405 0846 movf ??_edit_Date_Time,w + 3581 0406 00F6 movwf Lcd_Set_Cursor@b + 3582 0407 3002 movlw 2 + 3583 0408 120A 158A 2497 120A 118A fcall _Lcd_Set_Cursor + 3584 + 3585 ;main.c: 569: Lcd_Write_String(" "); + 3586 040D 3010 movlw (low (((STR_4+15)-__stringbase)| (0+32768)))& (0+255) + 3587 040E 1283 bcf 3,5 ;RP0=0, select bank0 + 3588 040F 1303 bcf 3,6 ;RP1=0, select bank0 + 3589 0410 00BF movwf Lcd_Write_String@a + 3590 0411 3080 movlw 128 + 3591 0412 00C0 movwf Lcd_Write_String@a+1 + 3592 0413 120A 158A 2338 120A 118A fcall _Lcd_Write_String + 3593 + 3594 ;main.c: 570: edit_datetime = 0; + 3595 0418 1283 bcf 3,5 ;RP0=0, select bank0 + 3596 0419 1303 bcf 3,6 ;RP1=0, select bank0 + 3597 041A 01E5 clrf _edit_datetime + 3598 041B 01E6 clrf _edit_datetime+1 + 3599 + 3600 ;main.c: 576: if(hour_org != hour || min_org != min || sec_org != sec + 3601 041C 0860 movf _hour+1,w + 3602 041D 064C xorwf edit_Date_Time@hour_org+1,w + 3603 041E 1D03 skipz + 3604 041F 2C22 goto u2835 + 3605 0420 085F movf _hour,w + 3606 0421 064B xorwf edit_Date_Time@hour_org,w + 3607 0422 u2835: + 3608 0422 1D03 skipz + 3609 0423 2C4C goto l3218 + 3610 0424 0862 movf _min+1,w + 3611 0425 064E xorwf edit_Date_Time@min_org+1,w + 3612 0426 1D03 skipz + 3613 0427 2C2A goto u2845 + 3614 0428 0861 movf _min,w + 3615 0429 064D xorwf edit_Date_Time@min_org,w + 3616 042A u2845: + 3617 042A 1D03 skipz + 3618 042B 2C4C goto l3218 + 3619 042C 0864 movf _sec+1,w + 3620 042D 0656 xorwf edit_Date_Time@sec_org+1,w + 3621 042E 1D03 skipz + 3622 042F 2C32 goto u2855 + 3623 0430 0863 movf _sec,w + 3624 0431 0655 xorwf edit_Date_Time@sec_org,w + 3625 0432 u2855: + 3626 0432 1D03 skipz + 3627 0433 2C4C goto l3218 + 3628 0434 085E movf _year+1,w + 3629 0435 0650 xorwf edit_Date_Time@year_org+1,w + 3630 0436 1D03 skipz + 3631 0437 2C3A goto u2865 + 3632 0438 085D movf _year,w + 3633 0439 064F xorwf edit_Date_Time@year_org,w + 3634 043A u2865: + 3635 043A 1D03 skipz + 3636 043B 2C4C goto l3218 + 3637 043C 086A movf _month+1,w + 3638 043D 0652 xorwf edit_Date_Time@month_org+1,w + 3639 043E 1D03 skipz + 3640 043F 2C42 goto u2875 + 3641 0440 0869 movf _month,w + 3642 0441 0651 xorwf edit_Date_Time@month_org,w + 3643 0442 u2875: + 3644 0442 1D03 skipz + 3645 0443 2C4C goto l3218 + 3646 0444 086C movf _date+1,w + 3647 0445 0654 xorwf edit_Date_Time@date_org+1,w + 3648 0446 1D03 skipz + 3649 0447 2C4A goto u2885 + 3650 0448 086B movf _date,w + 3651 0449 0653 xorwf edit_Date_Time@date_org,w + 3652 044A u2885: + 3653 044A 1903 skipnz + 3654 044B 0008 return + 3655 044C l3218: + 3656 + 3657 ;main.c: 579: Set_Time(); + 3658 044C 120A 158A 2542 120A 118A fcall _Set_Time + 3659 + 3660 ;main.c: 580: Set_DayOfWeek(Get_DayOfWeek(year, month, date)); + 3661 0451 1283 bcf 3,5 ;RP0=0, select bank0 + 3662 0452 1303 bcf 3,6 ;RP1=0, select bank0 + 3663 0453 085E movf _year+1,w + 3664 0454 00AD movwf Get_DayOfWeek@y+1 + 3665 0455 085D movf _year,w + 3666 0456 00AC movwf Get_DayOfWeek@y + 3667 0457 086A movf _month+1,w + 3668 0458 00AF movwf Get_DayOfWeek@m+1 + 3669 0459 0869 movf _month,w + 3670 045A 00AE movwf Get_DayOfWeek@m + 3671 045B 086C movf _date+1,w + 3672 045C 00B1 movwf Get_DayOfWeek@d+1 + 3673 045D 086B movf _date,w + 3674 045E 00B0 movwf Get_DayOfWeek@d + 3675 045F 120A 158A 266C 120A 118A fcall _Get_DayOfWeek + 3676 0464 1283 bcf 3,5 ;RP0=0, select bank0 + 3677 0465 1303 bcf 3,6 ;RP1=0, select bank0 + 3678 0466 082D movf ?_Get_DayOfWeek+1,w + 3679 0467 00BD movwf Set_DayOfWeek@dow+1 + 3680 0468 082C movf ?_Get_DayOfWeek,w + 3681 0469 00BC movwf Set_DayOfWeek@dow + 3682 046A 120A 158A 2131 120A 118A fcall _Set_DayOfWeek + 3683 + 3684 ;main.c: 581: Set_Date(); + 3685 046F 120A 158A 25A2 fcall _Set_Date + 3686 0472 0008 return + 3687 0473 __end_of_edit_Date_Time: + 3688 + 3689 psect text5 + 3690 0987 __ptext5: + 3691 ;; *************** function _display_Digit ***************** + 3692 ;; Defined at: + 3693 ;; line 245 in file "main.c" + 3694 ;; Parameters: Size Location Type + 3695 ;; data 2 12[BANK0 ] unsigned int + 3696 ;; Auto vars: Size Location Type + 3697 ;; None + 3698 ;; Return value: Size Location Type + 3699 ;; 1 wreg void + 3700 ;; Registers used: + 3701 ;; wreg, status,2, status,0, pclath, cstack + 3702 ;; Tracked objects: + 3703 ;; On entry : 0/0 + 3704 ;; On exit : 0/0 + 3705 ;; Unchanged: 0/0 + 3706 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3707 ;; Params: 0 2 0 0 0 + 3708 ;; Locals: 0 0 0 0 0 + 3709 ;; Temps: 0 0 0 0 0 + 3710 ;; Totals: 0 2 0 0 0 + 3711 ;;Total ram usage: 2 bytes + 3712 ;; Hardware stack levels used: 1 + 3713 ;; Hardware stack levels required when called: 3 + 3714 ;; This function calls: + 3715 ;; _Lcd_Write_Char + 3716 ;; ___lwdiv + 3717 ;; ___lwmod + 3718 ;; This function is called by: + 3719 ;; _update_Display + 3720 ;; _edit_Date_Time + 3721 ;; This function uses a non-reentrant model + 3722 ;; 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 + 3724 + 3725 ;psect for function _display_Digit + 3726 0987 _display_Digit: 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 + 3728 ;main.c: 246: Lcd_Write_Char(((data / 10) + '0')); + 3729 + 3730 ;incstack = 0 + 3731 ; Regs used in _display_Digit: [wreg+status,2+status,0+pclath+cstack] + 3732 0987 300A movlw 10 + 3733 0988 1283 bcf 3,5 ;RP0=0, select bank0 + 3734 0989 1303 bcf 3,6 ;RP1=0, select bank0 + 3735 098A 00A0 movwf ___lwdiv@divisor + 3736 098B 3000 movlw 0 + 3737 098C 00A1 movwf ___lwdiv@divisor+1 + 3738 098D 082D movf display_Digit@data+1,w + 3739 098E 00A3 movwf ___lwdiv@dividend+1 + 3740 098F 082C movf display_Digit@data,w + 3741 0990 00A2 movwf ___lwdiv@dividend + 3742 0991 120A 158A 22FA 120A 158A fcall ___lwdiv + 3743 0996 1283 bcf 3,5 ;RP0=0, select bank0 + 3744 0997 1303 bcf 3,6 ;RP1=0, select bank0 + 3745 0998 0820 movf ?___lwdiv,w + 3746 0999 3E30 addlw 48 + 3747 099A 120A 158A 2284 120A 158A fcall _Lcd_Write_Char + 3748 + 3749 ;main.c: 247: Lcd_Write_Char(((data % 10) + '0')); + 3750 099F 300A movlw 10 + 3751 09A0 1283 bcf 3,5 ;RP0=0, select bank0 + 3752 09A1 1303 bcf 3,6 ;RP1=0, select bank0 + 3753 09A2 00A7 movwf ___lwmod@divisor + 3754 09A3 3000 movlw 0 + 3755 09A4 00A8 movwf ___lwmod@divisor+1 + 3756 09A5 082D movf display_Digit@data+1,w + 3757 09A6 00AA movwf ___lwmod@dividend+1 + 3758 09A7 082C movf display_Digit@data,w + 3759 09A8 00A9 movwf ___lwmod@dividend + 3760 09A9 120A 158A 21E6 120A 158A fcall ___lwmod + 3761 09AE 1283 bcf 3,5 ;RP0=0, select bank0 + 3762 09AF 1303 bcf 3,6 ;RP1=0, select bank0 + 3763 09B0 0827 movf ?___lwmod,w + 3764 09B1 3E30 addlw 48 + 3765 09B2 120A 158A 2284 fcall _Lcd_Write_Char + 3766 09B5 0008 return + 3767 09B6 __end_of_display_Digit: 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 + 3769 psect text6 + 3770 0D42 __ptext6: + 3771 ;; *************** function _Set_Time ***************** + 3772 ;; Defined at: + 3773 ;; line 93 in file "ds3231.c" + 3774 ;; Parameters: Size Location Type + 3775 ;; None + 3776 ;; Auto vars: Size Location Type + 3777 ;; None + 3778 ;; Return value: Size Location Type + 3779 ;; 1 wreg void + 3780 ;; Registers used: + 3781 ;; wreg, status,2, status,0, pclath, cstack + 3782 ;; Tracked objects: + 3783 ;; On entry : 0/0 + 3784 ;; On exit : 0/0 + 3785 ;; Unchanged: 0/0 + 3786 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3787 ;; Params: 0 0 0 0 0 + 3788 ;; Locals: 0 0 0 0 0 + 3789 ;; Temps: 0 0 0 0 0 + 3790 ;; Totals: 0 0 0 0 0 + 3791 ;;Total ram usage: 0 bytes + 3792 ;; Hardware stack levels used: 1 + 3793 ;; Hardware stack levels required when called: 3 + 3794 ;; This function calls: + 3795 ;; _DEC_2_BCD + 3796 ;; _I2C_Master_Start + 3797 ;; _I2C_Master_Stop + 3798 ;; _I2C_Master_Write + 3799 ;; This function is called by: + 3800 ;; _edit_Date_Time + 3801 ;; This function uses a non-reentrant model + 3802 ;; + 3803 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 + 3805 ;psect for function _Set_Time + 3806 0D42 _Set_Time: + 3807 + 3808 ;ds3231.c: 94: I2C_Master_Start(); + 3809 + 3810 ;incstack = 0 + 3811 ; Regs used in _Set_Time: [wreg+status,2+status,0+pclath+cstack] + 3812 0D42 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 3813 + 3814 ;ds3231.c: 95: I2C_Master_Write(0xD0); + 3815 0D47 30D0 movlw 208 + 3816 0D48 1283 bcf 3,5 ;RP0=0, select bank0 + 3817 0D49 1303 bcf 3,6 ;RP1=0, select bank0 + 3818 0D4A 00A8 movwf I2C_Master_Write@data + 3819 0D4B 3000 movlw 0 + 3820 0D4C 00A9 movwf I2C_Master_Write@data+1 + 3821 0D4D 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3822 + 3823 ;ds3231.c: 96: I2C_Master_Write(0); + 3824 0D52 3000 movlw 0 + 3825 0D53 1283 bcf 3,5 ;RP0=0, select bank0 + 3826 0D54 1303 bcf 3,6 ;RP1=0, select bank0 + 3827 0D55 00A8 movwf I2C_Master_Write@data + 3828 0D56 00A9 movwf I2C_Master_Write@data+1 + 3829 0D57 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3830 + 3831 ;ds3231.c: 97: I2C_Master_Write(DEC_2_BCD(sec)); + 3832 0D5C 1283 bcf 3,5 ;RP0=0, select bank0 + 3833 0D5D 1303 bcf 3,6 ;RP1=0, select bank0 + 3834 0D5E 0864 movf _sec+1,w + 3835 0D5F 00A5 movwf DEC_2_BCD@to_convert+1 + 3836 0D60 0863 movf _sec,w + 3837 0D61 00A4 movwf DEC_2_BCD@to_convert + 3838 0D62 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 3839 0D67 1283 bcf 3,5 ;RP0=0, select bank0 + 3840 0D68 1303 bcf 3,6 ;RP1=0, select bank0 + 3841 0D69 0825 movf ?_DEC_2_BCD+1,w + 3842 0D6A 00A9 movwf I2C_Master_Write@data+1 + 3843 0D6B 0824 movf ?_DEC_2_BCD,w + 3844 0D6C 00A8 movwf I2C_Master_Write@data + 3845 0D6D 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3846 + 3847 ;ds3231.c: 98: I2C_Master_Write(DEC_2_BCD(min)); + 3848 0D72 1283 bcf 3,5 ;RP0=0, select bank0 + 3849 0D73 1303 bcf 3,6 ;RP1=0, select bank0 + 3850 0D74 0862 movf _min+1,w + 3851 0D75 00A5 movwf DEC_2_BCD@to_convert+1 + 3852 0D76 0861 movf _min,w + 3853 0D77 00A4 movwf DEC_2_BCD@to_convert + 3854 0D78 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 3855 0D7D 1283 bcf 3,5 ;RP0=0, select bank0 + 3856 0D7E 1303 bcf 3,6 ;RP1=0, select bank0 + 3857 0D7F 0825 movf ?_DEC_2_BCD+1,w + 3858 0D80 00A9 movwf I2C_Master_Write@data+1 + 3859 0D81 0824 movf ?_DEC_2_BCD,w + 3860 0D82 00A8 movwf I2C_Master_Write@data + 3861 0D83 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3862 + 3863 ;ds3231.c: 99: I2C_Master_Write(DEC_2_BCD(hour)); + 3864 0D88 1283 bcf 3,5 ;RP0=0, select bank0 + 3865 0D89 1303 bcf 3,6 ;RP1=0, select bank0 + 3866 0D8A 0860 movf _hour+1,w + 3867 0D8B 00A5 movwf DEC_2_BCD@to_convert+1 + 3868 0D8C 085F movf _hour,w + 3869 0D8D 00A4 movwf DEC_2_BCD@to_convert + 3870 0D8E 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 3871 0D93 1283 bcf 3,5 ;RP0=0, select bank0 + 3872 0D94 1303 bcf 3,6 ;RP1=0, select bank0 + 3873 0D95 0825 movf ?_DEC_2_BCD+1,w + 3874 0D96 00A9 movwf I2C_Master_Write@data+1 + 3875 0D97 0824 movf ?_DEC_2_BCD,w + 3876 0D98 00A8 movwf I2C_Master_Write@data + 3877 0D99 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3878 + 3879 ;ds3231.c: 100: I2C_Master_Stop(); + 3880 0D9E 160A 118A 2754 fcall _I2C_Master_Stop + 3881 0DA1 0008 return + 3882 0DA2 __end_of_Set_Time: + 3883 + 3884 psect text7 + 3885 0931 __ptext7: + 3886 ;; *************** function _Set_DayOfWeek ***************** + 3887 ;; Defined at: + 3888 ;; line 77 in file "ds3231.c" + 3889 ;; Parameters: Size Location Type + 3890 ;; dow 2 28[BANK0 ] int + 3891 ;; Auto vars: Size Location Type + 3892 ;; None + 3893 ;; Return value: Size Location Type + 3894 ;; 1 wreg void + 3895 ;; Registers used: + 3896 ;; wreg, status,2, status,0, pclath, cstack + 3897 ;; Tracked objects: + 3898 ;; On entry : 0/0 + 3899 ;; On exit : 0/0 + 3900 ;; Unchanged: 0/0 + 3901 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3902 ;; Params: 0 2 0 0 0 + 3903 ;; Locals: 0 0 0 0 0 + 3904 ;; Temps: 0 0 0 0 0 + 3905 ;; Totals: 0 2 0 0 0 + 3906 ;;Total ram usage: 2 bytes + 3907 ;; Hardware stack levels used: 1 + 3908 ;; Hardware stack levels required when called: 3 + 3909 ;; This function calls: + 3910 ;; _I2C_Master_Start + 3911 ;; _I2C_Master_Stop + 3912 ;; _I2C_Master_Write + 3913 ;; This function is called by: + 3914 ;; _edit_Date_Time + 3915 ;; This function uses a non-reentrant model + 3916 ;; + 3917 + 3918 + 3919 ;psect for function _Set_DayOfWeek + 3920 0931 _Set_DayOfWeek: + 3921 + 3922 ;ds3231.c: 78: I2C_Master_Start(); + 3923 + 3924 ;incstack = 0 + 3925 ; Regs used in _Set_DayOfWeek: [wreg+status,2+status,0+pclath+cstack] + 3926 0931 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 3927 + 3928 ;ds3231.c: 79: I2C_Master_Write(0xD0); + 3929 0936 30D0 movlw 208 + 3930 0937 1283 bcf 3,5 ;RP0=0, select bank0 + 3931 0938 1303 bcf 3,6 ;RP1=0, select bank0 + 3932 0939 00A8 movwf I2C_Master_Write@data + 3933 093A 3000 movlw 0 + 3934 093B 00A9 movwf I2C_Master_Write@data+1 + 3935 093C 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3936 + 3937 ;ds3231.c: 80: I2C_Master_Write(3); + 3938 0941 3003 movlw 3 + 3939 0942 1283 bcf 3,5 ;RP0=0, select bank0 + 3940 0943 1303 bcf 3,6 ;RP1=0, select bank0 + 3941 0944 00A8 movwf I2C_Master_Write@data + 3942 0945 3000 movlw 0 + 3943 0946 00A9 movwf I2C_Master_Write@data+1 + 3944 0947 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3945 + 3946 ;ds3231.c: 81: I2C_Master_Write(dow); + 3947 094C 1283 bcf 3,5 ;RP0=0, select bank0 + 3948 094D 1303 bcf 3,6 ;RP1=0, select bank0 + 3949 094E 083D movf Set_DayOfWeek@dow+1,w + 3950 094F 00A9 movwf I2C_Master_Write@data+1 + 3951 0950 083C movf Set_DayOfWeek@dow,w + 3952 0951 00A8 movwf I2C_Master_Write@data + 3953 0952 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 3954 + 3955 ;ds3231.c: 82: I2C_Master_Stop(); + 3956 0957 160A 118A 2754 fcall _I2C_Master_Stop + 3957 095A 0008 return + 3958 095B __end_of_Set_DayOfWeek: + 3959 + 3960 psect text8 + 3961 0DA2 __ptext8: + 3962 ;; *************** function _Set_Date ***************** + 3963 ;; Defined at: + 3964 ;; line 67 in file "ds3231.c" + 3965 ;; Parameters: Size Location Type + 3966 ;; None + 3967 ;; Auto vars: Size Location Type + 3968 ;; None + 3969 ;; Return value: Size Location Type + 3970 ;; 1 wreg void + 3971 ;; Registers used: + 3972 ;; wreg, status,2, status,0, pclath, cstack + 3973 ;; Tracked objects: + 3974 ;; On entry : 0/0 + 3975 ;; On exit : 0/0 + 3976 ;; Unchanged: 0/0 + 3977 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 3978 ;; Params: 0 0 0 0 0 + 3979 ;; Locals: 0 0 0 0 0 + 3980 ;; Temps: 0 0 0 0 0 + 3981 ;; Totals: 0 0 0 0 0 + 3982 ;;Total ram usage: 0 bytes + 3983 ;; Hardware stack levels used: 1 + 3984 ;; Hardware stack levels required when called: 3 + 3985 ;; This function calls: + 3986 ;; _DEC_2_BCD + 3987 ;; _I2C_Master_Start + 3988 ;; _I2C_Master_Stop + 3989 ;; _I2C_Master_Write + 3990 ;; This function is called by: + 3991 ;; _edit_Date_Time + 3992 ;; This function uses a non-reentrant model + 3993 ;; + 3994 + 3995 + 3996 ;psect for function _Set_Date + 3997 0DA2 _Set_Date: + 3998 + 3999 ;ds3231.c: 68: I2C_Master_Start(); + 4000 + 4001 ;incstack = 0 + 4002 ; Regs used in _Set_Date: [wreg+status,2+status,0+pclath+cstack] + 4003 0DA2 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 4004 + 4005 ;ds3231.c: 69: I2C_Master_Write(0xD0); + 4006 0DA7 30D0 movlw 208 + 4007 0DA8 1283 bcf 3,5 ;RP0=0, select bank0 + 4008 0DA9 1303 bcf 3,6 ;RP1=0, select bank0 + 4009 0DAA 00A8 movwf I2C_Master_Write@data + 4010 0DAB 3000 movlw 0 + 4011 0DAC 00A9 movwf I2C_Master_Write@data+1 + 4012 0DAD 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 4013 + 4014 ;ds3231.c: 70: I2C_Master_Write(4); + 4015 0DB2 3004 movlw 4 + 4016 0DB3 1283 bcf 3,5 ;RP0=0, select bank0 + 4017 0DB4 1303 bcf 3,6 ;RP1=0, select bank0 + 4018 0DB5 00A8 movwf I2C_Master_Write@data + 4019 0DB6 3000 movlw 0 + 4020 0DB7 00A9 movwf I2C_Master_Write@data+1 + 4021 0DB8 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 4022 + 4023 ;ds3231.c: 71: I2C_Master_Write(DEC_2_BCD(date)); + 4024 0DBD 1283 bcf 3,5 ;RP0=0, select bank0 + 4025 0DBE 1303 bcf 3,6 ;RP1=0, select bank0 + 4026 0DBF 086C movf _date+1,w + 4027 0DC0 00A5 movwf DEC_2_BCD@to_convert+1 + 4028 0DC1 086B movf _date,w + 4029 0DC2 00A4 movwf DEC_2_BCD@to_convert + 4030 0DC3 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 4031 0DC8 1283 bcf 3,5 ;RP0=0, select bank0 + 4032 0DC9 1303 bcf 3,6 ;RP1=0, select bank0 + 4033 0DCA 0825 movf ?_DEC_2_BCD+1,w + 4034 0DCB 00A9 movwf I2C_Master_Write@data+1 + 4035 0DCC 0824 movf ?_DEC_2_BCD,w + 4036 0DCD 00A8 movwf I2C_Master_Write@data + 4037 0DCE 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 4038 + 4039 ;ds3231.c: 72: I2C_Master_Write(DEC_2_BCD(month)); + 4040 0DD3 1283 bcf 3,5 ;RP0=0, select bank0 + 4041 0DD4 1303 bcf 3,6 ;RP1=0, select bank0 + 4042 0DD5 086A movf _month+1,w + 4043 0DD6 00A5 movwf DEC_2_BCD@to_convert+1 + 4044 0DD7 0869 movf _month,w + 4045 0DD8 00A4 movwf DEC_2_BCD@to_convert + 4046 0DD9 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 4047 0DDE 1283 bcf 3,5 ;RP0=0, select bank0 + 4048 0DDF 1303 bcf 3,6 ;RP1=0, select bank0 + 4049 0DE0 0825 movf ?_DEC_2_BCD+1,w + 4050 0DE1 00A9 movwf I2C_Master_Write@data+1 + 4051 0DE2 0824 movf ?_DEC_2_BCD,w + 4052 0DE3 00A8 movwf I2C_Master_Write@data + 4053 0DE4 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 4054 + 4055 ;ds3231.c: 73: I2C_Master_Write(DEC_2_BCD(year)); + 4056 0DE9 1283 bcf 3,5 ;RP0=0, select bank0 + 4057 0DEA 1303 bcf 3,6 ;RP1=0, select bank0 + 4058 0DEB 085E movf _year+1,w + 4059 0DEC 00A5 movwf DEC_2_BCD@to_convert+1 + 4060 0DED 085D movf _year,w + 4061 0DEE 00A4 movwf DEC_2_BCD@to_convert + 4062 0DEF 120A 158A 221A 120A 158A fcall _DEC_2_BCD + 4063 0DF4 1283 bcf 3,5 ;RP0=0, select bank0 + 4064 0DF5 1303 bcf 3,6 ;RP1=0, select bank0 + 4065 0DF6 0825 movf ?_DEC_2_BCD+1,w + 4066 0DF7 00A9 movwf I2C_Master_Write@data+1 + 4067 0DF8 0824 movf ?_DEC_2_BCD,w + 4068 0DF9 00A8 movwf I2C_Master_Write@data + 4069 0DFA 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 4070 + 4071 ;ds3231.c: 74: I2C_Master_Stop(); + 4072 0DFF 160A 118A 2754 fcall _I2C_Master_Stop + 4073 0E02 0008 return + 4074 0E03 __end_of_Set_Date: + 4075 + 4076 psect text9 + 4077 0A1A __ptext9: + 4078 ;; *************** function _DEC_2_BCD ***************** + 4079 ;; Defined at: + 4080 ;; line 21 in file "ds3231.c" + 4081 ;; Parameters: Size Location Type + 4082 ;; to_convert 2 4[BANK0 ] int + 4083 ;; Auto vars: Size Location Type + 4084 ;; None + 4085 ;; Return value: Size Location Type + 4086 ;; 2 4[BANK0 ] int + 4087 ;; Registers used: + 4088 ;; wreg, status,2, status,0, pclath, cstack + 4089 ;; Tracked objects: + 4090 ;; On entry : 0/0 + 4091 ;; On exit : 0/0 + 4092 ;; Unchanged: 0/0 + 4093 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4094 ;; Params: 0 2 0 0 0 + 4095 ;; Locals: 0 0 0 0 0 + 4096 ;; Temps: 0 2 0 0 0 + 4097 ;; Totals: 0 4 0 0 0 + 4098 ;;Total ram usage: 4 bytes + 4099 ;; Hardware stack levels used: 1 + 4100 ;; Hardware stack levels required when called: 2 + 4101 ;; This function calls: + 4102 ;; ___awdiv + 4103 ;; ___awmod + 4104 ;; This function is called by: + 4105 ;; _Set_Date + 4106 ;; _Set_Time + 4107 ;; _Write_Alarms + 4108 ;; This function uses a non-reentrant model + 4109 ;; + 4110 + 4111 + 4112 ;psect for function _DEC_2_BCD + 4113 0A1A _DEC_2_BCD: + 4114 + 4115 ;ds3231.c: 22: return ((to_convert / 10) << 4) + (to_convert % 10); + 4116 + 4117 ;incstack = 0 + 4118 ; Regs used in _DEC_2_BCD: [wreg+status,2+status,0+pclath+cstack] + 4119 0A1A 300A movlw 10 + 4120 0A1B 00F2 movwf ___awdiv@divisor + 4121 0A1C 3000 movlw 0 + 4122 0A1D 00F3 movwf ___awdiv@divisor+1 + 4123 0A1E 1283 bcf 3,5 ;RP0=0, select bank0 + 4124 0A1F 1303 bcf 3,6 ;RP1=0, select bank0 + 4125 0A20 0825 movf DEC_2_BCD@to_convert+1,w + 4126 0A21 00F5 movwf ___awdiv@dividend+1 + 4127 0A22 0824 movf DEC_2_BCD@to_convert,w + 4128 0A23 00F4 movwf ___awdiv@dividend + 4129 0A24 120A 158A 24E7 120A 158A fcall ___awdiv + 4130 0A29 0872 movf ?___awdiv,w + 4131 0A2A 1283 bcf 3,5 ;RP0=0, select bank0 + 4132 0A2B 1303 bcf 3,6 ;RP1=0, select bank0 + 4133 0A2C 00A6 movwf ??_DEC_2_BCD + 4134 0A2D 0873 movf ?___awdiv+1,w + 4135 0A2E 00A7 movwf ??_DEC_2_BCD+1 + 4136 0A2F 0EA6 swapf ??_DEC_2_BCD,f + 4137 0A30 0EA7 swapf ??_DEC_2_BCD+1,f + 4138 0A31 30F0 movlw 240 + 4139 0A32 05A7 andwf ??_DEC_2_BCD+1,f + 4140 0A33 0826 movf ??_DEC_2_BCD,w + 4141 0A34 390F andlw 15 + 4142 0A35 04A7 iorwf ??_DEC_2_BCD+1,f + 4143 0A36 30F0 movlw 240 + 4144 0A37 05A6 andwf ??_DEC_2_BCD,f + 4145 0A38 300A movlw 10 + 4146 0A39 00F2 movwf ___awmod@divisor + 4147 0A3A 3000 movlw 0 + 4148 0A3B 00F3 movwf ___awmod@divisor+1 + 4149 0A3C 0825 movf DEC_2_BCD@to_convert+1,w + 4150 0A3D 00F5 movwf ___awmod@dividend+1 + 4151 0A3E 0824 movf DEC_2_BCD@to_convert,w + 4152 0A3F 00F4 movwf ___awmod@dividend + 4153 0A40 120A 158A 244C fcall ___awmod + 4154 0A43 0872 movf ?___awmod,w + 4155 0A44 1283 bcf 3,5 ;RP0=0, select bank0 + 4156 0A45 1303 bcf 3,6 ;RP1=0, select bank0 + 4157 0A46 0726 addwf ??_DEC_2_BCD,w + 4158 0A47 00A4 movwf ?_DEC_2_BCD + 4159 0A48 0873 movf ?___awmod+1,w + 4160 0A49 1803 skipnc + 4161 0A4A 0A73 incf ?___awmod+1,w + 4162 0A4B 0727 addwf ??_DEC_2_BCD+1,w + 4163 0A4C 00A5 movwf ?_DEC_2_BCD+1 + 4164 0A4D 0008 return + 4165 0A4E __end_of_DEC_2_BCD: + 4166 + 4167 psect text10 + 4168 0C4C __ptext10: + 4169 ;; *************** function ___awmod ***************** + 4170 ;; Defined at: + 4171 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\awmod.c" + 4172 ;; Parameters: Size Location Type + 4173 ;; divisor 2 2[COMMON] int + 4174 ;; dividend 2 4[COMMON] int + 4175 ;; Auto vars: Size Location Type + 4176 ;; sign 1 8[COMMON] unsigned char + 4177 ;; counter 1 7[COMMON] unsigned char + 4178 ;; Return value: Size Location Type + 4179 ;; 2 2[COMMON] int + 4180 ;; Registers used: + 4181 ;; wreg, status,2, status,0 + 4182 ;; Tracked objects: + 4183 ;; On entry : 0/0 + 4184 ;; On exit : 0/0 + 4185 ;; Unchanged: 0/0 + 4186 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4187 ;; Params: 4 0 0 0 0 + 4188 ;; Locals: 2 0 0 0 0 + 4189 ;; Temps: 1 0 0 0 0 + 4190 ;; Totals: 7 0 0 0 0 + 4191 ;;Total ram usage: 7 bytes + 4192 ;; Hardware stack levels used: 1 + 4193 ;; Hardware stack levels required when called: 1 + 4194 ;; This function calls: + 4195 ;; Nothing + 4196 ;; This function is called by: + 4197 ;; _DEC_2_BCD + 4198 ;; This function uses a non-reentrant model + 4199 ;; + 4200 + 4201 + 4202 ;psect for function ___awmod + 4203 0C4C ___awmod: + 4204 + 4205 ;incstack = 0 + 4206 ; Regs used in ___awmod: [wreg+status,2+status,0] + 4207 0C4C 01F8 clrf ___awmod@sign + 4208 0C4D 1FF5 btfss ___awmod@dividend+1,7 + 4209 0C4E 2C56 goto l2072 + 4210 0C4F 09F4 comf ___awmod@dividend,f + 4211 0C50 09F5 comf ___awmod@dividend+1,f + 4212 0C51 0AF4 incf ___awmod@dividend,f + 4213 0C52 1903 skipnz + 4214 0C53 0AF5 incf ___awmod@dividend+1,f + 4215 0C54 01F8 clrf ___awmod@sign + 4216 0C55 0AF8 incf ___awmod@sign,f + 4217 0C56 l2072: + 4218 0C56 1FF3 btfss ___awmod@divisor+1,7 + 4219 0C57 2C5D goto l2076 + 4220 0C58 09F2 comf ___awmod@divisor,f + 4221 0C59 09F3 comf ___awmod@divisor+1,f + 4222 0C5A 0AF2 incf ___awmod@divisor,f + 4223 0C5B 1903 skipnz + 4224 0C5C 0AF3 incf ___awmod@divisor+1,f + 4225 0C5D l2076: + 4226 0C5D 0872 movf ___awmod@divisor,w + 4227 0C5E 0473 iorwf ___awmod@divisor+1,w + 4228 0C5F 1903 btfsc 3,2 + 4229 0C60 2C8A goto l2094 + 4230 0C61 01F7 clrf ___awmod@counter + 4231 0C62 0AF7 incf ___awmod@counter,f + 4232 0C63 l2084: + 4233 0C63 1BF3 btfsc ___awmod@divisor+1,7 + 4234 0C64 2C71 goto l2086 + 4235 0C65 3001 movlw 1 + 4236 0C66 u1315: + 4237 0C66 1003 clrc + 4238 0C67 0DF2 rlf ___awmod@divisor,f + 4239 0C68 0DF3 rlf ___awmod@divisor+1,f + 4240 0C69 3EFF addlw -1 + 4241 0C6A 1D03 skipz + 4242 0C6B 2C66 goto u1315 + 4243 0C6C 3001 movlw 1 + 4244 0C6D 00F6 movwf ??___awmod + 4245 0C6E 0876 movf ??___awmod,w + 4246 0C6F 07F7 addwf ___awmod@counter,f + 4247 0C70 2C63 goto l2084 + 4248 0C71 l2086: + 4249 0C71 0873 movf ___awmod@divisor+1,w + 4250 0C72 0275 subwf ___awmod@dividend+1,w + 4251 0C73 1D03 skipz + 4252 0C74 2C77 goto u1335 + 4253 0C75 0872 movf ___awmod@divisor,w + 4254 0C76 0274 subwf ___awmod@dividend,w + 4255 0C77 u1335: + 4256 0C77 1C03 skipc + 4257 0C78 2C7F goto l2090 + 4258 0C79 0872 movf ___awmod@divisor,w + 4259 0C7A 02F4 subwf ___awmod@dividend,f + 4260 0C7B 0873 movf ___awmod@divisor+1,w + 4261 0C7C 1C03 skipc + 4262 0C7D 03F5 decf ___awmod@dividend+1,f + 4263 0C7E 02F5 subwf ___awmod@dividend+1,f + 4264 0C7F l2090: + 4265 0C7F 3001 movlw 1 + 4266 0C80 u1345: + 4267 0C80 1003 clrc + 4268 0C81 0CF3 rrf ___awmod@divisor+1,f + 4269 0C82 0CF2 rrf ___awmod@divisor,f + 4270 0C83 3EFF addlw -1 + 4271 0C84 1D03 skipz + 4272 0C85 2C80 goto u1345 + 4273 0C86 3001 movlw 1 + 4274 0C87 02F7 subwf ___awmod@counter,f + 4275 0C88 1D03 btfss 3,2 + 4276 0C89 2C71 goto l2086 + 4277 0C8A l2094: + 4278 0C8A 0878 movf ___awmod@sign,w + 4279 0C8B 1903 btfsc 3,2 + 4280 0C8C 2C92 goto l2098 + 4281 0C8D 09F4 comf ___awmod@dividend,f + 4282 0C8E 09F5 comf ___awmod@dividend+1,f + 4283 0C8F 0AF4 incf ___awmod@dividend,f + 4284 0C90 1903 skipnz + 4285 0C91 0AF5 incf ___awmod@dividend+1,f + 4286 0C92 l2098: + 4287 0C92 0875 movf ___awmod@dividend+1,w + 4288 0C93 00F3 movwf ?___awmod+1 + 4289 0C94 0874 movf ___awmod@dividend,w + 4290 0C95 00F2 movwf ?___awmod + 4291 0C96 0008 return + 4292 0C97 __end_of___awmod: 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 + 4294 psect text11 + 4295 0CE7 __ptext11: + 4296 ;; *************** function ___awdiv ***************** + 4297 ;; Defined at: + 4298 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\awdiv.c" + 4299 ;; Parameters: Size Location Type + 4300 ;; divisor 2 2[COMMON] int + 4301 ;; dividend 2 4[COMMON] int + 4302 ;; Auto vars: Size Location Type + 4303 ;; quotient 2 2[BANK0 ] int + 4304 ;; sign 1 1[BANK0 ] unsigned char + 4305 ;; counter 1 0[BANK0 ] unsigned char + 4306 ;; Return value: Size Location Type + 4307 ;; 2 2[COMMON] int + 4308 ;; Registers used: + 4309 ;; wreg, status,2, status,0 + 4310 ;; Tracked objects: + 4311 ;; On entry : 0/0 + 4312 ;; On exit : 0/0 + 4313 ;; Unchanged: 0/0 + 4314 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4315 ;; Params: 4 0 0 0 0 + 4316 ;; Locals: 0 4 0 0 0 + 4317 ;; Temps: 1 0 0 0 0 + 4318 ;; Totals: 5 4 0 0 0 + 4319 ;;Total ram usage: 9 bytes + 4320 ;; Hardware stack levels used: 1 + 4321 ;; Hardware stack levels required when called: 1 + 4322 ;; This function calls: + 4323 ;; Nothing + 4324 ;; This function is called by: + 4325 ;; _DEC_2_BCD + 4326 ;; This function uses a non-reentrant model + 4327 ;; + 4328 + 4329 + 4330 ;psect for function ___awdiv + 4331 0CE7 ___awdiv: + 4332 + 4333 ;incstack = 0 + 4334 ; Regs used in ___awdiv: [wreg+status,2+status,0] + 4335 0CE7 1283 bcf 3,5 ;RP0=0, select bank0 + 4336 0CE8 1303 bcf 3,6 ;RP1=0, select bank0 + 4337 0CE9 01A1 clrf ___awdiv@sign + 4338 0CEA 1FF3 btfss ___awdiv@divisor+1,7 + 4339 0CEB 2CF3 goto l2790 + 4340 0CEC 09F2 comf ___awdiv@divisor,f + 4341 0CED 09F3 comf ___awdiv@divisor+1,f + 4342 0CEE 0AF2 incf ___awdiv@divisor,f + 4343 0CEF 1903 skipnz + 4344 0CF0 0AF3 incf ___awdiv@divisor+1,f + 4345 0CF1 01A1 clrf ___awdiv@sign + 4346 0CF2 0AA1 incf ___awdiv@sign,f + 4347 0CF3 l2790: + 4348 0CF3 1FF5 btfss ___awdiv@dividend+1,7 + 4349 0CF4 2CFE goto l2796 + 4350 0CF5 09F4 comf ___awdiv@dividend,f + 4351 0CF6 09F5 comf ___awdiv@dividend+1,f + 4352 0CF7 0AF4 incf ___awdiv@dividend,f + 4353 0CF8 1903 skipnz + 4354 0CF9 0AF5 incf ___awdiv@dividend+1,f + 4355 0CFA 3001 movlw 1 + 4356 0CFB 00F6 movwf ??___awdiv + 4357 0CFC 0876 movf ??___awdiv,w + 4358 0CFD 06A1 xorwf ___awdiv@sign,f + 4359 0CFE l2796: + 4360 0CFE 01A2 clrf ___awdiv@quotient + 4361 0CFF 01A3 clrf ___awdiv@quotient+1 + 4362 0D00 0872 movf ___awdiv@divisor,w + 4363 0D01 0473 iorwf ___awdiv@divisor+1,w + 4364 0D02 1903 btfsc 3,2 + 4365 0D03 2D35 goto l2818 + 4366 0D04 01A0 clrf ___awdiv@counter + 4367 0D05 0AA0 incf ___awdiv@counter,f + 4368 0D06 l2806: + 4369 0D06 1BF3 btfsc ___awdiv@divisor+1,7 + 4370 0D07 2D14 goto l2808 + 4371 0D08 3001 movlw 1 + 4372 0D09 u2225: + 4373 0D09 1003 clrc + 4374 0D0A 0DF2 rlf ___awdiv@divisor,f + 4375 0D0B 0DF3 rlf ___awdiv@divisor+1,f + 4376 0D0C 3EFF addlw -1 + 4377 0D0D 1D03 skipz + 4378 0D0E 2D09 goto u2225 + 4379 0D0F 3001 movlw 1 + 4380 0D10 00F6 movwf ??___awdiv + 4381 0D11 0876 movf ??___awdiv,w + 4382 0D12 07A0 addwf ___awdiv@counter,f + 4383 0D13 2D06 goto l2806 + 4384 0D14 l2808: + 4385 0D14 3001 movlw 1 + 4386 0D15 u2245: + 4387 0D15 1003 clrc + 4388 0D16 0DA2 rlf ___awdiv@quotient,f + 4389 0D17 0DA3 rlf ___awdiv@quotient+1,f + 4390 0D18 3EFF addlw -1 + 4391 0D19 1D03 skipz + 4392 0D1A 2D15 goto u2245 + 4393 0D1B 0873 movf ___awdiv@divisor+1,w + 4394 0D1C 0275 subwf ___awdiv@dividend+1,w + 4395 0D1D 1D03 skipz + 4396 0D1E 2D21 goto u2255 + 4397 0D1F 0872 movf ___awdiv@divisor,w + 4398 0D20 0274 subwf ___awdiv@dividend,w + 4399 0D21 u2255: + 4400 0D21 1C03 skipc + 4401 0D22 2D2A goto l2814 + 4402 0D23 0872 movf ___awdiv@divisor,w + 4403 0D24 02F4 subwf ___awdiv@dividend,f + 4404 0D25 0873 movf ___awdiv@divisor+1,w + 4405 0D26 1C03 skipc + 4406 0D27 03F5 decf ___awdiv@dividend+1,f + 4407 0D28 02F5 subwf ___awdiv@dividend+1,f + 4408 0D29 1422 bsf ___awdiv@quotient,0 + 4409 0D2A l2814: + 4410 0D2A 3001 movlw 1 + 4411 0D2B u2265: + 4412 0D2B 1003 clrc + 4413 0D2C 0CF3 rrf ___awdiv@divisor+1,f + 4414 0D2D 0CF2 rrf ___awdiv@divisor,f + 4415 0D2E 3EFF addlw -1 + 4416 0D2F 1D03 skipz + 4417 0D30 2D2B goto u2265 + 4418 0D31 3001 movlw 1 + 4419 0D32 02A0 subwf ___awdiv@counter,f + 4420 0D33 1D03 btfss 3,2 + 4421 0D34 2D14 goto l2808 + 4422 0D35 l2818: + 4423 0D35 0821 movf ___awdiv@sign,w + 4424 0D36 1903 btfsc 3,2 + 4425 0D37 2D3D goto l2822 + 4426 0D38 09A2 comf ___awdiv@quotient,f + 4427 0D39 09A3 comf ___awdiv@quotient+1,f + 4428 0D3A 0AA2 incf ___awdiv@quotient,f + 4429 0D3B 1903 skipnz + 4430 0D3C 0AA3 incf ___awdiv@quotient+1,f + 4431 0D3D l2822: + 4432 0D3D 0823 movf ___awdiv@quotient+1,w + 4433 0D3E 00F3 movwf ?___awdiv+1 + 4434 0D3F 0822 movf ___awdiv@quotient,w + 4435 0D40 00F2 movwf ?___awdiv + 4436 0D41 0008 return + 4437 0D42 __end_of___awdiv: + 4438 + 4439 psect text12 + 4440 178B __ptext12: + 4441 ;; *************** function _Get_WeekDay ***************** + 4442 ;; Defined at: + 4443 ;; line 38 in file "ds3231.c" + 4444 ;; Parameters: Size Location Type + 4445 ;; d 2 28[BANK0 ] unsigned int + 4446 ;; Auto vars: Size Location Type + 4447 ;; None + 4448 ;; Return value: Size Location Type + 4449 ;; 1 wreg PTR unsigned char + 4450 ;; Registers used: + 4451 ;; wreg, status,2, status,0 + 4452 ;; Tracked objects: + 4453 ;; On entry : 0/0 + 4454 ;; On exit : 0/0 + 4455 ;; Unchanged: 0/0 + 4456 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4457 ;; Params: 0 2 0 0 0 + 4458 ;; Locals: 0 0 0 0 0 + 4459 ;; Temps: 0 1 0 0 0 + 4460 ;; Totals: 0 3 0 0 0 + 4461 ;;Total ram usage: 3 bytes + 4462 ;; Hardware stack levels used: 1 + 4463 ;; Hardware stack levels required when called: 1 + 4464 ;; This function calls: + 4465 ;; Nothing + 4466 ;; This function is called by: + 4467 ;; _update_Display + 4468 ;; _edit_Date_Time + 4469 ;; This function uses a non-reentrant model + 4470 ;; + 4471 + 4472 + 4473 ;psect for function _Get_WeekDay + 4474 178B _Get_WeekDay: + 4475 + 4476 ;ds3231.c: 39: return dayOfWeek[d - 1]; 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: + 4478 ;incstack = 0 + 4479 ; Regs used in _Get_WeekDay: [wreg+status,2+status,0] + 4480 178B 1283 bcf 3,5 ;RP0=0, select bank0 + 4481 178C 1303 bcf 3,6 ;RP1=0, select bank0 + 4482 178D 083C movf Get_WeekDay@d,w + 4483 178E 00BE movwf ??_Get_WeekDay + 4484 178F 3001 movlw 1 + 4485 1790 u1655: + 4486 1790 1003 clrc + 4487 1791 0DBE rlf ??_Get_WeekDay,f + 4488 1792 3EFF addlw -1 + 4489 1793 1D03 skipz + 4490 1794 2F90 goto u1655 + 4491 1795 1003 clrc + 4492 1796 0D3E rlf ??_Get_WeekDay,w + 4493 1797 3EA0 addlw (low ((_dayOfWeek| 0+252)))& (0+255) + 4494 1798 0008 return + 4495 1799 __end_of_Get_WeekDay: 4496 - 4497 psect text24 - 4498 0074 __ptext24: - 4499 ;; *************** function _BCD_2_DEC ***************** + 4497 psect text13 + 4498 07C5 __ptext13: + 4499 ;; *************** function _Get_Days_In_Month ***************** 4500 ;; Defined at: - 4501 ;; line 19 in file "ds3231.c" + 4501 ;; line 29 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 + 4503 ;; y 2 17[BANK0 ] unsigned int + 4504 ;; m 2 19[BANK0 ] unsigned int + 4505 ;; Auto vars: Size Location Type + 4506 ;; None + 4507 ;; Return value: Size Location Type + 4508 ;; 2 17[BANK0 ] unsigned int + 4509 ;; Registers used: + 4510 ;; wreg, status,2, status,0, pclath, cstack + 4511 ;; Tracked objects: + 4512 ;; On entry : 0/0 + 4513 ;; On exit : 0/0 + 4514 ;; Unchanged: 0/0 + 4515 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4516 ;; Params: 0 4 0 0 0 + 4517 ;; Locals: 0 0 0 0 0 + 4518 ;; Temps: 0 3 0 0 0 + 4519 ;; Totals: 0 7 0 0 0 + 4520 ;;Total ram usage: 7 bytes + 4521 ;; Hardware stack levels used: 1 + 4522 ;; Hardware stack levels required when called: 3 + 4523 ;; This function calls: + 4524 ;; _Get_Is_Leap_Year + 4525 ;; ___lwmod + 4526 ;; This function is called by: + 4527 ;; _edit_Date_Time + 4528 ;; This function uses a non-reentrant model + 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 + 4531 + 4532 ;psect for function _Get_Days_In_Month + 4533 07C5 _Get_Days_In_Month: + 4534 + 4535 ;ds3231.c: 30: return (m == 2) ? + 4536 + 4537 ;incstack = 0 + 4538 ; Regs used in _Get_Days_In_Month: [wreg+status,2+status,0+pclath+cstack] + 4539 07C5 3002 movlw 2 + 4540 07C6 1283 bcf 3,5 ;RP0=0, select bank0 + 4541 07C7 1303 bcf 3,6 ;RP1=0, select bank0 + 4542 07C8 0633 xorwf Get_Days_In_Month@m,w + 4543 07C9 0434 iorwf Get_Days_In_Month@m+1,w + 4544 07CA 1903 btfsc 3,2 + 4545 07CB 2FED goto l2922 + 4546 07CC 3007 movlw 7 + 4547 07CD 00A7 movwf ___lwmod@divisor + 4548 07CE 3000 movlw 0 + 4549 07CF 00A8 movwf ___lwmod@divisor+1 + 4550 07D0 0833 movf Get_Days_In_Month@m,w + 4551 07D1 3EFF addlw 255 + 4552 07D2 00A9 movwf ___lwmod@dividend + 4553 07D3 0834 movf Get_Days_In_Month@m+1,w + 4554 07D4 1803 skipnc + 4555 07D5 3E01 addlw 1 + 4556 07D6 3EFF addlw 255 + 4557 07D7 00AA movwf ___lwmod@dividend+1 + 4558 07D8 120A 158A 21E6 fcall ___lwmod + 4559 07DB 3001 movlw 1 + 4560 07DC 1283 bcf 3,5 ;RP0=0, select bank0 + 4561 07DD 1303 bcf 3,6 ;RP1=0, select bank0 + 4562 07DE 0527 andwf ?___lwmod,w + 4563 07DF 00B5 movwf ??_Get_Days_In_Month + 4564 07E0 3000 movlw 0 + 4565 07E1 0528 andwf ?___lwmod+1,w + 4566 07E2 00B6 movwf ??_Get_Days_In_Month+1 + 4567 07E3 301F movlw 31 + 4568 07E4 00B7 movwf ??_Get_Days_In_Month+2 + 4569 07E5 0835 movf ??_Get_Days_In_Month,w + 4570 07E6 0237 subwf ??_Get_Days_In_Month+2,w + 4571 07E7 00B1 movwf ?_Get_Days_In_Month + 4572 07E8 0936 comf ??_Get_Days_In_Month+1,w + 4573 07E9 1803 skipnc + 4574 07EA 3E01 addlw 1 + 4575 07EB 00B2 movwf ?_Get_Days_In_Month+1 + 4576 07EC 0008 return + 4577 07ED l2922: + 4578 07ED 0832 movf Get_Days_In_Month@y+1,w + 4579 07EE 00AD movwf Get_Is_Leap_Year@y+1 + 4580 07EF 0831 movf Get_Days_In_Month@y,w + 4581 07F0 00AC movwf Get_Is_Leap_Year@y + 4582 07F1 120A 158A 22BD fcall _Get_Is_Leap_Year + 4583 07F4 1283 bcf 3,5 ;RP0=0, select bank0 + 4584 07F5 1303 bcf 3,6 ;RP1=0, select bank0 + 4585 07F6 082C movf ?_Get_Is_Leap_Year,w + 4586 07F7 3E1C addlw 28 + 4587 07F8 00B1 movwf ?_Get_Days_In_Month + 4588 07F9 082D movf ?_Get_Is_Leap_Year+1,w + 4589 07FA 1803 skipnc + 4590 07FB 3E01 addlw 1 + 4591 07FC 3E00 addlw 0 + 4592 07FD 00B2 movwf ?_Get_Days_In_Month+1 + 4593 07FE 0008 return + 4594 07FF __end_of_Get_Days_In_Month: + 4595 + 4596 psect text14 + 4597 0ABD __ptext14: + 4598 ;; *************** function _Get_Is_Leap_Year ***************** + 4599 ;; Defined at: + 4600 ;; line 34 in file "ds3231.c" + 4601 ;; Parameters: Size Location Type + 4602 ;; y 2 12[BANK0 ] unsigned int + 4603 ;; Auto vars: Size Location Type + 4604 ;; None + 4605 ;; Return value: Size Location Type + 4606 ;; 2 12[BANK0 ] unsigned int + 4607 ;; Registers used: + 4608 ;; wreg, status,2, status,0, pclath, cstack + 4609 ;; Tracked objects: + 4610 ;; On entry : 0/0 + 4611 ;; On exit : 0/0 + 4612 ;; Unchanged: 0/0 + 4613 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4614 ;; Params: 0 2 0 0 0 + 4615 ;; Locals: 0 1 0 0 0 + 4616 ;; Temps: 0 2 0 0 0 + 4617 ;; Totals: 0 5 0 0 0 + 4618 ;;Total ram usage: 5 bytes + 4619 ;; Hardware stack levels used: 1 + 4620 ;; Hardware stack levels required when called: 2 + 4621 ;; This function calls: + 4622 ;; ___lwmod + 4623 ;; This function is called by: + 4624 ;; _Get_Days_In_Month + 4625 ;; This function uses a non-reentrant model + 4626 ;; + 4627 + 4628 + 4629 ;psect for function _Get_Is_Leap_Year + 4630 0ABD _Get_Is_Leap_Year: + 4631 + 4632 ;ds3231.c: 35: return (year % 4) || ((year % 100 == 0) && (year % 400)) ? 0 : 1; + 4633 + 4634 ;incstack = 0 + 4635 ; Regs used in _Get_Is_Leap_Year: [wreg+status,2+status,0+pclath+cstack] + 4636 0ABD 1283 bcf 3,5 ;RP0=0, select bank0 + 4637 0ABE 1303 bcf 3,6 ;RP1=0, select bank0 + 4638 0ABF 01B0 clrf _Get_Is_Leap_Year$401 + 4639 0AC0 3003 movlw 3 + 4640 0AC1 055D andwf _year,w + 4641 0AC2 00AE movwf ??_Get_Is_Leap_Year + 4642 0AC3 3000 movlw 0 + 4643 0AC4 055E andwf _year+1,w + 4644 0AC5 00AF movwf ??_Get_Is_Leap_Year+1 + 4645 0AC6 082E movf ??_Get_Is_Leap_Year,w + 4646 0AC7 042F iorwf ??_Get_Is_Leap_Year+1,w + 4647 0AC8 1D03 btfss 3,2 + 4648 0AC9 2AF2 goto l2860 + 4649 0ACA 3064 movlw 100 + 4650 0ACB 00A7 movwf ___lwmod@divisor + 4651 0ACC 3000 movlw 0 + 4652 0ACD 00A8 movwf ___lwmod@divisor+1 + 4653 0ACE 085E movf _year+1,w + 4654 0ACF 00AA movwf ___lwmod@dividend+1 + 4655 0AD0 085D movf _year,w + 4656 0AD1 00A9 movwf ___lwmod@dividend + 4657 0AD2 120A 158A 21E6 120A 158A fcall ___lwmod + 4658 0AD7 1283 bcf 3,5 ;RP0=0, select bank0 + 4659 0AD8 1303 bcf 3,6 ;RP1=0, select bank0 + 4660 0AD9 0827 movf ?___lwmod,w + 4661 0ADA 0428 iorwf ?___lwmod+1,w + 4662 0ADB 1D03 btfss 3,2 + 4663 0ADC 2AF0 goto l2780 + 4664 0ADD 3090 movlw 144 + 4665 0ADE 00A7 movwf ___lwmod@divisor + 4666 0ADF 3001 movlw 1 + 4667 0AE0 00A8 movwf ___lwmod@divisor+1 + 4668 0AE1 085E movf _year+1,w + 4669 0AE2 00AA movwf ___lwmod@dividend+1 + 4670 0AE3 085D movf _year,w + 4671 0AE4 00A9 movwf ___lwmod@dividend + 4672 0AE5 120A 158A 21E6 120A 158A fcall ___lwmod + 4673 0AEA 1283 bcf 3,5 ;RP0=0, select bank0 + 4674 0AEB 1303 bcf 3,6 ;RP1=0, select bank0 + 4675 0AEC 0827 movf ?___lwmod,w + 4676 0AED 0428 iorwf ?___lwmod+1,w + 4677 0AEE 1D03 btfss 3,2 + 4678 0AEF 2AF2 goto l2860 + 4679 0AF0 l2780: + 4680 0AF0 01B0 clrf _Get_Is_Leap_Year$401 + 4681 0AF1 0AB0 incf _Get_Is_Leap_Year$401,f + 4682 0AF2 l2860: + 4683 0AF2 0830 movf _Get_Is_Leap_Year$401,w + 4684 0AF3 00AE movwf ??_Get_Is_Leap_Year + 4685 0AF4 01AF clrf ??_Get_Is_Leap_Year+1 + 4686 0AF5 082E movf ??_Get_Is_Leap_Year,w + 4687 0AF6 00AC movwf ?_Get_Is_Leap_Year + 4688 0AF7 082F movf ??_Get_Is_Leap_Year+1,w + 4689 0AF8 00AD movwf ?_Get_Is_Leap_Year+1 + 4690 0AF9 0008 return + 4691 0AFA __end_of_Get_Is_Leap_Year: + 4692 + 4693 psect text15 + 4694 0E6C __ptext15: + 4695 ;; *************** function _Get_DayOfWeek ***************** + 4696 ;; Defined at: + 4697 ;; line 25 in file "ds3231.c" + 4698 ;; Parameters: Size Location Type + 4699 ;; y 2 12[BANK0 ] unsigned int + 4700 ;; m 2 14[BANK0 ] unsigned int + 4701 ;; d 2 16[BANK0 ] unsigned int + 4702 ;; Auto vars: Size Location Type + 4703 ;; None + 4704 ;; Return value: Size Location Type + 4705 ;; 2 12[BANK0 ] unsigned int + 4706 ;; Registers used: + 4707 ;; wreg, status,2, status,0, pclath, cstack + 4708 ;; Tracked objects: + 4709 ;; On entry : 0/0 + 4710 ;; On exit : 0/0 + 4711 ;; Unchanged: 0/0 + 4712 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4713 ;; Params: 0 6 0 0 0 + 4714 ;; Locals: 0 0 0 0 0 + 4715 ;; Temps: 0 10 0 0 0 + 4716 ;; Totals: 0 16 0 0 0 + 4717 ;;Total ram usage: 16 bytes + 4718 ;; Hardware stack levels used: 1 + 4719 ;; Hardware stack levels required when called: 2 + 4720 ;; This function calls: + 4721 ;; ___lwdiv + 4722 ;; ___lwmod + 4723 ;; ___wmul + 4724 ;; This function is called by: + 4725 ;; _edit_Date_Time + 4726 ;; This function uses a non-reentrant model + 4727 ;; + 4728 + 4729 + 4730 ;psect for function _Get_DayOfWeek + 4731 0E6C _Get_DayOfWeek: + 4732 + 4733 ;ds3231.c: 26: return (d += m < 3 ? y-- : y - 2, 23 * m / 9 + d + 4 + y / 4 - y / 10 + + 0 + y / 400) % 7 + 1; + 4734 + 4735 ;incstack = 0 + 4736 ; Regs used in _Get_DayOfWeek: [wreg+status,2+status,0+pclath+cstack] + 4737 0E6C 3000 movlw 0 + 4738 0E6D 1283 bcf 3,5 ;RP0=0, select bank0 + 4739 0E6E 1303 bcf 3,6 ;RP1=0, select bank0 + 4740 0E6F 022F subwf Get_DayOfWeek@m+1,w + 4741 0E70 3003 movlw 3 + 4742 0E71 1903 skipnz + 4743 0E72 022E subwf Get_DayOfWeek@m,w + 4744 0E73 1C03 skipc + 4745 0E74 2E84 goto l2930 + 4746 0E75 082C movf Get_DayOfWeek@y,w + 4747 0E76 3EFE addlw 254 + 4748 0E77 00B2 movwf ??_Get_DayOfWeek + 4749 0E78 082D movf Get_DayOfWeek@y+1,w + 4750 0E79 1803 skipnc + 4751 0E7A 3E01 addlw 1 + 4752 0E7B 3EFF addlw 255 + 4753 0E7C 00B3 movwf ??_Get_DayOfWeek+1 + 4754 0E7D 0832 movf ??_Get_DayOfWeek,w + 4755 0E7E 07B0 addwf Get_DayOfWeek@d,f + 4756 0E7F 1803 skipnc + 4757 0E80 0AB1 incf Get_DayOfWeek@d+1,f + 4758 0E81 0833 movf ??_Get_DayOfWeek+1,w + 4759 0E82 07B1 addwf Get_DayOfWeek@d+1,f + 4760 0E83 2E90 goto l2932 + 4761 0E84 l2930: + 4762 0E84 082C movf Get_DayOfWeek@y,w + 4763 0E85 07B0 addwf Get_DayOfWeek@d,f + 4764 0E86 1803 skipnc + 4765 0E87 0AB1 incf Get_DayOfWeek@d+1,f + 4766 0E88 082D movf Get_DayOfWeek@y+1,w + 4767 0E89 07B1 addwf Get_DayOfWeek@d+1,f + 4768 0E8A 3001 movlw 1 + 4769 0E8B 02AC subwf Get_DayOfWeek@y,f + 4770 0E8C 3000 movlw 0 + 4771 0E8D 1C03 skipc + 4772 0E8E 03AD decf Get_DayOfWeek@y+1,f + 4773 0E8F 02AD subwf Get_DayOfWeek@y+1,f + 4774 0E90 l2932: + 4775 0E90 3007 movlw 7 + 4776 0E91 00A7 movwf ___lwmod@divisor + 4777 0E92 3000 movlw 0 + 4778 0E93 00A8 movwf ___lwmod@divisor+1 + 4779 0E94 082D movf Get_DayOfWeek@y+1,w + 4780 0E95 00B3 movwf ??_Get_DayOfWeek+1 + 4781 0E96 082C movf Get_DayOfWeek@y,w + 4782 0E97 00B2 movwf ??_Get_DayOfWeek + 4783 0E98 1003 clrc + 4784 0E99 0CB3 rrf ??_Get_DayOfWeek+1,f + 4785 0E9A 0CB2 rrf ??_Get_DayOfWeek,f + 4786 0E9B 1003 clrc + 4787 0E9C 0CB3 rrf ??_Get_DayOfWeek+1,f + 4788 0E9D 0CB2 rrf ??_Get_DayOfWeek,f + 4789 0E9E 3009 movlw 9 + 4790 0E9F 00A0 movwf ___lwdiv@divisor + 4791 0EA0 3000 movlw 0 + 4792 0EA1 00A1 movwf ___lwdiv@divisor+1 + 4793 0EA2 082F movf Get_DayOfWeek@m+1,w + 4794 0EA3 00F3 movwf ___wmul@multiplier+1 + 4795 0EA4 082E movf Get_DayOfWeek@m,w + 4796 0EA5 00F2 movwf ___wmul@multiplier + 4797 0EA6 3017 movlw 23 + 4798 0EA7 00F4 movwf ___wmul@multiplicand + 4799 0EA8 3000 movlw 0 + 4800 0EA9 00F5 movwf ___wmul@multiplicand+1 + 4801 0EAA 120A 158A 209D 120A 158A fcall ___wmul + 4802 0EAF 0873 movf ?___wmul+1,w + 4803 0EB0 1283 bcf 3,5 ;RP0=0, select bank0 + 4804 0EB1 1303 bcf 3,6 ;RP1=0, select bank0 + 4805 0EB2 00A3 movwf ___lwdiv@dividend+1 + 4806 0EB3 0872 movf ?___wmul,w + 4807 0EB4 00A2 movwf ___lwdiv@dividend + 4808 0EB5 120A 158A 22FA 120A 158A fcall ___lwdiv + 4809 0EBA 1283 bcf 3,5 ;RP0=0, select bank0 + 4810 0EBB 1303 bcf 3,6 ;RP1=0, select bank0 + 4811 0EBC 0832 movf ??_Get_DayOfWeek,w + 4812 0EBD 0720 addwf ?___lwdiv,w + 4813 0EBE 00B4 movwf ??_Get_DayOfWeek+2 + 4814 0EBF 0833 movf ??_Get_DayOfWeek+1,w + 4815 0EC0 1803 skipnc + 4816 0EC1 0A33 incf ??_Get_DayOfWeek+1,w + 4817 0EC2 0721 addwf ?___lwdiv+1,w + 4818 0EC3 00B5 movwf ??_Get_DayOfWeek+3 + 4819 0EC4 3090 movlw 144 + 4820 0EC5 00A0 movwf ___lwdiv@divisor + 4821 0EC6 3001 movlw 1 + 4822 0EC7 00A1 movwf ___lwdiv@divisor+1 + 4823 0EC8 082D movf Get_DayOfWeek@y+1,w + 4824 0EC9 00A3 movwf ___lwdiv@dividend+1 + 4825 0ECA 082C movf Get_DayOfWeek@y,w + 4826 0ECB 00A2 movwf ___lwdiv@dividend + 4827 0ECC 120A 158A 22FA 120A 158A fcall ___lwdiv + 4828 0ED1 1283 bcf 3,5 ;RP0=0, select bank0 + 4829 0ED2 1303 bcf 3,6 ;RP1=0, select bank0 + 4830 0ED3 0820 movf ?___lwdiv,w + 4831 0ED4 0734 addwf ??_Get_DayOfWeek+2,w + 4832 0ED5 00B6 movwf ??_Get_DayOfWeek+4 + 4833 0ED6 0821 movf ?___lwdiv+1,w + 4834 0ED7 1803 skipnc + 4835 0ED8 0A21 incf ?___lwdiv+1,w + 4836 0ED9 0735 addwf ??_Get_DayOfWeek+3,w + 4837 0EDA 00B7 movwf ??_Get_DayOfWeek+5 + 4838 0EDB 3064 movlw 100 + 4839 0EDC 00A0 movwf ___lwdiv@divisor + 4840 0EDD 3000 movlw 0 + 4841 0EDE 00A1 movwf ___lwdiv@divisor+1 + 4842 0EDF 082D movf Get_DayOfWeek@y+1,w + 4843 0EE0 00A3 movwf ___lwdiv@dividend+1 + 4844 0EE1 082C movf Get_DayOfWeek@y,w + 4845 0EE2 00A2 movwf ___lwdiv@dividend + 4846 0EE3 120A 158A 22FA 120A 158A fcall ___lwdiv + 4847 0EE8 1283 bcf 3,5 ;RP0=0, select bank0 + 4848 0EE9 1303 bcf 3,6 ;RP1=0, select bank0 + 4849 0EEA 0820 movf ?___lwdiv,w + 4850 0EEB 0236 subwf ??_Get_DayOfWeek+4,w + 4851 0EEC 00B8 movwf ??_Get_DayOfWeek+6 + 4852 0EED 0821 movf ?___lwdiv+1,w + 4853 0EEE 1C03 skipc + 4854 0EEF 0A21 incf ?___lwdiv+1,w + 4855 0EF0 0237 subwf ??_Get_DayOfWeek+5,w + 4856 0EF1 00B9 movwf ??_Get_DayOfWeek+7 + 4857 0EF2 0830 movf Get_DayOfWeek@d,w + 4858 0EF3 0738 addwf ??_Get_DayOfWeek+6,w + 4859 0EF4 00BA movwf ??_Get_DayOfWeek+8 + 4860 0EF5 0831 movf Get_DayOfWeek@d+1,w + 4861 0EF6 1803 skipnc + 4862 0EF7 0A31 incf Get_DayOfWeek@d+1,w + 4863 0EF8 0739 addwf ??_Get_DayOfWeek+7,w + 4864 0EF9 00BB movwf ??_Get_DayOfWeek+9 + 4865 0EFA 083A movf ??_Get_DayOfWeek+8,w + 4866 0EFB 3E04 addlw 4 + 4867 0EFC 00A9 movwf ___lwmod@dividend + 4868 0EFD 083B movf ??_Get_DayOfWeek+9,w + 4869 0EFE 1803 skipnc + 4870 0EFF 3E01 addlw 1 + 4871 0F00 3E00 addlw 0 + 4872 0F01 00AA movwf ___lwmod@dividend+1 + 4873 0F02 120A 158A 21E6 fcall ___lwmod + 4874 0F05 1283 bcf 3,5 ;RP0=0, select bank0 + 4875 0F06 1303 bcf 3,6 ;RP1=0, select bank0 + 4876 0F07 0827 movf ?___lwmod,w + 4877 0F08 3E01 addlw 1 + 4878 0F09 00AC movwf ?_Get_DayOfWeek + 4879 0F0A 0828 movf ?___lwmod+1,w + 4880 0F0B 1803 skipnc + 4881 0F0C 3E01 addlw 1 + 4882 0F0D 3E00 addlw 0 + 4883 0F0E 00AD movwf ?_Get_DayOfWeek+1 + 4884 0F0F 0008 return + 4885 0F10 __end_of_Get_DayOfWeek: + 4886 + 4887 psect text16 + 4888 09E6 __ptext16: + 4889 ;; *************** function ___lwmod ***************** + 4890 ;; Defined at: + 4891 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\lwmod.c" + 4892 ;; Parameters: Size Location Type + 4893 ;; divisor 2 7[BANK0 ] unsigned int + 4894 ;; dividend 2 9[BANK0 ] unsigned int + 4895 ;; Auto vars: Size Location Type + 4896 ;; counter 1 11[BANK0 ] unsigned char + 4897 ;; Return value: Size Location Type + 4898 ;; 2 7[BANK0 ] unsigned int + 4899 ;; Registers used: + 4900 ;; wreg, status,2, status,0 + 4901 ;; Tracked objects: + 4902 ;; On entry : 0/0 + 4903 ;; On exit : 0/0 + 4904 ;; Unchanged: 0/0 + 4905 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 4906 ;; Params: 0 4 0 0 0 + 4907 ;; Locals: 0 1 0 0 0 + 4908 ;; Temps: 1 0 0 0 0 + 4909 ;; Totals: 1 5 0 0 0 + 4910 ;;Total ram usage: 6 bytes + 4911 ;; Hardware stack levels used: 1 + 4912 ;; Hardware stack levels required when called: 1 + 4913 ;; This function calls: + 4914 ;; Nothing + 4915 ;; This function is called by: + 4916 ;; _display_Digit + 4917 ;; _Get_DayOfWeek + 4918 ;; _Get_Days_In_Month + 4919 ;; _Get_Is_Leap_Year + 4920 ;; This function uses a non-reentrant model + 4921 ;; 4922 - 4923 ;lcd.c: 15: RD5 = 0; - 4924 0D2C 1288 bcf 8,5 ;volatile - 4925 0D2D l205: + 4923 + 4924 ;psect for function ___lwmod + 4925 09E6 ___lwmod: 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 + 4927 ;incstack = 0 + 4928 ; Regs used in ___lwmod: [wreg+status,2+status,0] + 4929 09E6 1283 bcf 3,5 ;RP0=0, select bank0 + 4930 09E7 1303 bcf 3,6 ;RP1=0, select bank0 + 4931 09E8 0827 movf ___lwmod@divisor,w + 4932 09E9 0428 iorwf ___lwmod@divisor+1,w + 4933 09EA 1903 btfsc 3,2 + 4934 09EB 2A15 goto l2844 + 4935 09EC 01AB clrf ___lwmod@counter + 4936 09ED 0AAB incf ___lwmod@counter,f + 4937 09EE l2834: + 4938 09EE 1BA8 btfsc ___lwmod@divisor+1,7 + 4939 09EF 29FC goto l2836 + 4940 09F0 3001 movlw 1 + 4941 09F1 u2305: + 4942 09F1 1003 clrc + 4943 09F2 0DA7 rlf ___lwmod@divisor,f + 4944 09F3 0DA8 rlf ___lwmod@divisor+1,f + 4945 09F4 3EFF addlw -1 + 4946 09F5 1D03 skipz + 4947 09F6 29F1 goto u2305 + 4948 09F7 3001 movlw 1 + 4949 09F8 00F9 movwf ??___lwmod + 4950 09F9 0879 movf ??___lwmod,w + 4951 09FA 07AB addwf ___lwmod@counter,f + 4952 09FB 29EE goto l2834 + 4953 09FC l2836: + 4954 09FC 0828 movf ___lwmod@divisor+1,w + 4955 09FD 022A subwf ___lwmod@dividend+1,w + 4956 09FE 1D03 skipz + 4957 09FF 2A02 goto u2325 + 4958 0A00 0827 movf ___lwmod@divisor,w + 4959 0A01 0229 subwf ___lwmod@dividend,w + 4960 0A02 u2325: + 4961 0A02 1C03 skipc + 4962 0A03 2A0A goto l2840 + 4963 0A04 0827 movf ___lwmod@divisor,w + 4964 0A05 02A9 subwf ___lwmod@dividend,f + 4965 0A06 0828 movf ___lwmod@divisor+1,w + 4966 0A07 1C03 skipc + 4967 0A08 03AA decf ___lwmod@dividend+1,f + 4968 0A09 02AA subwf ___lwmod@dividend+1,f + 4969 0A0A l2840: + 4970 0A0A 3001 movlw 1 + 4971 0A0B u2335: + 4972 0A0B 1003 clrc + 4973 0A0C 0CA8 rrf ___lwmod@divisor+1,f + 4974 0A0D 0CA7 rrf ___lwmod@divisor,f + 4975 0A0E 3EFF addlw -1 + 4976 0A0F 1D03 skipz + 4977 0A10 2A0B goto u2335 + 4978 0A11 3001 movlw 1 + 4979 0A12 02AB subwf ___lwmod@counter,f + 4980 0A13 1D03 btfss 3,2 + 4981 0A14 29FC goto l2836 + 4982 0A15 l2844: + 4983 0A15 082A movf ___lwmod@dividend+1,w + 4984 0A16 00A8 movwf ?___lwmod+1 + 4985 0A17 0829 movf ___lwmod@dividend,w + 4986 0A18 00A7 movwf ?___lwmod + 4987 0A19 0008 return + 4988 0A1A __end_of___lwmod: + 4989 + 4990 psect text17 + 4991 0AFA __ptext17: + 4992 ;; *************** function ___lwdiv ***************** + 4993 ;; Defined at: + 4994 ;; line 5 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\lwdiv.c" + 4995 ;; Parameters: Size Location Type + 4996 ;; divisor 2 0[BANK0 ] unsigned int + 4997 ;; dividend 2 2[BANK0 ] unsigned int + 4998 ;; Auto vars: Size Location Type + 4999 ;; quotient 2 5[BANK0 ] unsigned int + 5000 ;; counter 1 4[BANK0 ] unsigned char + 5001 ;; Return value: Size Location Type + 5002 ;; 2 0[BANK0 ] unsigned int + 5003 ;; Registers used: + 5004 ;; wreg, status,2, status,0 + 5005 ;; Tracked objects: + 5006 ;; On entry : 0/0 + 5007 ;; On exit : 0/0 + 5008 ;; Unchanged: 0/0 + 5009 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5010 ;; Params: 0 4 0 0 0 + 5011 ;; Locals: 0 3 0 0 0 + 5012 ;; Temps: 1 0 0 0 0 + 5013 ;; Totals: 1 7 0 0 0 + 5014 ;;Total ram usage: 8 bytes + 5015 ;; Hardware stack levels used: 1 + 5016 ;; Hardware stack levels required when called: 1 + 5017 ;; This function calls: + 5018 ;; Nothing + 5019 ;; This function is called by: + 5020 ;; _display_Digit + 5021 ;; _update_Display + 5022 ;; _Get_DayOfWeek + 5023 ;; This function uses a non-reentrant model + 5024 ;; + 5025 + 5026 + 5027 ;psect for function ___lwdiv + 5028 0AFA ___lwdiv: + 5029 + 5030 ;incstack = 0 + 5031 ; Regs used in ___lwdiv: [wreg+status,2+status,0] + 5032 0AFA 1283 bcf 3,5 ;RP0=0, select bank0 + 5033 0AFB 1303 bcf 3,6 ;RP1=0, select bank0 + 5034 0AFC 01A5 clrf ___lwdiv@quotient + 5035 0AFD 01A6 clrf ___lwdiv@quotient+1 + 5036 0AFE 0820 movf ___lwdiv@divisor,w + 5037 0AFF 0421 iorwf ___lwdiv@divisor+1,w + 5038 0B00 1903 btfsc 3,2 + 5039 0B01 2B33 goto l2886 + 5040 0B02 01A4 clrf ___lwdiv@counter + 5041 0B03 0AA4 incf ___lwdiv@counter,f + 5042 0B04 l2874: + 5043 0B04 1BA1 btfsc ___lwdiv@divisor+1,7 + 5044 0B05 2B12 goto l2876 + 5045 0B06 3001 movlw 1 + 5046 0B07 u2395: + 5047 0B07 1003 clrc + 5048 0B08 0DA0 rlf ___lwdiv@divisor,f + 5049 0B09 0DA1 rlf ___lwdiv@divisor+1,f + 5050 0B0A 3EFF addlw -1 + 5051 0B0B 1D03 skipz + 5052 0B0C 2B07 goto u2395 + 5053 0B0D 3001 movlw 1 + 5054 0B0E 00F8 movwf ??___lwdiv + 5055 0B0F 0878 movf ??___lwdiv,w + 5056 0B10 07A4 addwf ___lwdiv@counter,f + 5057 0B11 2B04 goto l2874 + 5058 0B12 l2876: + 5059 0B12 3001 movlw 1 + 5060 0B13 u2415: + 5061 0B13 1003 clrc + 5062 0B14 0DA5 rlf ___lwdiv@quotient,f + 5063 0B15 0DA6 rlf ___lwdiv@quotient+1,f + 5064 0B16 3EFF addlw -1 + 5065 0B17 1D03 skipz + 5066 0B18 2B13 goto u2415 + 5067 0B19 0821 movf ___lwdiv@divisor+1,w + 5068 0B1A 0223 subwf ___lwdiv@dividend+1,w + 5069 0B1B 1D03 skipz + 5070 0B1C 2B1F goto u2425 + 5071 0B1D 0820 movf ___lwdiv@divisor,w + 5072 0B1E 0222 subwf ___lwdiv@dividend,w + 5073 0B1F u2425: + 5074 0B1F 1C03 skipc + 5075 0B20 2B28 goto l2882 + 5076 0B21 0820 movf ___lwdiv@divisor,w + 5077 0B22 02A2 subwf ___lwdiv@dividend,f + 5078 0B23 0821 movf ___lwdiv@divisor+1,w + 5079 0B24 1C03 skipc + 5080 0B25 03A3 decf ___lwdiv@dividend+1,f + 5081 0B26 02A3 subwf ___lwdiv@dividend+1,f + 5082 0B27 1425 bsf ___lwdiv@quotient,0 + 5083 0B28 l2882: + 5084 0B28 3001 movlw 1 + 5085 0B29 u2435: + 5086 0B29 1003 clrc + 5087 0B2A 0CA1 rrf ___lwdiv@divisor+1,f + 5088 0B2B 0CA0 rrf ___lwdiv@divisor,f + 5089 0B2C 3EFF addlw -1 + 5090 0B2D 1D03 skipz + 5091 0B2E 2B29 goto u2435 + 5092 0B2F 3001 movlw 1 + 5093 0B30 02A4 subwf ___lwdiv@counter,f + 5094 0B31 1D03 btfss 3,2 + 5095 0B32 2B12 goto l2876 + 5096 0B33 l2886: + 5097 0B33 0826 movf ___lwdiv@quotient+1,w + 5098 0B34 00A1 movwf ?___lwdiv+1 + 5099 0B35 0825 movf ___lwdiv@quotient,w + 5100 0B36 00A0 movwf ?___lwdiv + 5101 0B37 0008 return + 5102 0B38 __end_of___lwdiv: + 5103 + 5104 psect text18 + 5105 0BBC __ptext18: + 5106 ;; *************** function _display_Lcd_Layout ***************** + 5107 ;; Defined at: + 5108 ;; line 264 in file "main.c" + 5109 ;; Parameters: Size Location Type + 5110 ;; None + 5111 ;; Auto vars: Size Location Type + 5112 ;; None + 5113 ;; Return value: Size Location Type + 5114 ;; 1 wreg void + 5115 ;; Registers used: + 5116 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 5117 ;; Tracked objects: + 5118 ;; On entry : 0/0 + 5119 ;; On exit : 0/0 + 5120 ;; Unchanged: 0/0 + 5121 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5122 ;; Params: 0 0 0 0 0 + 5123 ;; Locals: 0 0 0 0 0 + 5124 ;; Temps: 0 3 0 0 0 + 5125 ;; Totals: 0 3 0 0 0 + 5126 ;;Total ram usage: 3 bytes + 5127 ;; Hardware stack levels used: 1 + 5128 ;; Hardware stack levels required when called: 4 + 5129 ;; This function calls: + 5130 ;; _Lcd_Clear + 5131 ;; _Lcd_Set_Cursor + 5132 ;; _Lcd_Write_Char + 5133 ;; _Lcd_Write_String + 5134 ;; This function is called by: + 5135 ;; _main + 5136 ;; This function uses a non-reentrant model + 5137 ;; + 5138 + 5139 + 5140 ;psect for function _display_Lcd_Layout + 5141 0BBC _display_Lcd_Layout: + 5142 + 5143 ;main.c: 266: Lcd_Clear(); + 5144 + 5145 ;incstack = 0 + 5146 ; Regs used in _display_Lcd_Layout: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 5147 0BBC 160A 118A 2774 120A 158A fcall _Lcd_Clear + 5148 + 5149 ;main.c: 267: Lcd_Set_Cursor(1, 1); + 5150 0BC1 01F6 clrf Lcd_Set_Cursor@b + 5151 0BC2 0AF6 incf Lcd_Set_Cursor@b,f + 5152 0BC3 3001 movlw 1 + 5153 0BC4 120A 158A 2497 120A 158A fcall _Lcd_Set_Cursor + 5154 + 5155 ;main.c: 268: Lcd_Write_String("HH:mm:ss -PP.P"); + 5156 0BC9 3012 movlw (low ((STR_3-__stringbase)| (0+32768)))& (0+255) + 5157 0BCA 1283 bcf 3,5 ;RP0=0, select bank0 + 5158 0BCB 1303 bcf 3,6 ;RP1=0, select bank0 + 5159 0BCC 00BF movwf Lcd_Write_String@a + 5160 0BCD 3080 movlw 128 + 5161 0BCE 00C0 movwf Lcd_Write_String@a+1 + 5162 0BCF 120A 158A 2338 120A 158A fcall _Lcd_Write_String + 5163 + 5164 ;main.c: 269: Lcd_Write_Char(0xDF); + 5165 0BD4 30DF movlw 223 + 5166 0BD5 120A 158A 2284 120A 158A fcall _Lcd_Write_Char + 5167 + 5168 ;main.c: 270: Lcd_Write_Char('C'); + 5169 0BDA 3043 movlw 67 + 5170 0BDB 120A 158A 2284 120A 158A fcall _Lcd_Write_Char + 5171 + 5172 ;main.c: 271: Lcd_Set_Cursor(2, 1); + 5173 0BE0 01F6 clrf Lcd_Set_Cursor@b + 5174 0BE1 0AF6 incf Lcd_Set_Cursor@b,f + 5175 0BE2 3002 movlw 2 + 5176 0BE3 120A 158A 2497 120A 158A fcall _Lcd_Set_Cursor + 5177 + 5178 ;main.c: 272: Lcd_Write_String(" ddd DD/MM/CCYY "); + 5179 0BE8 3001 movlw (low ((STR_4-__stringbase)| (0+32768)))& (0+255) + 5180 0BE9 1283 bcf 3,5 ;RP0=0, select bank0 + 5181 0BEA 1303 bcf 3,6 ;RP1=0, select bank0 + 5182 0BEB 00BF movwf Lcd_Write_String@a + 5183 0BEC 3080 movlw 128 + 5184 0BED 00C0 movwf Lcd_Write_String@a+1 + 5185 0BEE 120A 158A 2338 120A 158A fcall _Lcd_Write_String + 5186 + 5187 ;main.c: 274: _delay((unsigned long)((1000)*(20000000/4000.0))); + 5188 0BF3 301A movlw 26 + 5189 0BF4 1283 bcf 3,5 ;RP0=0, select bank0 + 5190 0BF5 1303 bcf 3,6 ;RP1=0, select bank0 + 5191 0BF6 00C8 movwf ??_display_Lcd_Layout+2 + 5192 0BF7 305E movlw 94 + 5193 0BF8 00C7 movwf ??_display_Lcd_Layout+1 + 5194 0BF9 306D movlw 109 + 5195 0BFA 00C6 movwf ??_display_Lcd_Layout + 5196 0BFB u3107: + 5197 0BFB 0BC6 decfsz ??_display_Lcd_Layout,f + 5198 0BFC 2BFB goto u3107 + 5199 0BFD 0BC7 decfsz ??_display_Lcd_Layout+1,f + 5200 0BFE 2BFB goto u3107 + 5201 0BFF 0BC8 decfsz ??_display_Lcd_Layout+2,f + 5202 0C00 2BFB goto u3107 + 5203 0C01 2C02 nop2 + 5204 0C02 0008 return + 5205 0C03 __end_of_display_Lcd_Layout: + 5206 + 5207 psect text19 + 5208 0B79 __ptext19: + 5209 ;; *************** function _display_Intro ***************** + 5210 ;; Defined at: + 5211 ;; line 252 in file "main.c" + 5212 ;; Parameters: Size Location Type + 5213 ;; None + 5214 ;; Auto vars: Size Location Type + 5215 ;; None + 5216 ;; Return value: Size Location Type + 5217 ;; 1 wreg void + 5218 ;; Registers used: + 5219 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 5220 ;; Tracked objects: + 5221 ;; On entry : 0/0 + 5222 ;; On exit : 0/0 + 5223 ;; Unchanged: 0/0 + 5224 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5225 ;; Params: 0 0 0 0 0 + 5226 ;; Locals: 0 0 0 0 0 + 5227 ;; Temps: 0 3 0 0 0 + 5228 ;; Totals: 0 3 0 0 0 + 5229 ;;Total ram usage: 3 bytes + 5230 ;; Hardware stack levels used: 1 + 5231 ;; Hardware stack levels required when called: 4 + 5232 ;; This function calls: + 5233 ;; _Lcd_Clear + 5234 ;; _Lcd_Set_Cursor + 5235 ;; _Lcd_Write_String + 5236 ;; This function is called by: + 5237 ;; _main + 5238 ;; This function uses a non-reentrant model + 5239 ;; + 5240 + 5241 + 5242 ;psect for function _display_Intro + 5243 0B79 _display_Intro: + 5244 + 5245 ;main.c: 254: Lcd_Clear(); + 5246 + 5247 ;incstack = 0 + 5248 ; Regs used in _display_Intro: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 5249 0B79 160A 118A 2774 120A 158A fcall _Lcd_Clear + 5250 + 5251 ;main.c: 255: Lcd_Set_Cursor(1, 4); + 5252 0B7E 3004 movlw 4 + 5253 0B7F 1283 bcf 3,5 ;RP0=0, select bank0 + 5254 0B80 1303 bcf 3,6 ;RP1=0, select bank0 + 5255 0B81 00C6 movwf ??_display_Intro + 5256 0B82 0846 movf ??_display_Intro,w + 5257 0B83 00F6 movwf Lcd_Set_Cursor@b + 5258 0B84 3001 movlw 1 + 5259 0B85 120A 158A 2497 120A 158A fcall _Lcd_Set_Cursor + 5260 + 5261 ;main.c: 256: Lcd_Write_String("Desk Clock"); + 5262 0B8A 3021 movlw (low ((STR_1-__stringbase)| (0+32768)))& (0+255) + 5263 0B8B 1283 bcf 3,5 ;RP0=0, select bank0 + 5264 0B8C 1303 bcf 3,6 ;RP1=0, select bank0 + 5265 0B8D 00BF movwf Lcd_Write_String@a + 5266 0B8E 3080 movlw 128 + 5267 0B8F 00C0 movwf Lcd_Write_String@a+1 + 5268 0B90 120A 158A 2338 120A 158A fcall _Lcd_Write_String + 5269 + 5270 ;main.c: 257: Lcd_Set_Cursor(2, 15); + 5271 0B95 300F movlw 15 + 5272 0B96 1283 bcf 3,5 ;RP0=0, select bank0 + 5273 0B97 1303 bcf 3,6 ;RP1=0, select bank0 + 5274 0B98 00C6 movwf ??_display_Intro + 5275 0B99 0846 movf ??_display_Intro,w + 5276 0B9A 00F6 movwf Lcd_Set_Cursor@b + 5277 0B9B 3002 movlw 2 + 5278 0B9C 120A 158A 2497 120A 158A fcall _Lcd_Set_Cursor + 5279 + 5280 ;main.c: 258: Lcd_Write_String("V1"); + 5281 0BA1 302C movlw (low ((STR_2-__stringbase)| (0+32768)))& (0+255) + 5282 0BA2 1283 bcf 3,5 ;RP0=0, select bank0 + 5283 0BA3 1303 bcf 3,6 ;RP1=0, select bank0 + 5284 0BA4 00BF movwf Lcd_Write_String@a + 5285 0BA5 3080 movlw 128 + 5286 0BA6 00C0 movwf Lcd_Write_String@a+1 + 5287 0BA7 120A 158A 2338 120A 158A fcall _Lcd_Write_String + 5288 + 5289 ;main.c: 259: _delay((unsigned long)((1000)*(20000000/4000.0))); + 5290 0BAC 301A movlw 26 + 5291 0BAD 1283 bcf 3,5 ;RP0=0, select bank0 + 5292 0BAE 1303 bcf 3,6 ;RP1=0, select bank0 + 5293 0BAF 00C8 movwf ??_display_Intro+2 + 5294 0BB0 305E movlw 94 + 5295 0BB1 00C7 movwf ??_display_Intro+1 + 5296 0BB2 306D movlw 109 + 5297 0BB3 00C6 movwf ??_display_Intro + 5298 0BB4 u3117: + 5299 0BB4 0BC6 decfsz ??_display_Intro,f + 5300 0BB5 2BB4 goto u3117 + 5301 0BB6 0BC7 decfsz ??_display_Intro+1,f + 5302 0BB7 2BB4 goto u3117 + 5303 0BB8 0BC8 decfsz ??_display_Intro+2,f + 5304 0BB9 2BB4 goto u3117 + 5305 0BBA 2BBB nop2 + 5306 0BBB 0008 return + 5307 0BBC __end_of_display_Intro: + 5308 + 5309 psect text20 + 5310 0B38 __ptext20: + 5311 ;; *************** function _Lcd_Write_String ***************** + 5312 ;; Defined at: + 5313 ;; line 93 in file "lcd.c" + 5314 ;; Parameters: Size Location Type + 5315 ;; a 2 31[BANK0 ] PTR unsigned char + 5316 ;; -> dayOfWeek(28), STR_5(2), STR_4(17), STR_3(15), + 5317 ;; -> STR_2(3), STR_1(11), + 5318 ;; Auto vars: Size Location Type + 5319 ;; i 2 36[BANK0 ] int + 5320 ;; Return value: Size Location Type + 5321 ;; 1 wreg void + 5322 ;; Registers used: + 5323 ;; wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack + 5324 ;; Tracked objects: + 5325 ;; On entry : 0/0 + 5326 ;; On exit : 0/0 + 5327 ;; Unchanged: 0/0 + 5328 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5329 ;; Params: 0 2 0 0 0 + 5330 ;; Locals: 0 2 0 0 0 + 5331 ;; Temps: 0 3 0 0 0 + 5332 ;; Totals: 0 7 0 0 0 + 5333 ;;Total ram usage: 7 bytes + 5334 ;; Hardware stack levels used: 1 + 5335 ;; Hardware stack levels required when called: 3 + 5336 ;; This function calls: + 5337 ;; _Lcd_Write_Char + 5338 ;; This function is called by: + 5339 ;; _display_Intro + 5340 ;; _display_Lcd_Layout + 5341 ;; _update_Display + 5342 ;; _edit_Date_Time + 5343 ;; This function uses a non-reentrant model + 5344 ;; + 5345 + 5346 + 5347 ;psect for function _Lcd_Write_String + 5348 0B38 _Lcd_Write_String: + 5349 + 5350 ;lcd.c: 94: int i;;lcd.c: 95: for (i = 0; a[i] != '\0'; i++) + 5351 + 5352 ;incstack = 0 + 5353 ; Regs used in _Lcd_Write_String: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack] + 5354 0B38 1283 bcf 3,5 ;RP0=0, select bank0 + 5355 0B39 1303 bcf 3,6 ;RP1=0, select bank0 + 5356 0B3A 01C4 clrf Lcd_Write_String@i + 5357 0B3B 01C5 clrf Lcd_Write_String@i+1 + 5358 0B3C l2262: + 5359 0B3C 0844 movf Lcd_Write_String@i,w + 5360 0B3D 073F addwf Lcd_Write_String@a,w + 5361 0B3E 00C2 movwf ??_Lcd_Write_String+1 + 5362 0B3F 0840 movf Lcd_Write_String@a+1,w + 5363 0B40 00C1 movwf ??_Lcd_Write_String + 5364 0B41 1803 skipnc + 5365 0B42 0AC1 incf ??_Lcd_Write_String,f + 5366 0B43 1BC4 btfsc Lcd_Write_String@i,7 + 5367 0B44 03C1 decf ??_Lcd_Write_String,f + 5368 0B45 1283 bcf 3,5 ;RP0=0, select bank0 + 5369 0B46 1303 bcf 3,6 ;RP1=0, select bank0 + 5370 0B47 0841 movf ??_Lcd_Write_String,w + 5371 0B48 00C3 movwf ??_Lcd_Write_String+2 + 5372 0B49 0843 movf ??_Lcd_Write_String+2,w + 5373 0B4A 00FF movwf 127 + 5374 0B4B 0842 movf ??_Lcd_Write_String+1,w + 5375 0B4C 0084 movwf 4 + 5376 0B4D 120A 158A 2000 120A 158A fcall stringtab + 5377 0B52 3A00 xorlw 0 + 5378 0B53 1903 btfsc 3,2 + 5379 0B54 0008 return + 5380 + 5381 ;lcd.c: 96: Lcd_Write_Char(a[i]); + 5382 0B55 0844 movf Lcd_Write_String@i,w + 5383 0B56 073F addwf Lcd_Write_String@a,w + 5384 0B57 00C2 movwf ??_Lcd_Write_String+1 + 5385 0B58 0840 movf Lcd_Write_String@a+1,w + 5386 0B59 00C1 movwf ??_Lcd_Write_String + 5387 0B5A 1803 skipnc + 5388 0B5B 0AC1 incf ??_Lcd_Write_String,f + 5389 0B5C 1BC4 btfsc Lcd_Write_String@i,7 + 5390 0B5D 03C1 decf ??_Lcd_Write_String,f + 5391 0B5E 1283 bcf 3,5 ;RP0=0, select bank0 + 5392 0B5F 1303 bcf 3,6 ;RP1=0, select bank0 + 5393 0B60 0841 movf ??_Lcd_Write_String,w + 5394 0B61 00C3 movwf ??_Lcd_Write_String+2 + 5395 0B62 0843 movf ??_Lcd_Write_String+2,w + 5396 0B63 00FF movwf 127 + 5397 0B64 0842 movf ??_Lcd_Write_String+1,w + 5398 0B65 0084 movwf 4 + 5399 0B66 120A 158A 2000 120A 158A fcall stringtab + 5400 0B6B 120A 158A 2284 120A 158A fcall _Lcd_Write_Char + 5401 0B70 3001 movlw 1 + 5402 0B71 1283 bcf 3,5 ;RP0=0, select bank0 + 5403 0B72 1303 bcf 3,6 ;RP1=0, select bank0 + 5404 0B73 07C4 addwf Lcd_Write_String@i,f + 5405 0B74 1803 skipnc + 5406 0B75 0AC5 incf Lcd_Write_String@i+1,f + 5407 0B76 3000 movlw 0 + 5408 0B77 07C5 addwf Lcd_Write_String@i+1,f + 5409 0B78 2B3C goto l2262 + 5410 0B79 __end_of_Lcd_Write_String: + 5411 + 5412 psect text21 + 5413 0C97 __ptext21: + 5414 ;; *************** function _Lcd_Set_Cursor ***************** + 5415 ;; Defined at: + 5416 ;; line 40 in file "lcd.c" + 5417 ;; Parameters: Size Location Type + 5418 ;; a 1 wreg unsigned char + 5419 ;; b 1 6[COMMON] unsigned char + 5420 ;; Auto vars: Size Location Type + 5421 ;; a 1 0[BANK0 ] unsigned char + 5422 ;; temp 1 3[BANK0 ] unsigned char + 5423 ;; y 1 2[BANK0 ] unsigned char + 5424 ;; z 1 1[BANK0 ] unsigned char + 5425 ;; Return value: Size Location Type + 5426 ;; 1 wreg void + 5427 ;; Registers used: + 5428 ;; wreg, status,2, status,0, pclath, cstack + 5429 ;; Tracked objects: + 5430 ;; On entry : 0/0 + 5431 ;; On exit : 0/0 + 5432 ;; Unchanged: 0/0 + 5433 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5434 ;; Params: 1 0 0 0 0 + 5435 ;; Locals: 0 4 0 0 0 + 5436 ;; Temps: 2 0 0 0 0 + 5437 ;; Totals: 3 4 0 0 0 + 5438 ;;Total ram usage: 7 bytes + 5439 ;; Hardware stack levels used: 1 + 5440 ;; Hardware stack levels required when called: 3 + 5441 ;; This function calls: + 5442 ;; _Lcd_Cmd + 5443 ;; This function is called by: + 5444 ;; _main + 5445 ;; _display_Intro + 5446 ;; _display_Lcd_Layout + 5447 ;; _update_Display + 5448 ;; _edit_Date_Time + 5449 ;; This function uses a non-reentrant model + 5450 ;; + 5451 + 5452 + 5453 ;psect for function _Lcd_Set_Cursor + 5454 0C97 _Lcd_Set_Cursor: + 5455 + 5456 ;incstack = 0 + 5457 ; Regs used in _Lcd_Set_Cursor: [wreg+status,2+status,0+pclath+cstack] + 5458 ;Lcd_Set_Cursor@a stored from wreg + 5459 0C97 1283 bcf 3,5 ;RP0=0, select bank0 + 5460 0C98 1303 bcf 3,6 ;RP1=0, select bank0 + 5461 0C99 00A0 movwf Lcd_Set_Cursor@a + 5462 + 5463 ;lcd.c: 41: char temp, z, y;;lcd.c: 42: if (a == 1) { + 5464 0C9A 0320 decf Lcd_Set_Cursor@a,w + 5465 0C9B 1D03 btfss 3,2 + 5466 0C9C 2CC0 goto l2242 + 5467 + 5468 ;lcd.c: 43: temp = 0x80 + b - 1; + 5469 0C9D 0876 movf Lcd_Set_Cursor@b,w + 5470 0C9E 3E7F addlw 127 + 5471 0C9F 00F7 movwf ??_Lcd_Set_Cursor + 5472 0CA0 0877 movf ??_Lcd_Set_Cursor,w + 5473 0CA1 00A3 movwf Lcd_Set_Cursor@temp + 5474 + 5475 ;lcd.c: 44: z = temp >> 4; + 5476 0CA2 0823 movf Lcd_Set_Cursor@temp,w + 5477 0CA3 00F7 movwf ??_Lcd_Set_Cursor + 5478 0CA4 3004 movlw 4 + 5479 0CA5 u1595: + 5480 0CA5 1003 clrc + 5481 0CA6 0CF7 rrf ??_Lcd_Set_Cursor,f + 5482 0CA7 3EFF addlw -1 + 5483 0CA8 1D03 skipz + 5484 0CA9 2CA5 goto u1595 + 5485 0CAA 0877 movf ??_Lcd_Set_Cursor,w + 5486 0CAB 00F8 movwf ??_Lcd_Set_Cursor+1 + 5487 0CAC 0878 movf ??_Lcd_Set_Cursor+1,w + 5488 0CAD 00A1 movwf Lcd_Set_Cursor@z + 5489 + 5490 ;lcd.c: 45: y = temp & 0x0F; + 5491 0CAE 0823 movf Lcd_Set_Cursor@temp,w + 5492 0CAF 390F andlw 15 + 5493 0CB0 00F7 movwf ??_Lcd_Set_Cursor + 5494 0CB1 0877 movf ??_Lcd_Set_Cursor,w + 5495 0CB2 00A2 movwf Lcd_Set_Cursor@y + 5496 + 5497 ;lcd.c: 46: Lcd_Cmd(z); + 5498 0CB3 0821 movf Lcd_Set_Cursor@z,w + 5499 0CB4 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 5500 + 5501 ;lcd.c: 47: Lcd_Cmd(y); + 5502 0CB9 1283 bcf 3,5 ;RP0=0, select bank0 + 5503 0CBA 1303 bcf 3,6 ;RP1=0, select bank0 + 5504 0CBB 0822 movf Lcd_Set_Cursor@y,w + 5505 0CBC 160A 118A 27E6 fcall _Lcd_Cmd + 5506 + 5507 ;lcd.c: 48: } else if (a == 2) { + 5508 0CBF 0008 return + 5509 0CC0 l2242: + 5510 0CC0 3002 movlw 2 + 5511 0CC1 0620 xorwf Lcd_Set_Cursor@a,w + 5512 0CC2 1D03 btfss 3,2 + 5513 0CC3 0008 return + 5514 + 5515 ;lcd.c: 49: temp = 0xC0 + b - 1; + 5516 0CC4 0876 movf Lcd_Set_Cursor@b,w + 5517 0CC5 3EBF addlw 191 + 5518 0CC6 00F7 movwf ??_Lcd_Set_Cursor + 5519 0CC7 0877 movf ??_Lcd_Set_Cursor,w + 5520 0CC8 00A3 movwf Lcd_Set_Cursor@temp + 5521 + 5522 ;lcd.c: 50: z = temp >> 4; + 5523 0CC9 0823 movf Lcd_Set_Cursor@temp,w + 5524 0CCA 00F7 movwf ??_Lcd_Set_Cursor + 5525 0CCB 3004 movlw 4 + 5526 0CCC u1615: + 5527 0CCC 1003 clrc + 5528 0CCD 0CF7 rrf ??_Lcd_Set_Cursor,f + 5529 0CCE 3EFF addlw -1 + 5530 0CCF 1D03 skipz + 5531 0CD0 2CCC goto u1615 + 5532 0CD1 0877 movf ??_Lcd_Set_Cursor,w + 5533 0CD2 00F8 movwf ??_Lcd_Set_Cursor+1 + 5534 0CD3 0878 movf ??_Lcd_Set_Cursor+1,w + 5535 0CD4 00A1 movwf Lcd_Set_Cursor@z + 5536 + 5537 ;lcd.c: 51: y = temp & 0x0F; + 5538 0CD5 0823 movf Lcd_Set_Cursor@temp,w + 5539 0CD6 390F andlw 15 + 5540 0CD7 00F7 movwf ??_Lcd_Set_Cursor + 5541 0CD8 0877 movf ??_Lcd_Set_Cursor,w + 5542 0CD9 00A2 movwf Lcd_Set_Cursor@y + 5543 + 5544 ;lcd.c: 52: Lcd_Cmd(z); + 5545 0CDA 0821 movf Lcd_Set_Cursor@z,w + 5546 0CDB 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 5547 + 5548 ;lcd.c: 53: Lcd_Cmd(y); + 5549 0CE0 1283 bcf 3,5 ;RP0=0, select bank0 + 5550 0CE1 1303 bcf 3,6 ;RP1=0, select bank0 + 5551 0CE2 0822 movf Lcd_Set_Cursor@y,w + 5552 0CE3 160A 118A 27E6 fcall _Lcd_Cmd + 5553 0CE6 0008 return + 5554 0CE7 __end_of_Lcd_Set_Cursor: + 5555 + 5556 psect text22 + 5557 1774 __ptext22: + 5558 ;; *************** function _Lcd_Clear ***************** + 5559 ;; Defined at: + 5560 ;; line 35 in file "lcd.c" + 5561 ;; Parameters: Size Location Type + 5562 ;; None + 5563 ;; Auto vars: Size Location Type + 5564 ;; None + 5565 ;; Return value: Size Location Type + 5566 ;; 1 wreg void + 5567 ;; Registers used: + 5568 ;; wreg, status,2, status,0, pclath, cstack + 5569 ;; Tracked objects: + 5570 ;; On entry : 0/0 + 5571 ;; On exit : 0/0 + 5572 ;; Unchanged: 0/0 + 5573 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5574 ;; Params: 0 0 0 0 0 + 5575 ;; Locals: 0 0 0 0 0 + 5576 ;; Temps: 0 0 0 0 0 + 5577 ;; Totals: 0 0 0 0 0 + 5578 ;;Total ram usage: 0 bytes + 5579 ;; Hardware stack levels used: 1 + 5580 ;; Hardware stack levels required when called: 3 + 5581 ;; This function calls: + 5582 ;; _Lcd_Cmd + 5583 ;; This function is called by: + 5584 ;; _display_Intro + 5585 ;; _display_Lcd_Layout + 5586 ;; This function uses a non-reentrant model + 5587 ;; + 5588 + 5589 + 5590 ;psect for function _Lcd_Clear + 5591 1774 _Lcd_Clear: + 5592 + 5593 ;lcd.c: 36: Lcd_Cmd(0); + 5594 + 5595 ;incstack = 0 + 5596 ; Regs used in _Lcd_Clear: [wreg+status,2+status,0+pclath+cstack] + 5597 1774 3000 movlw 0 + 5598 1775 160A 118A 27E6 160A 118A fcall _Lcd_Cmd + 5599 + 5600 ;lcd.c: 37: Lcd_Cmd(1); + 5601 177A 3001 movlw 1 + 5602 177B 160A 118A 27E6 fcall _Lcd_Cmd + 5603 177E 0008 return + 5604 177F __end_of_Lcd_Clear: + 5605 + 5606 psect text23 + 5607 0F10 __ptext23: + 5608 ;; *************** function _Update_Current_Date_Time ***************** + 5609 ;; Defined at: + 5610 ;; line 103 in file "ds3231.c" + 5611 ;; Parameters: Size Location Type + 5612 ;; None + 5613 ;; Auto vars: Size Location Type + 5614 ;; None + 5615 ;; Return value: Size Location Type + 5616 ;; 1 wreg void + 5617 ;; Registers used: + 5618 ;; wreg, status,2, status,0, pclath, cstack + 5619 ;; Tracked objects: + 5620 ;; On entry : 0/0 + 5621 ;; On exit : 0/0 + 5622 ;; Unchanged: 0/0 + 5623 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5624 ;; Params: 0 0 0 0 0 + 5625 ;; Locals: 0 0 0 0 0 + 5626 ;; Temps: 0 0 0 0 0 + 5627 ;; Totals: 0 0 0 0 0 + 5628 ;;Total ram usage: 0 bytes + 5629 ;; Hardware stack levels used: 1 + 5630 ;; Hardware stack levels required when called: 3 + 5631 ;; This function calls: + 5632 ;; _BCD_2_DEC + 5633 ;; _I2C_Master_Read + 5634 ;; _I2C_Master_Start + 5635 ;; _I2C_Master_Stop + 5636 ;; _I2C_Master_Write + 5637 ;; This function is called by: + 5638 ;; _main + 5639 ;; This function uses a non-reentrant model + 5640 ;; + 5641 + 5642 + 5643 ;psect for function _Update_Current_Date_Time + 5644 0F10 _Update_Current_Date_Time: + 5645 + 5646 ;ds3231.c: 105: I2C_Master_Start(); + 5647 + 5648 ;incstack = 0 + 5649 ; Regs used in _Update_Current_Date_Time: [wreg+status,2+status,0+pclath+cstack] + 5650 0F10 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 5651 + 5652 ;ds3231.c: 106: I2C_Master_Write(0xD0); + 5653 0F15 30D0 movlw 208 + 5654 0F16 1283 bcf 3,5 ;RP0=0, select bank0 + 5655 0F17 1303 bcf 3,6 ;RP1=0, select bank0 + 5656 0F18 00A8 movwf I2C_Master_Write@data + 5657 0F19 3000 movlw 0 + 5658 0F1A 00A9 movwf I2C_Master_Write@data+1 + 5659 0F1B 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5660 + 5661 ;ds3231.c: 107: I2C_Master_Write(0); + 5662 0F20 3000 movlw 0 + 5663 0F21 1283 bcf 3,5 ;RP0=0, select bank0 + 5664 0F22 1303 bcf 3,6 ;RP1=0, select bank0 + 5665 0F23 00A8 movwf I2C_Master_Write@data + 5666 0F24 00A9 movwf I2C_Master_Write@data+1 + 5667 0F25 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5668 + 5669 ;ds3231.c: 108: I2C_Master_Stop(); + 5670 0F2A 160A 118A 2754 120A 158A fcall _I2C_Master_Stop + 5671 + 5672 ;ds3231.c: 111: I2C_Master_Start(); + 5673 0F2F 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 5674 + 5675 ;ds3231.c: 112: I2C_Master_Write(0xD1); + 5676 0F34 30D1 movlw 209 + 5677 0F35 1283 bcf 3,5 ;RP0=0, select bank0 + 5678 0F36 1303 bcf 3,6 ;RP1=0, select bank0 + 5679 0F37 00A8 movwf I2C_Master_Write@data + 5680 0F38 3000 movlw 0 + 5681 0F39 00A9 movwf I2C_Master_Write@data+1 + 5682 0F3A 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5683 + 5684 ;ds3231.c: 113: sec = BCD_2_DEC(I2C_Master_Read(1)); + 5685 0F3F 3001 movlw 1 + 5686 0F40 00F2 movwf I2C_Master_Read@ack + 5687 0F41 3000 movlw 0 + 5688 0F42 00F3 movwf I2C_Master_Read@ack+1 + 5689 0F43 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5690 0F48 0873 movf ?_I2C_Master_Read+1,w + 5691 0F49 00F9 movwf BCD_2_DEC@to_convert+1 + 5692 0F4A 0872 movf ?_I2C_Master_Read,w + 5693 0F4B 00F8 movwf BCD_2_DEC@to_convert + 5694 0F4C 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5695 0F51 0879 movf ?_BCD_2_DEC+1,w + 5696 0F52 1283 bcf 3,5 ;RP0=0, select bank0 + 5697 0F53 1303 bcf 3,6 ;RP1=0, select bank0 + 5698 0F54 00E4 movwf _sec+1 + 5699 0F55 0878 movf ?_BCD_2_DEC,w + 5700 0F56 00E3 movwf _sec + 5701 + 5702 ;ds3231.c: 114: min = BCD_2_DEC(I2C_Master_Read(1)); + 5703 0F57 3001 movlw 1 + 5704 0F58 00F2 movwf I2C_Master_Read@ack + 5705 0F59 3000 movlw 0 + 5706 0F5A 00F3 movwf I2C_Master_Read@ack+1 + 5707 0F5B 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5708 0F60 0873 movf ?_I2C_Master_Read+1,w + 5709 0F61 00F9 movwf BCD_2_DEC@to_convert+1 + 5710 0F62 0872 movf ?_I2C_Master_Read,w + 5711 0F63 00F8 movwf BCD_2_DEC@to_convert + 5712 0F64 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5713 0F69 0879 movf ?_BCD_2_DEC+1,w + 5714 0F6A 1283 bcf 3,5 ;RP0=0, select bank0 + 5715 0F6B 1303 bcf 3,6 ;RP1=0, select bank0 + 5716 0F6C 00E2 movwf _min+1 + 5717 0F6D 0878 movf ?_BCD_2_DEC,w + 5718 0F6E 00E1 movwf _min + 5719 + 5720 ;ds3231.c: 115: hour = BCD_2_DEC(I2C_Master_Read(1)); + 5721 0F6F 3001 movlw 1 + 5722 0F70 00F2 movwf I2C_Master_Read@ack + 5723 0F71 3000 movlw 0 + 5724 0F72 00F3 movwf I2C_Master_Read@ack+1 + 5725 0F73 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5726 0F78 0873 movf ?_I2C_Master_Read+1,w + 5727 0F79 00F9 movwf BCD_2_DEC@to_convert+1 + 5728 0F7A 0872 movf ?_I2C_Master_Read,w + 5729 0F7B 00F8 movwf BCD_2_DEC@to_convert + 5730 0F7C 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5731 0F81 0879 movf ?_BCD_2_DEC+1,w + 5732 0F82 1283 bcf 3,5 ;RP0=0, select bank0 + 5733 0F83 1303 bcf 3,6 ;RP1=0, select bank0 + 5734 0F84 00E0 movwf _hour+1 + 5735 0F85 0878 movf ?_BCD_2_DEC,w + 5736 0F86 00DF movwf _hour + 5737 + 5738 ;ds3231.c: 116: day = I2C_Master_Read(1); + 5739 0F87 3001 movlw 1 + 5740 0F88 00F2 movwf I2C_Master_Read@ack + 5741 0F89 3000 movlw 0 + 5742 0F8A 00F3 movwf I2C_Master_Read@ack+1 + 5743 0F8B 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5744 0F90 0873 movf ?_I2C_Master_Read+1,w + 5745 0F91 1683 bsf 3,5 ;RP0=1, select bank1 + 5746 0F92 1303 bcf 3,6 ;RP1=0, select bank1 + 5747 0F93 00A3 movwf (_day+1)^(0+128) + 5748 0F94 0872 movf ?_I2C_Master_Read,w + 5749 0F95 00A2 movwf _day^(0+128) + 5750 + 5751 ;ds3231.c: 117: date = BCD_2_DEC(I2C_Master_Read(1)); + 5752 0F96 3001 movlw 1 + 5753 0F97 00F2 movwf I2C_Master_Read@ack + 5754 0F98 3000 movlw 0 + 5755 0F99 00F3 movwf I2C_Master_Read@ack+1 + 5756 0F9A 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5757 0F9F 0873 movf ?_I2C_Master_Read+1,w + 5758 0FA0 00F9 movwf BCD_2_DEC@to_convert+1 + 5759 0FA1 0872 movf ?_I2C_Master_Read,w + 5760 0FA2 00F8 movwf BCD_2_DEC@to_convert + 5761 0FA3 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5762 0FA8 0879 movf ?_BCD_2_DEC+1,w + 5763 0FA9 1283 bcf 3,5 ;RP0=0, select bank0 + 5764 0FAA 1303 bcf 3,6 ;RP1=0, select bank0 + 5765 0FAB 00EC movwf _date+1 + 5766 0FAC 0878 movf ?_BCD_2_DEC,w + 5767 0FAD 00EB movwf _date + 5768 + 5769 ;ds3231.c: 118: month = BCD_2_DEC(I2C_Master_Read(1)); + 5770 0FAE 3001 movlw 1 + 5771 0FAF 00F2 movwf I2C_Master_Read@ack + 5772 0FB0 3000 movlw 0 + 5773 0FB1 00F3 movwf I2C_Master_Read@ack+1 + 5774 0FB2 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5775 0FB7 0873 movf ?_I2C_Master_Read+1,w + 5776 0FB8 00F9 movwf BCD_2_DEC@to_convert+1 + 5777 0FB9 0872 movf ?_I2C_Master_Read,w + 5778 0FBA 00F8 movwf BCD_2_DEC@to_convert + 5779 0FBB 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5780 0FC0 0879 movf ?_BCD_2_DEC+1,w + 5781 0FC1 1283 bcf 3,5 ;RP0=0, select bank0 + 5782 0FC2 1303 bcf 3,6 ;RP1=0, select bank0 + 5783 0FC3 00EA movwf _month+1 + 5784 0FC4 0878 movf ?_BCD_2_DEC,w + 5785 0FC5 00E9 movwf _month + 5786 + 5787 ;ds3231.c: 119: year = BCD_2_DEC(I2C_Master_Read(1)); + 5788 0FC6 3001 movlw 1 + 5789 0FC7 00F2 movwf I2C_Master_Read@ack + 5790 0FC8 3000 movlw 0 + 5791 0FC9 00F3 movwf I2C_Master_Read@ack+1 + 5792 0FCA 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5793 0FCF 0873 movf ?_I2C_Master_Read+1,w + 5794 0FD0 00F9 movwf BCD_2_DEC@to_convert+1 + 5795 0FD1 0872 movf ?_I2C_Master_Read,w + 5796 0FD2 00F8 movwf BCD_2_DEC@to_convert + 5797 0FD3 120A 158A 20E0 120A 158A fcall _BCD_2_DEC + 5798 0FD8 0879 movf ?_BCD_2_DEC+1,w + 5799 0FD9 1283 bcf 3,5 ;RP0=0, select bank0 + 5800 0FDA 1303 bcf 3,6 ;RP1=0, select bank0 + 5801 0FDB 00DE movwf _year+1 + 5802 0FDC 0878 movf ?_BCD_2_DEC,w + 5803 0FDD 00DD movwf _year + 5804 + 5805 ;ds3231.c: 120: I2C_Master_Stop(); + 5806 0FDE 160A 118A 2754 120A 158A fcall _I2C_Master_Stop + 5807 + 5808 ;ds3231.c: 124: I2C_Master_Start(); + 5809 0FE3 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 5810 + 5811 ;ds3231.c: 125: I2C_Master_Write(0xD1); + 5812 0FE8 30D1 movlw 209 + 5813 0FE9 1283 bcf 3,5 ;RP0=0, select bank0 + 5814 0FEA 1303 bcf 3,6 ;RP1=0, select bank0 + 5815 0FEB 00A8 movwf I2C_Master_Write@data + 5816 0FEC 3000 movlw 0 + 5817 0FED 00A9 movwf I2C_Master_Write@data+1 + 5818 0FEE 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5819 + 5820 ;ds3231.c: 126: I2C_Master_Read(1); + 5821 0FF3 3001 movlw 1 + 5822 0FF4 00F2 movwf I2C_Master_Read@ack + 5823 0FF5 3000 movlw 0 + 5824 0FF6 00F3 movwf I2C_Master_Read@ack+1 + 5825 0FF7 120A 158A 215B 120A 158A fcall _I2C_Master_Read + 5826 + 5827 ;ds3231.c: 127: I2C_Master_Stop(); + 5828 0FFC 160A 118A 2754 fcall _I2C_Master_Stop + 5829 0FFF 0008 return + 5830 1000 __end_of_Update_Current_Date_Time: + 5831 + 5832 psect text24 + 5833 0907 __ptext24: + 5834 ;; *************** function _Set_Sqwe ***************** + 5835 ;; Defined at: + 5836 ;; line 85 in file "ds3231.c" + 5837 ;; Parameters: Size Location Type + 5838 ;; contvalue 2 10[BANK0 ] int + 5839 ;; Auto vars: Size Location Type + 5840 ;; None + 5841 ;; Return value: Size Location Type + 5842 ;; 1 wreg void + 5843 ;; Registers used: + 5844 ;; wreg, status,2, status,0, pclath, cstack + 5845 ;; Tracked objects: + 5846 ;; On entry : 0/0 + 5847 ;; On exit : 0/0 + 5848 ;; Unchanged: 0/0 + 5849 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5850 ;; Params: 0 2 0 0 0 + 5851 ;; Locals: 0 0 0 0 0 + 5852 ;; Temps: 0 0 0 0 0 + 5853 ;; Totals: 0 2 0 0 0 + 5854 ;;Total ram usage: 2 bytes + 5855 ;; Hardware stack levels used: 1 + 5856 ;; Hardware stack levels required when called: 3 + 5857 ;; This function calls: + 5858 ;; _I2C_Master_Start + 5859 ;; _I2C_Master_Stop + 5860 ;; _I2C_Master_Write + 5861 ;; This function is called by: + 5862 ;; _main + 5863 ;; This function uses a non-reentrant model + 5864 ;; + 5865 + 5866 + 5867 ;psect for function _Set_Sqwe + 5868 0907 _Set_Sqwe: + 5869 + 5870 ;ds3231.c: 86: I2C_Master_Start(); + 5871 + 5872 ;incstack = 0 + 5873 ; Regs used in _Set_Sqwe: [wreg+status,2+status,0+pclath+cstack] + 5874 0907 160A 118A 274D 120A 158A fcall _I2C_Master_Start + 5875 + 5876 ;ds3231.c: 87: I2C_Master_Write(0xD0); + 5877 090C 30D0 movlw 208 + 5878 090D 1283 bcf 3,5 ;RP0=0, select bank0 + 5879 090E 1303 bcf 3,6 ;RP1=0, select bank0 + 5880 090F 00A8 movwf I2C_Master_Write@data + 5881 0910 3000 movlw 0 + 5882 0911 00A9 movwf I2C_Master_Write@data+1 + 5883 0912 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5884 + 5885 ;ds3231.c: 88: I2C_Master_Write(0x0E); + 5886 0917 300E movlw 14 + 5887 0918 1283 bcf 3,5 ;RP0=0, select bank0 + 5888 0919 1303 bcf 3,6 ;RP1=0, select bank0 + 5889 091A 00A8 movwf I2C_Master_Write@data + 5890 091B 3000 movlw 0 + 5891 091C 00A9 movwf I2C_Master_Write@data+1 + 5892 091D 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5893 + 5894 ;ds3231.c: 89: I2C_Master_Write(contvalue); + 5895 0922 1283 bcf 3,5 ;RP0=0, select bank0 + 5896 0923 1303 bcf 3,6 ;RP1=0, select bank0 + 5897 0924 082B movf Set_Sqwe@contvalue+1,w + 5898 0925 00A9 movwf I2C_Master_Write@data+1 + 5899 0926 082A movf Set_Sqwe@contvalue,w + 5900 0927 00A8 movwf I2C_Master_Write@data + 5901 0928 160A 118A 275B 120A 158A fcall _I2C_Master_Write + 5902 + 5903 ;ds3231.c: 90: I2C_Master_Stop(); + 5904 092D 160A 118A 2754 fcall _I2C_Master_Stop + 5905 0930 0008 return + 5906 0931 __end_of_Set_Sqwe: + 5907 + 5908 psect text25 + 5909 06C8 __ptext25: + 5910 ;; *************** function _Read_Alarms_Temp ***************** + 5911 ;; Defined at: + 5912 ;; line 42 in file "ds3231.c" + 5913 ;; Parameters: Size Location Type + 5914 ;; None + 5915 ;; Auto vars: Size Location Type + 5916 ;; None + 5917 ;; Return value: Size Location Type + 5918 ;; 1 wreg void + 5919 ;; Registers used: + 5920 ;; wreg, status,2, status,0, pclath, cstack + 5921 ;; Tracked objects: + 5922 ;; On entry : 0/0 + 5923 ;; On exit : 0/0 + 5924 ;; Unchanged: 0/0 + 5925 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 5926 ;; Params: 0 0 0 0 0 + 5927 ;; Locals: 0 0 0 0 0 + 5928 ;; Temps: 0 0 0 0 0 + 5929 ;; Totals: 0 0 0 0 0 + 5930 ;;Total ram usage: 0 bytes + 5931 ;; Hardware stack levels used: 1 + 5932 ;; Hardware stack levels required when called: 3 + 5933 ;; This function calls: + 5934 ;; _BCD_2_DEC + 5935 ;; _I2C_Master_Read + 5936 ;; _I2C_Master_Repeated_Start + 5937 ;; _I2C_Master_Start + 5938 ;; _I2C_Master_Stop + 5939 ;; _I2C_Master_Write + 5940 ;; This function is called by: + 5941 ;; _main + 5942 ;; This function uses a non-reentrant model + 5943 ;; + 5944 + 5945 + 5946 ;psect for function _Read_Alarms_Temp + 5947 06C8 _Read_Alarms_Temp: + 5948 + 5949 ;ds3231.c: 43: I2C_Master_Start(); + 5950 + 5951 ;incstack = 0 + 5952 ; Regs used in _Read_Alarms_Temp: [wreg+status,2+status,0+pclath+cstack] + 5953 06C8 160A 118A 274D 120A 118A fcall _I2C_Master_Start + 5954 + 5955 ;ds3231.c: 44: I2C_Master_Write(0xD0); + 5956 06CD 30D0 movlw 208 + 5957 06CE 1283 bcf 3,5 ;RP0=0, select bank0 + 5958 06CF 1303 bcf 3,6 ;RP1=0, select bank0 + 5959 06D0 00A8 movwf I2C_Master_Write@data + 5960 06D1 3000 movlw 0 + 5961 06D2 00A9 movwf I2C_Master_Write@data+1 + 5962 06D3 160A 118A 275B 120A 118A fcall _I2C_Master_Write + 5963 + 5964 ;ds3231.c: 45: I2C_Master_Write(0x07); + 5965 06D8 3007 movlw 7 + 5966 06D9 1283 bcf 3,5 ;RP0=0, select bank0 + 5967 06DA 1303 bcf 3,6 ;RP1=0, select bank0 + 5968 06DB 00A8 movwf I2C_Master_Write@data + 5969 06DC 3000 movlw 0 + 5970 06DD 00A9 movwf I2C_Master_Write@data+1 + 5971 06DE 160A 118A 275B 120A 118A fcall _I2C_Master_Write + 5972 + 5973 ;ds3231.c: 46: I2C_Master_Repeated_Start(); + 5974 06E3 160A 118A 2746 120A 118A fcall _I2C_Master_Repeated_Start + 5975 + 5976 ;ds3231.c: 49: I2C_Master_Write(0xD1); + 5977 06E8 30D1 movlw 209 + 5978 06E9 1283 bcf 3,5 ;RP0=0, select bank0 + 5979 06EA 1303 bcf 3,6 ;RP1=0, select bank0 + 5980 06EB 00A8 movwf I2C_Master_Write@data + 5981 06EC 3000 movlw 0 + 5982 06ED 00A9 movwf I2C_Master_Write@data+1 + 5983 06EE 160A 118A 275B 120A 118A fcall _I2C_Master_Write + 5984 + 5985 ;ds3231.c: 50: alarm1_sec = BCD_2_DEC(I2C_Master_Read(1)); + 5986 06F3 3001 movlw 1 + 5987 06F4 00F2 movwf I2C_Master_Read@ack + 5988 06F5 3000 movlw 0 + 5989 06F6 00F3 movwf I2C_Master_Read@ack+1 + 5990 06F7 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 5991 06FC 0873 movf ?_I2C_Master_Read+1,w + 5992 06FD 00F9 movwf BCD_2_DEC@to_convert+1 + 5993 06FE 0872 movf ?_I2C_Master_Read,w + 5994 06FF 00F8 movwf BCD_2_DEC@to_convert + 5995 0700 120A 158A 20E0 120A 118A fcall _BCD_2_DEC + 5996 0705 0879 movf ?_BCD_2_DEC+1,w + 5997 0706 1683 bsf 3,5 ;RP0=1, select bank1 + 5998 0707 1303 bcf 3,6 ;RP1=0, select bank1 + 5999 0708 00CF movwf (_alarm1_sec+1)^(0+128) + 6000 0709 0878 movf ?_BCD_2_DEC,w + 6001 070A 00CE movwf _alarm1_sec^(0+128) + 6002 + 6003 ;ds3231.c: 51: alarm1_min = BCD_2_DEC(I2C_Master_Read(1)); + 6004 070B 3001 movlw 1 + 6005 070C 00F2 movwf I2C_Master_Read@ack + 6006 070D 3000 movlw 0 + 6007 070E 00F3 movwf I2C_Master_Read@ack+1 + 6008 070F 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6009 0714 0873 movf ?_I2C_Master_Read+1,w + 6010 0715 00F9 movwf BCD_2_DEC@to_convert+1 + 6011 0716 0872 movf ?_I2C_Master_Read,w + 6012 0717 00F8 movwf BCD_2_DEC@to_convert + 6013 0718 120A 158A 20E0 120A 118A fcall _BCD_2_DEC + 6014 071D 0879 movf ?_BCD_2_DEC+1,w + 6015 071E 1683 bsf 3,5 ;RP0=1, select bank1 + 6016 071F 1303 bcf 3,6 ;RP1=0, select bank1 + 6017 0720 00CD movwf (_alarm1_min+1)^(0+128) + 6018 0721 0878 movf ?_BCD_2_DEC,w + 6019 0722 00CC movwf _alarm1_min^(0+128) + 6020 + 6021 ;ds3231.c: 52: alarm1_hour = BCD_2_DEC(I2C_Master_Read(1)); + 6022 0723 3001 movlw 1 + 6023 0724 00F2 movwf I2C_Master_Read@ack + 6024 0725 3000 movlw 0 + 6025 0726 00F3 movwf I2C_Master_Read@ack+1 + 6026 0727 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6027 072C 0873 movf ?_I2C_Master_Read+1,w + 6028 072D 00F9 movwf BCD_2_DEC@to_convert+1 + 6029 072E 0872 movf ?_I2C_Master_Read,w + 6030 072F 00F8 movwf BCD_2_DEC@to_convert + 6031 0730 120A 158A 20E0 120A 118A fcall _BCD_2_DEC + 6032 0735 0879 movf ?_BCD_2_DEC+1,w + 6033 0736 1683 bsf 3,5 ;RP0=1, select bank1 + 6034 0737 1303 bcf 3,6 ;RP1=0, select bank1 + 6035 0738 00CB movwf (_alarm1_hour+1)^(0+128) + 6036 0739 0878 movf ?_BCD_2_DEC,w + 6037 073A 00CA movwf _alarm1_hour^(0+128) + 6038 + 6039 ;ds3231.c: 53: I2C_Master_Read(1); + 6040 073B 3001 movlw 1 + 6041 073C 00F2 movwf I2C_Master_Read@ack + 6042 073D 3000 movlw 0 + 6043 073E 00F3 movwf I2C_Master_Read@ack+1 + 6044 073F 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6045 + 6046 ;ds3231.c: 54: alarm2_min = BCD_2_DEC(I2C_Master_Read(1)); + 6047 0744 3001 movlw 1 + 6048 0745 00F2 movwf I2C_Master_Read@ack + 6049 0746 3000 movlw 0 + 6050 0747 00F3 movwf I2C_Master_Read@ack+1 + 6051 0748 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6052 074D 0873 movf ?_I2C_Master_Read+1,w + 6053 074E 00F9 movwf BCD_2_DEC@to_convert+1 + 6054 074F 0872 movf ?_I2C_Master_Read,w + 6055 0750 00F8 movwf BCD_2_DEC@to_convert + 6056 0751 120A 158A 20E0 120A 118A fcall _BCD_2_DEC + 6057 0756 0879 movf ?_BCD_2_DEC+1,w + 6058 0757 1683 bsf 3,5 ;RP0=1, select bank1 + 6059 0758 1303 bcf 3,6 ;RP1=0, select bank1 + 6060 0759 00C9 movwf (_alarm2_min+1)^(0+128) + 6061 075A 0878 movf ?_BCD_2_DEC,w + 6062 075B 00C8 movwf _alarm2_min^(0+128) + 6063 + 6064 ;ds3231.c: 55: alarm2_hour = BCD_2_DEC(I2C_Master_Read(1)); + 6065 075C 3001 movlw 1 + 6066 075D 00F2 movwf I2C_Master_Read@ack + 6067 075E 3000 movlw 0 + 6068 075F 00F3 movwf I2C_Master_Read@ack+1 + 6069 0760 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6070 0765 0873 movf ?_I2C_Master_Read+1,w + 6071 0766 00F9 movwf BCD_2_DEC@to_convert+1 + 6072 0767 0872 movf ?_I2C_Master_Read,w + 6073 0768 00F8 movwf BCD_2_DEC@to_convert + 6074 0769 120A 158A 20E0 120A 118A fcall _BCD_2_DEC + 6075 076E 0879 movf ?_BCD_2_DEC+1,w + 6076 076F 1683 bsf 3,5 ;RP0=1, select bank1 + 6077 0770 1303 bcf 3,6 ;RP1=0, select bank1 + 6078 0771 00C7 movwf (_alarm2_hour+1)^(0+128) + 6079 0772 0878 movf ?_BCD_2_DEC,w + 6080 0773 00C6 movwf _alarm2_hour^(0+128) + 6081 + 6082 ;ds3231.c: 56: I2C_Master_Read(1); + 6083 0774 3001 movlw 1 + 6084 0775 00F2 movwf I2C_Master_Read@ack + 6085 0776 3000 movlw 0 + 6086 0777 00F3 movwf I2C_Master_Read@ack+1 + 6087 0778 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6088 + 6089 ;ds3231.c: 57: control_reg = I2C_Master_Read(1); + 6090 077D 3001 movlw 1 + 6091 077E 00F2 movwf I2C_Master_Read@ack + 6092 077F 3000 movlw 0 + 6093 0780 00F3 movwf I2C_Master_Read@ack+1 + 6094 0781 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6095 0786 0873 movf ?_I2C_Master_Read+1,w + 6096 0787 1283 bcf 3,5 ;RP0=0, select bank0 + 6097 0788 1303 bcf 3,6 ;RP1=0, select bank0 + 6098 0789 00DC movwf _control_reg+1 + 6099 078A 0872 movf ?_I2C_Master_Read,w + 6100 078B 00DB movwf _control_reg + 6101 + 6102 ;ds3231.c: 58: status_reg = I2C_Master_Read(1); + 6103 078C 3001 movlw 1 + 6104 078D 00F2 movwf I2C_Master_Read@ack + 6105 078E 3000 movlw 0 + 6106 078F 00F3 movwf I2C_Master_Read@ack+1 + 6107 0790 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6108 0795 0873 movf ?_I2C_Master_Read+1,w + 6109 0796 1683 bsf 3,5 ;RP0=1, select bank1 + 6110 0797 1303 bcf 3,6 ;RP1=0, select bank1 + 6111 0798 00C5 movwf (_status_reg+1)^(0+128) + 6112 0799 0872 movf ?_I2C_Master_Read,w + 6113 079A 00C4 movwf _status_reg^(0+128) + 6114 + 6115 ;ds3231.c: 59: I2C_Master_Read(1); + 6116 079B 3001 movlw 1 + 6117 079C 00F2 movwf I2C_Master_Read@ack + 6118 079D 3000 movlw 0 + 6119 079E 00F3 movwf I2C_Master_Read@ack+1 + 6120 079F 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6121 + 6122 ;ds3231.c: 61: temperature_msb = I2C_Master_Read(1); + 6123 07A4 3001 movlw 1 + 6124 07A5 00F2 movwf I2C_Master_Read@ack + 6125 07A6 3000 movlw 0 + 6126 07A7 00F3 movwf I2C_Master_Read@ack+1 + 6127 07A8 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6128 07AD 0873 movf ?_I2C_Master_Read+1,w + 6129 07AE 1283 bcf 3,5 ;RP0=0, select bank0 + 6130 07AF 1303 bcf 3,6 ;RP1=0, select bank0 + 6131 07B0 00D8 movwf _temperature_msb+1 + 6132 07B1 0872 movf ?_I2C_Master_Read,w + 6133 07B2 00D7 movwf _temperature_msb + 6134 + 6135 ;ds3231.c: 63: temperature_lsb = I2C_Master_Read(0); + 6136 07B3 3000 movlw 0 + 6137 07B4 00F2 movwf I2C_Master_Read@ack + 6138 07B5 00F3 movwf I2C_Master_Read@ack+1 + 6139 07B6 120A 158A 215B 120A 118A fcall _I2C_Master_Read + 6140 07BB 0873 movf ?_I2C_Master_Read+1,w + 6141 07BC 1283 bcf 3,5 ;RP0=0, select bank0 + 6142 07BD 1303 bcf 3,6 ;RP1=0, select bank0 + 6143 07BE 00DA movwf _temperature_lsb+1 + 6144 07BF 0872 movf ?_I2C_Master_Read,w + 6145 07C0 00D9 movwf _temperature_lsb + 6146 + 6147 ;ds3231.c: 64: I2C_Master_Stop(); + 6148 07C1 160A 118A 2754 fcall _I2C_Master_Stop + 6149 07C4 0008 return + 6150 07C5 __end_of_Read_Alarms_Temp: + 6151 + 6152 psect text26 + 6153 175B __ptext26: + 6154 ;; *************** function _I2C_Master_Write ***************** + 6155 ;; Defined at: + 6156 ;; line 43 in file "i2c.c" + 6157 ;; Parameters: Size Location Type + 6158 ;; data 2 8[BANK0 ] unsigned int + 6159 ;; Auto vars: Size Location Type + 6160 ;; None + 6161 ;; Return value: Size Location Type + 6162 ;; 1 wreg void + 6163 ;; Registers used: + 6164 ;; wreg, status,2, status,0, pclath, cstack + 6165 ;; Tracked objects: + 6166 ;; On entry : 0/0 + 6167 ;; On exit : 0/0 + 6168 ;; Unchanged: 0/0 + 6169 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6170 ;; Params: 0 2 0 0 0 + 6171 ;; Locals: 0 0 0 0 0 + 6172 ;; Temps: 0 0 0 0 0 + 6173 ;; Totals: 0 2 0 0 0 + 6174 ;;Total ram usage: 2 bytes + 6175 ;; Hardware stack levels used: 1 + 6176 ;; Hardware stack levels required when called: 2 + 6177 ;; This function calls: + 6178 ;; _I2C_Master_Wait + 6179 ;; This function is called by: + 6180 ;; _Read_Alarms_Temp + 6181 ;; _Set_Date + 6182 ;; _Set_DayOfWeek + 6183 ;; _Set_Sqwe + 6184 ;; _Set_Time + 6185 ;; _Update_Current_Date_Time + 6186 ;; _Write_Alarms + 6187 ;; This function uses a non-reentrant model + 6188 ;; + 6189 + 6190 + 6191 ;psect for function _I2C_Master_Write + 6192 175B _I2C_Master_Write: + 6193 + 6194 ;i2c.c: 44: I2C_Master_Wait(); + 6195 + 6196 ;incstack = 0 + 6197 ; Regs used in _I2C_Master_Write: [wreg+status,2+status,0+pclath+cstack] + 6198 175B 160A 118A 276B fcall _I2C_Master_Wait + 6199 + 6200 ;i2c.c: 45: SSPBUF = data; + 6201 175E 1283 bcf 3,5 ;RP0=0, select bank0 + 6202 175F 1303 bcf 3,6 ;RP1=0, select bank0 + 6203 1760 0828 movf I2C_Master_Write@data,w + 6204 1761 0093 movwf 19 ;volatile + 6205 1762 0008 return + 6206 1763 __end_of_I2C_Master_Write: + 6207 + 6208 psect text27 + 6209 1754 __ptext27: + 6210 ;; *************** function _I2C_Master_Stop ***************** + 6211 ;; Defined at: + 6212 ;; line 38 in file "i2c.c" + 6213 ;; Parameters: Size Location Type + 6214 ;; None + 6215 ;; Auto vars: Size Location Type + 6216 ;; None + 6217 ;; Return value: Size Location Type + 6218 ;; 1 wreg void + 6219 ;; Registers used: + 6220 ;; wreg, status,2, status,0, pclath, cstack + 6221 ;; Tracked objects: + 6222 ;; On entry : 0/0 + 6223 ;; On exit : 0/0 + 6224 ;; Unchanged: 0/0 + 6225 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6226 ;; Params: 0 0 0 0 0 + 6227 ;; Locals: 0 0 0 0 0 + 6228 ;; Temps: 0 0 0 0 0 + 6229 ;; Totals: 0 0 0 0 0 + 6230 ;;Total ram usage: 0 bytes + 6231 ;; Hardware stack levels used: 1 + 6232 ;; Hardware stack levels required when called: 2 + 6233 ;; This function calls: + 6234 ;; _I2C_Master_Wait + 6235 ;; This function is called by: + 6236 ;; _Read_Alarms_Temp + 6237 ;; _Set_Date + 6238 ;; _Set_DayOfWeek + 6239 ;; _Set_Sqwe + 6240 ;; _Set_Time + 6241 ;; _Update_Current_Date_Time + 6242 ;; _Write_Alarms + 6243 ;; This function uses a non-reentrant model + 6244 ;; + 6245 + 6246 + 6247 ;psect for function _I2C_Master_Stop + 6248 1754 _I2C_Master_Stop: + 6249 + 6250 ;i2c.c: 39: I2C_Master_Wait(); + 6251 + 6252 ;incstack = 0 + 6253 ; Regs used in _I2C_Master_Stop: [wreg+status,2+status,0+pclath+cstack] + 6254 1754 160A 118A 276B fcall _I2C_Master_Wait + 6255 + 6256 ;i2c.c: 40: PEN = 1; + 6257 1757 1683 bsf 3,5 ;RP0=1, select bank1 + 6258 1758 1303 bcf 3,6 ;RP1=0, select bank1 + 6259 1759 1511 bsf 17,2 ;volatile + 6260 175A 0008 return + 6261 175B __end_of_I2C_Master_Stop: + 6262 + 6263 psect text28 + 6264 174D __ptext28: + 6265 ;; *************** function _I2C_Master_Start ***************** + 6266 ;; Defined at: + 6267 ;; line 28 in file "i2c.c" + 6268 ;; Parameters: Size Location Type + 6269 ;; None + 6270 ;; Auto vars: Size Location Type + 6271 ;; None + 6272 ;; Return value: Size Location Type + 6273 ;; 1 wreg void + 6274 ;; Registers used: + 6275 ;; wreg, status,2, status,0, pclath, cstack + 6276 ;; Tracked objects: + 6277 ;; On entry : 0/0 + 6278 ;; On exit : 0/0 + 6279 ;; Unchanged: 0/0 + 6280 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6281 ;; Params: 0 0 0 0 0 + 6282 ;; Locals: 0 0 0 0 0 + 6283 ;; Temps: 0 0 0 0 0 + 6284 ;; Totals: 0 0 0 0 0 + 6285 ;;Total ram usage: 0 bytes + 6286 ;; Hardware stack levels used: 1 + 6287 ;; Hardware stack levels required when called: 2 + 6288 ;; This function calls: + 6289 ;; _I2C_Master_Wait + 6290 ;; This function is called by: + 6291 ;; _Read_Alarms_Temp + 6292 ;; _Set_Date + 6293 ;; _Set_DayOfWeek + 6294 ;; _Set_Sqwe + 6295 ;; _Set_Time + 6296 ;; _Update_Current_Date_Time + 6297 ;; _Write_Alarms + 6298 ;; This function uses a non-reentrant model + 6299 ;; + 6300 + 6301 + 6302 ;psect for function _I2C_Master_Start + 6303 174D _I2C_Master_Start: + 6304 + 6305 ;i2c.c: 29: I2C_Master_Wait(); + 6306 + 6307 ;incstack = 0 + 6308 ; Regs used in _I2C_Master_Start: [wreg+status,2+status,0+pclath+cstack] + 6309 174D 160A 118A 276B fcall _I2C_Master_Wait + 6310 + 6311 ;i2c.c: 30: SEN = 1; + 6312 1750 1683 bsf 3,5 ;RP0=1, select bank1 + 6313 1751 1303 bcf 3,6 ;RP1=0, select bank1 + 6314 1752 1411 bsf 17,0 ;volatile + 6315 1753 0008 return + 6316 1754 __end_of_I2C_Master_Start: + 6317 + 6318 psect text29 + 6319 1746 __ptext29: + 6320 ;; *************** function _I2C_Master_Repeated_Start ***************** + 6321 ;; Defined at: + 6322 ;; line 33 in file "i2c.c" + 6323 ;; Parameters: Size Location Type + 6324 ;; None + 6325 ;; Auto vars: Size Location Type + 6326 ;; None + 6327 ;; Return value: Size Location Type + 6328 ;; 1 wreg void + 6329 ;; Registers used: + 6330 ;; wreg, status,2, status,0, pclath, cstack + 6331 ;; Tracked objects: + 6332 ;; On entry : 0/0 + 6333 ;; On exit : 0/0 + 6334 ;; Unchanged: 0/0 + 6335 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6336 ;; Params: 0 0 0 0 0 + 6337 ;; Locals: 0 0 0 0 0 + 6338 ;; Temps: 0 0 0 0 0 + 6339 ;; Totals: 0 0 0 0 0 + 6340 ;;Total ram usage: 0 bytes + 6341 ;; Hardware stack levels used: 1 + 6342 ;; Hardware stack levels required when called: 2 + 6343 ;; This function calls: + 6344 ;; _I2C_Master_Wait + 6345 ;; This function is called by: + 6346 ;; _Read_Alarms_Temp + 6347 ;; This function uses a non-reentrant model + 6348 ;; + 6349 + 6350 + 6351 ;psect for function _I2C_Master_Repeated_Start + 6352 1746 _I2C_Master_Repeated_Start: + 6353 + 6354 ;i2c.c: 34: I2C_Master_Wait(); + 6355 + 6356 ;incstack = 0 + 6357 ; Regs used in _I2C_Master_Repeated_Start: [wreg+status,2+status,0+pclath+cstack] + 6358 1746 160A 118A 276B fcall _I2C_Master_Wait + 6359 + 6360 ;i2c.c: 35: RSEN = 1; + 6361 1749 1683 bsf 3,5 ;RP0=1, select bank1 + 6362 174A 1303 bcf 3,6 ;RP1=0, select bank1 + 6363 174B 1491 bsf 17,1 ;volatile + 6364 174C 0008 return + 6365 174D __end_of_I2C_Master_Repeated_Start: + 6366 + 6367 psect text30 + 6368 095B __ptext30: + 6369 ;; *************** function _I2C_Master_Read ***************** + 6370 ;; Defined at: + 6371 ;; line 48 in file "i2c.c" + 6372 ;; Parameters: Size Location Type + 6373 ;; ack 2 2[COMMON] unsigned short + 6374 ;; Auto vars: Size Location Type + 6375 ;; incoming 2 6[COMMON] unsigned short + 6376 ;; Return value: Size Location Type + 6377 ;; 2 2[COMMON] unsigned short + 6378 ;; Registers used: + 6379 ;; wreg, status,2, status,0, pclath, cstack + 6380 ;; Tracked objects: + 6381 ;; On entry : 0/0 + 6382 ;; On exit : 0/0 + 6383 ;; Unchanged: 0/0 + 6384 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6385 ;; Params: 2 0 0 0 0 + 6386 ;; Locals: 2 0 0 0 0 + 6387 ;; Temps: 2 0 0 0 0 + 6388 ;; Totals: 6 0 0 0 0 + 6389 ;;Total ram usage: 6 bytes + 6390 ;; Hardware stack levels used: 1 + 6391 ;; Hardware stack levels required when called: 2 + 6392 ;; This function calls: + 6393 ;; _I2C_Master_Wait + 6394 ;; This function is called by: + 6395 ;; _Read_Alarms_Temp + 6396 ;; _Update_Current_Date_Time + 6397 ;; This function uses a non-reentrant model + 6398 ;; + 6399 + 6400 + 6401 ;psect for function _I2C_Master_Read + 6402 095B _I2C_Master_Read: + 6403 + 6404 ;i2c.c: 49: unsigned short incoming;;i2c.c: 50: I2C_Master_Wait(); + 6405 + 6406 ;incstack = 0 + 6407 ; Regs used in _I2C_Master_Read: [wreg+status,2+status,0+pclath+cstack] + 6408 095B 160A 118A 276B 120A 158A fcall _I2C_Master_Wait + 6409 + 6410 ;i2c.c: 51: RCEN = 1; + 6411 0960 1683 bsf 3,5 ;RP0=1, select bank1 + 6412 0961 1303 bcf 3,6 ;RP1=0, select bank1 + 6413 0962 1591 bsf 17,3 ;volatile + 6414 + 6415 ;i2c.c: 53: I2C_Master_Wait(); + 6416 0963 160A 118A 276B 120A 158A fcall _I2C_Master_Wait + 6417 + 6418 ;i2c.c: 54: incoming = SSPBUF; + 6419 0968 1283 bcf 3,5 ;RP0=0, select bank0 + 6420 0969 1303 bcf 3,6 ;RP1=0, select bank0 + 6421 096A 0813 movf 19,w ;volatile + 6422 096B 00F4 movwf ??_I2C_Master_Read + 6423 096C 01F5 clrf ??_I2C_Master_Read+1 + 6424 096D 0874 movf ??_I2C_Master_Read,w + 6425 096E 00F6 movwf I2C_Master_Read@incoming + 6426 096F 0875 movf ??_I2C_Master_Read+1,w + 6427 0970 00F7 movwf I2C_Master_Read@incoming+1 + 6428 + 6429 ;i2c.c: 56: I2C_Master_Wait(); + 6430 0971 160A 118A 276B 120A 158A fcall _I2C_Master_Wait + 6431 + 6432 ;i2c.c: 57: ACKDT = (ack) ? 0 : 1; + 6433 0976 0872 movf I2C_Master_Read@ack,w + 6434 0977 0473 iorwf I2C_Master_Read@ack+1,w + 6435 0978 1D03 btfss 3,2 + 6436 0979 297E goto u1700 + 6437 097A 1683 bsf 3,5 ;RP0=1, select bank1 + 6438 097B 1303 bcf 3,6 ;RP1=0, select bank1 + 6439 097C 1691 bsf 17,5 ;volatile + 6440 097D 2981 goto l2322 + 6441 097E u1700: + 6442 097E 1683 bsf 3,5 ;RP0=1, select bank1 + 6443 097F 1303 bcf 3,6 ;RP1=0, select bank1 + 6444 0980 1291 bcf 17,5 ;volatile + 6445 0981 l2322: + 6446 + 6447 ;i2c.c: 58: ACKEN = 1; + 6448 0981 1611 bsf 17,4 ;volatile + 6449 + 6450 ;i2c.c: 60: return incoming; + 6451 0982 0877 movf I2C_Master_Read@incoming+1,w + 6452 0983 00F3 movwf ?_I2C_Master_Read+1 + 6453 0984 0876 movf I2C_Master_Read@incoming,w + 6454 0985 00F2 movwf ?_I2C_Master_Read + 6455 0986 0008 return + 6456 0987 __end_of_I2C_Master_Read: + 6457 + 6458 psect text31 + 6459 176B __ptext31: + 6460 ;; *************** function _I2C_Master_Wait ***************** + 6461 ;; Defined at: + 6462 ;; line 24 in file "i2c.c" + 6463 ;; Parameters: Size Location Type + 6464 ;; None + 6465 ;; Auto vars: Size Location Type + 6466 ;; None + 6467 ;; Return value: Size Location Type + 6468 ;; 1 wreg void + 6469 ;; Registers used: + 6470 ;; wreg, status,2 + 6471 ;; Tracked objects: + 6472 ;; On entry : 0/0 + 6473 ;; On exit : 0/0 + 6474 ;; Unchanged: 0/0 + 6475 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6476 ;; Params: 0 0 0 0 0 + 6477 ;; Locals: 0 0 0 0 0 + 6478 ;; Temps: 0 0 0 0 0 + 6479 ;; Totals: 0 0 0 0 0 + 6480 ;;Total ram usage: 0 bytes + 6481 ;; Hardware stack levels used: 1 + 6482 ;; Hardware stack levels required when called: 1 + 6483 ;; This function calls: + 6484 ;; Nothing + 6485 ;; This function is called by: + 6486 ;; _I2C_Master_Start + 6487 ;; _I2C_Master_Repeated_Start + 6488 ;; _I2C_Master_Stop + 6489 ;; _I2C_Master_Write + 6490 ;; _I2C_Master_Read + 6491 ;; This function uses a non-reentrant model + 6492 ;; + 6493 + 6494 + 6495 ;psect for function _I2C_Master_Wait + 6496 176B _I2C_Master_Wait: + 6497 176B l2016: + 6498 ;i2c.c: 25: while ((SSPCON2 & 0b00011111) || (SSPSTAT & 0b00000100)); + 6499 + 6500 ;incstack = 0 + 6501 ; Regs used in _I2C_Master_Wait: [wreg+status,2] + 6502 + 6503 176B 1683 bsf 3,5 ;RP0=1, select bank1 + 6504 176C 1303 bcf 3,6 ;RP1=0, select bank1 + 6505 176D 0811 movf 17,w ;volatile + 6506 176E 391F andlw 31 + 6507 176F 1D03 btfss 3,2 + 6508 1770 2F6B goto l2016 + 6509 1771 1D14 btfss 20,2 ;volatile + 6510 1772 0008 return + 6511 1773 2F6B goto l2016 + 6512 1774 __end_of_I2C_Master_Wait: + 6513 + 6514 psect text32 + 6515 08E0 __ptext32: + 6516 ;; *************** function _BCD_2_DEC ***************** + 6517 ;; Defined at: + 6518 ;; line 17 in file "ds3231.c" + 6519 ;; Parameters: Size Location Type + 6520 ;; to_convert 2 8[COMMON] int + 6521 ;; Auto vars: Size Location Type + 6522 ;; None + 6523 ;; Return value: Size Location Type + 6524 ;; 2 8[COMMON] int + 6525 ;; Registers used: + 6526 ;; wreg, status,2, status,0, pclath, cstack + 6527 ;; Tracked objects: + 6528 ;; On entry : 0/0 + 6529 ;; On exit : 0/0 + 6530 ;; Unchanged: 0/0 + 6531 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6532 ;; Params: 2 0 0 0 0 + 6533 ;; Locals: 0 0 0 0 0 + 6534 ;; Temps: 0 2 0 0 0 + 6535 ;; Totals: 2 2 0 0 0 + 6536 ;;Total ram usage: 4 bytes + 6537 ;; Hardware stack levels used: 1 + 6538 ;; Hardware stack levels required when called: 2 + 6539 ;; This function calls: + 6540 ;; ___wmul + 6541 ;; This function is called by: + 6542 ;; _Read_Alarms_Temp + 6543 ;; _Update_Current_Date_Time + 6544 ;; This function uses a non-reentrant model + 6545 ;; + 6546 + 6547 + 6548 ;psect for function _BCD_2_DEC + 6549 08E0 _BCD_2_DEC: + 6550 + 6551 ;ds3231.c: 18: return (to_convert >> 4) * 10 + (to_convert & 0x0F); + 6552 + 6553 ;incstack = 0 + 6554 ; Regs used in _BCD_2_DEC: [wreg+status,2+status,0+pclath+cstack] + 6555 08E0 300F movlw 15 + 6556 08E1 0578 andwf BCD_2_DEC@to_convert,w + 6557 08E2 1283 bcf 3,5 ;RP0=0, select bank0 + 6558 08E3 1303 bcf 3,6 ;RP1=0, select bank0 + 6559 08E4 00A0 movwf ??_BCD_2_DEC + 6560 08E5 3000 movlw 0 + 6561 08E6 0579 andwf BCD_2_DEC@to_convert+1,w + 6562 08E7 00A1 movwf ??_BCD_2_DEC+1 + 6563 08E8 0E78 swapf BCD_2_DEC@to_convert,w + 6564 08E9 390F andlw 15 + 6565 08EA 00F2 movwf ___wmul@multiplier + 6566 08EB 0E79 swapf BCD_2_DEC@to_convert+1,w + 6567 08EC 39F0 andlw 240 + 6568 08ED 04F2 iorwf ___wmul@multiplier,f + 6569 08EE 0E79 swapf BCD_2_DEC@to_convert+1,w + 6570 08EF 390F andlw 15 + 6571 08F0 00F3 movwf ___wmul@multiplier+1 + 6572 08F1 30F0 movlw 240 + 6573 08F2 1DF3 btfss ___wmul@multiplier+1,3 + 6574 08F3 3000 movlw 0 + 6575 08F4 04F3 iorwf ___wmul@multiplier+1,f + 6576 08F5 300A movlw 10 + 6577 08F6 00F4 movwf ___wmul@multiplicand + 6578 08F7 3000 movlw 0 + 6579 08F8 00F5 movwf ___wmul@multiplicand+1 + 6580 08F9 120A 158A 209D fcall ___wmul + 6581 08FC 1283 bcf 3,5 ;RP0=0, select bank0 + 6582 08FD 1303 bcf 3,6 ;RP1=0, select bank0 + 6583 08FE 0820 movf ??_BCD_2_DEC,w + 6584 08FF 0772 addwf ?___wmul,w + 6585 0900 00F8 movwf ?_BCD_2_DEC + 6586 0901 0821 movf ??_BCD_2_DEC+1,w + 6587 0902 1803 skipnc + 6588 0903 0A21 incf ??_BCD_2_DEC+1,w + 6589 0904 0773 addwf ?___wmul+1,w + 6590 0905 00F9 movwf ?_BCD_2_DEC+1 + 6591 0906 0008 return + 6592 0907 __end_of_BCD_2_DEC: + 6593 + 6594 psect text33 + 6595 089D __ptext33: + 6596 ;; *************** function ___wmul ***************** + 6597 ;; Defined at: + 6598 ;; line 15 in file "C:\Program Files (x86)\Microchip\xc8\v2.05\pic\sources\c90\common\Umul16.c" + 6599 ;; Parameters: Size Location Type + 6600 ;; multiplier 2 2[COMMON] unsigned int + 6601 ;; multiplicand 2 4[COMMON] unsigned int + 6602 ;; Auto vars: Size Location Type + 6603 ;; product 2 6[COMMON] unsigned int + 6604 ;; Return value: Size Location Type + 6605 ;; 2 2[COMMON] unsigned int + 6606 ;; Registers used: + 6607 ;; wreg, status,2, status,0 + 6608 ;; Tracked objects: + 6609 ;; On entry : 0/0 + 6610 ;; On exit : 0/0 + 6611 ;; Unchanged: 0/0 + 6612 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6613 ;; Params: 4 0 0 0 0 + 6614 ;; Locals: 2 0 0 0 0 + 6615 ;; Temps: 0 0 0 0 0 + 6616 ;; Totals: 6 0 0 0 0 + 6617 ;;Total ram usage: 6 bytes + 6618 ;; Hardware stack levels used: 1 + 6619 ;; Hardware stack levels required when called: 1 + 6620 ;; This function calls: + 6621 ;; Nothing + 6622 ;; This function is called by: + 6623 ;; _format_Temperature + 6624 ;; _BCD_2_DEC + 6625 ;; _Get_DayOfWeek + 6626 ;; This function uses a non-reentrant model + 6627 ;; + 6628 + 6629 + 6630 ;psect for function ___wmul + 6631 089D ___wmul: + 6632 + 6633 ;incstack = 0 + 6634 ; Regs used in ___wmul: [wreg+status,2+status,0] + 6635 089D 01F6 clrf ___wmul@product + 6636 089E 01F7 clrf ___wmul@product+1 + 6637 089F l2184: + 6638 089F 1C72 btfss ___wmul@multiplier,0 + 6639 08A0 28A7 goto l662 + 6640 08A1 0874 movf ___wmul@multiplicand,w + 6641 08A2 07F6 addwf ___wmul@product,f + 6642 08A3 1803 skipnc + 6643 08A4 0AF7 incf ___wmul@product+1,f + 6644 08A5 0875 movf ___wmul@multiplicand+1,w + 6645 08A6 07F7 addwf ___wmul@product+1,f + 6646 08A7 l662: + 6647 08A7 3001 movlw 1 + 6648 08A8 u1485: + 6649 08A8 1003 clrc + 6650 08A9 0DF4 rlf ___wmul@multiplicand,f + 6651 08AA 0DF5 rlf ___wmul@multiplicand+1,f + 6652 08AB 3EFF addlw -1 + 6653 08AC 1D03 skipz + 6654 08AD 28A8 goto u1485 + 6655 08AE 3001 movlw 1 + 6656 08AF u1495: + 6657 08AF 1003 clrc + 6658 08B0 0CF3 rrf ___wmul@multiplier+1,f + 6659 08B1 0CF2 rrf ___wmul@multiplier,f + 6660 08B2 3EFF addlw -1 + 6661 08B3 1D03 skipz + 6662 08B4 28AF goto u1495 + 6663 08B5 0872 movf ___wmul@multiplier,w + 6664 08B6 0473 iorwf ___wmul@multiplier+1,w + 6665 08B7 1D03 btfss 3,2 + 6666 08B8 289F goto l2184 + 6667 08B9 0877 movf ___wmul@product+1,w + 6668 08BA 00F3 movwf ?___wmul+1 + 6669 08BB 0876 movf ___wmul@product,w + 6670 08BC 00F2 movwf ?___wmul + 6671 08BD 0008 return + 6672 08BE __end_of___wmul: + 6673 + 6674 psect text34 + 6675 0E03 __ptext34: + 6676 ;; *************** function _Lcd_Init ***************** + 6677 ;; Defined at: + 6678 ;; line 57 in file "lcd.c" + 6679 ;; Parameters: Size Location Type + 6680 ;; None + 6681 ;; Auto vars: Size Location Type + 6682 ;; None + 6683 ;; Return value: Size Location Type + 6684 ;; 1 wreg void + 6685 ;; Registers used: + 6686 ;; wreg, status,2, status,0, pclath, cstack + 6687 ;; Tracked objects: + 6688 ;; On entry : 0/0 + 6689 ;; On exit : 0/0 + 6690 ;; Unchanged: 0/0 + 6691 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6692 ;; Params: 0 0 0 0 0 + 6693 ;; Locals: 0 0 0 0 0 + 6694 ;; Temps: 0 2 0 0 0 + 6695 ;; Totals: 0 2 0 0 0 + 6696 ;;Total ram usage: 2 bytes + 6697 ;; Hardware stack levels used: 1 + 6698 ;; Hardware stack levels required when called: 4 + 6699 ;; This function calls: + 6700 ;; _Lcd_Cmd + 6701 ;; _Lcd_Port + 6702 ;; _Vfd_Set_Brightness + 6703 ;; This function is called by: + 6704 ;; _main + 6705 ;; This function uses a non-reentrant model + 6706 ;; + 6707 + 6708 + 6709 ;psect for function _Lcd_Init + 6710 0E03 _Lcd_Init: + 6711 + 6712 ;lcd.c: 58: Lcd_Port(0x00); + 6713 + 6714 ;incstack = 0 + 6715 ; Regs used in _Lcd_Init: [wreg+status,2+status,0+pclath+cstack] + 6716 0E03 3000 movlw 0 + 6717 0E04 160A 118A 27CC 120A 158A fcall _Lcd_Port + 6718 + 6719 ;lcd.c: 59: _delay((unsigned long)((20)*(20000000/4000.0))); + 6720 0E09 3082 movlw 130 + 6721 0E0A 1283 bcf 3,5 ;RP0=0, select bank0 + 6722 0E0B 1303 bcf 3,6 ;RP1=0, select bank0 + 6723 0E0C 00A3 movwf ??_Lcd_Init+1 + 6724 0E0D 30DD movlw 221 + 6725 0E0E 00A2 movwf ??_Lcd_Init + 6726 0E0F u3127: + 6727 0E0F 0BA2 decfsz ??_Lcd_Init,f + 6728 0E10 2E0F goto u3127 + 6729 0E11 0BA3 decfsz ??_Lcd_Init+1,f + 6730 0E12 2E0F goto u3127 + 6731 + 6732 ;lcd.c: 60: Lcd_Cmd(0x03); + 6733 0E13 3003 movlw 3 + 6734 0E14 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6735 + 6736 ;lcd.c: 61: _delay((unsigned long)((5)*(20000000/4000.0))); + 6737 0E19 3021 movlw 33 + 6738 0E1A 1283 bcf 3,5 ;RP0=0, select bank0 + 6739 0E1B 1303 bcf 3,6 ;RP1=0, select bank0 + 6740 0E1C 00A3 movwf ??_Lcd_Init+1 + 6741 0E1D 3075 movlw 117 + 6742 0E1E 00A2 movwf ??_Lcd_Init + 6743 0E1F u3137: + 6744 0E1F 0BA2 decfsz ??_Lcd_Init,f + 6745 0E20 2E1F goto u3137 + 6746 0E21 0BA3 decfsz ??_Lcd_Init+1,f + 6747 0E22 2E1F goto u3137 + 6748 0E23 2E24 nop2 + 6749 + 6750 ;lcd.c: 62: Lcd_Cmd(0x03); + 6751 0E24 3003 movlw 3 + 6752 0E25 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6753 + 6754 ;lcd.c: 63: _delay((unsigned long)((11)*(20000000/4000.0))); + 6755 0E2A 3048 movlw 72 + 6756 0E2B 1283 bcf 3,5 ;RP0=0, select bank0 + 6757 0E2C 1303 bcf 3,6 ;RP1=0, select bank0 + 6758 0E2D 00A3 movwf ??_Lcd_Init+1 + 6759 0E2E 306B movlw 107 + 6760 0E2F 00A2 movwf ??_Lcd_Init + 6761 0E30 u3147: + 6762 0E30 0BA2 decfsz ??_Lcd_Init,f + 6763 0E31 2E30 goto u3147 + 6764 0E32 0BA3 decfsz ??_Lcd_Init+1,f + 6765 0E33 2E30 goto u3147 + 6766 0E34 2E35 nop2 + 6767 + 6768 ;lcd.c: 64: Lcd_Cmd(0x03); + 6769 0E35 3003 movlw 3 + 6770 0E36 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6771 + 6772 ;lcd.c: 66: Lcd_Cmd(0x02); + 6773 0E3B 3002 movlw 2 + 6774 0E3C 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6775 + 6776 ;lcd.c: 68: Vfd_Set_Brightness(0); + 6777 0E41 3000 movlw 0 + 6778 0E42 00F7 movwf Vfd_Set_Brightness@level + 6779 0E43 00F8 movwf Vfd_Set_Brightness@level+1 + 6780 0E44 120A 158A 20BE 120A 158A fcall _Vfd_Set_Brightness + 6781 + 6782 ;lcd.c: 70: Lcd_Cmd(0x02); + 6783 0E49 3002 movlw 2 + 6784 0E4A 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6785 + 6786 ;lcd.c: 71: Lcd_Cmd(0x08); + 6787 0E4F 3008 movlw 8 + 6788 0E50 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6789 + 6790 ;lcd.c: 72: Lcd_Cmd(0x00); + 6791 0E55 3000 movlw 0 + 6792 0E56 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6793 + 6794 ;lcd.c: 73: Lcd_Cmd(0x0C); + 6795 0E5B 300C movlw 12 + 6796 0E5C 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6797 + 6798 ;lcd.c: 74: Lcd_Cmd(0x00); + 6799 0E61 3000 movlw 0 + 6800 0E62 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6801 + 6802 ;lcd.c: 75: Lcd_Cmd(0x06); + 6803 0E67 3006 movlw 6 + 6804 0E68 160A 118A 27E6 fcall _Lcd_Cmd + 6805 0E6B 0008 return + 6806 0E6C __end_of_Lcd_Init: + 6807 + 6808 psect text35 + 6809 08BE __ptext35: + 6810 ;; *************** function _Vfd_Set_Brightness ***************** + 6811 ;; Defined at: + 6812 ;; line 111 in file "lcd.c" + 6813 ;; Parameters: Size Location Type + 6814 ;; level 2 7[COMMON] int + 6815 ;; Auto vars: Size Location Type + 6816 ;; None + 6817 ;; Return value: Size Location Type + 6818 ;; 1 wreg void + 6819 ;; Registers used: + 6820 ;; wreg, status,2, status,0, pclath, cstack + 6821 ;; Tracked objects: + 6822 ;; On entry : 0/0 + 6823 ;; On exit : 0/0 + 6824 ;; Unchanged: 0/0 + 6825 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6826 ;; Params: 2 0 0 0 0 + 6827 ;; Locals: 0 0 0 0 0 + 6828 ;; Temps: 0 2 0 0 0 + 6829 ;; Totals: 2 2 0 0 0 + 6830 ;;Total ram usage: 4 bytes + 6831 ;; Hardware stack levels used: 1 + 6832 ;; Hardware stack levels required when called: 3 + 6833 ;; This function calls: + 6834 ;; _Lcd_Cmd + 6835 ;; _Lcd_Write_Char + 6836 ;; This function is called by: + 6837 ;; _main + 6838 ;; _Lcd_Init + 6839 ;; This function uses a non-reentrant model + 6840 ;; + 6841 + 6842 + 6843 ;psect for function _Vfd_Set_Brightness + 6844 08BE _Vfd_Set_Brightness: + 6845 + 6846 ;lcd.c: 112: Lcd_Cmd(0x03); + 6847 + 6848 ;incstack = 0 + 6849 ; Regs used in _Vfd_Set_Brightness: [wreg+status,2+status,0+pclath+cstack] + 6850 08BE 3003 movlw 3 + 6851 08BF 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6852 + 6853 ;lcd.c: 113: _delay((unsigned long)((11)*(20000000/4000.0))); + 6854 08C4 3048 movlw 72 + 6855 08C5 1283 bcf 3,5 ;RP0=0, select bank0 + 6856 08C6 1303 bcf 3,6 ;RP1=0, select bank0 + 6857 08C7 00A1 movwf ??_Vfd_Set_Brightness+1 + 6858 08C8 306B movlw 107 + 6859 08C9 00A0 movwf ??_Vfd_Set_Brightness + 6860 08CA u3157: + 6861 08CA 0BA0 decfsz ??_Vfd_Set_Brightness,f + 6862 08CB 28CA goto u3157 + 6863 08CC 0BA1 decfsz ??_Vfd_Set_Brightness+1,f + 6864 08CD 28CA goto u3157 + 6865 08CE 28CF nop2 + 6866 + 6867 ;lcd.c: 114: Lcd_Cmd(0x03); + 6868 08CF 3003 movlw 3 + 6869 08D0 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6870 + 6871 ;lcd.c: 116: Lcd_Cmd(0x02); + 6872 08D5 3002 movlw 2 + 6873 08D6 160A 118A 27E6 120A 158A fcall _Lcd_Cmd + 6874 + 6875 ;lcd.c: 117: Lcd_Write_Char(level); + 6876 08DB 0877 movf Vfd_Set_Brightness@level,w + 6877 08DC 120A 158A 2284 fcall _Lcd_Write_Char + 6878 08DF 0008 return + 6879 08E0 __end_of_Vfd_Set_Brightness: + 6880 + 6881 psect text36 + 6882 0A84 __ptext36: + 6883 ;; *************** function _Lcd_Write_Char ***************** + 6884 ;; Defined at: + 6885 ;; line 78 in file "lcd.c" + 6886 ;; Parameters: Size Location Type + 6887 ;; a 1 wreg unsigned char + 6888 ;; Auto vars: Size Location Type + 6889 ;; a 1 6[COMMON] unsigned char + 6890 ;; y 1 5[COMMON] unsigned char + 6891 ;; temp 1 4[COMMON] unsigned char + 6892 ;; Return value: Size Location Type + 6893 ;; 1 wreg void + 6894 ;; Registers used: + 6895 ;; wreg, status,2, status,0, pclath, cstack + 6896 ;; Tracked objects: + 6897 ;; On entry : 0/0 + 6898 ;; On exit : 0/0 + 6899 ;; Unchanged: 0/0 + 6900 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 6901 ;; Params: 0 0 0 0 0 + 6902 ;; Locals: 3 0 0 0 0 + 6903 ;; Temps: 1 0 0 0 0 + 6904 ;; Totals: 4 0 0 0 0 + 6905 ;;Total ram usage: 4 bytes + 6906 ;; Hardware stack levels used: 1 + 6907 ;; Hardware stack levels required when called: 2 + 6908 ;; This function calls: + 6909 ;; _Lcd_Port + 6910 ;; This function is called by: + 6911 ;; _main + 6912 ;; _display_Digit + 6913 ;; _display_Lcd_Layout + 6914 ;; _update_Display + 6915 ;; _edit_Date_Time + 6916 ;; _Lcd_Write_String + 6917 ;; _Vfd_Set_Brightness + 6918 ;; This function uses a non-reentrant model + 6919 ;; + 6920 + 6921 + 6922 ;psect for function _Lcd_Write_Char + 6923 0A84 _Lcd_Write_Char: + 6924 + 6925 ;incstack = 0 + 6926 ; Regs used in _Lcd_Write_Char: [wreg+status,2+status,0+pclath+cstack] + 6927 ;Lcd_Write_Char@a stored from wreg + 6928 0A84 00F6 movwf Lcd_Write_Char@a + 6929 + 6930 ;lcd.c: 79: char temp, y;;lcd.c: 80: temp = a & 0x0F; + 6931 0A85 0876 movf Lcd_Write_Char@a,w + 6932 0A86 390F andlw 15 + 6933 0A87 00F3 movwf ??_Lcd_Write_Char + 6934 0A88 0873 movf ??_Lcd_Write_Char,w + 6935 0A89 00F4 movwf Lcd_Write_Char@temp + 6936 + 6937 ;lcd.c: 81: y = a & 0xF0; + 6938 0A8A 0876 movf Lcd_Write_Char@a,w + 6939 0A8B 39F0 andlw 240 + 6940 0A8C 00F3 movwf ??_Lcd_Write_Char + 6941 0A8D 0873 movf ??_Lcd_Write_Char,w + 6942 0A8E 00F5 movwf Lcd_Write_Char@y + 6943 + 6944 ;lcd.c: 82: RD2 = 1; + 6945 0A8F 1283 bcf 3,5 ;RP0=0, select bank0 + 6946 0A90 1303 bcf 3,6 ;RP1=0, select bank0 + 6947 0A91 1508 bsf 8,2 ;volatile + 6948 + 6949 ;lcd.c: 83: Lcd_Port(y >> 4); + 6950 0A92 0875 movf Lcd_Write_Char@y,w + 6951 0A93 00F3 movwf ??_Lcd_Write_Char + 6952 0A94 3004 movlw 4 + 6953 0A95 u1435: + 6954 0A95 1003 clrc + 6955 0A96 0CF3 rrf ??_Lcd_Write_Char,f + 6956 0A97 3EFF addlw -1 + 6957 0A98 1D03 skipz + 6958 0A99 2A95 goto u1435 + 6959 0A9A 0873 movf ??_Lcd_Write_Char,w + 6960 0A9B 160A 118A 27CC 120A 158A fcall _Lcd_Port + 6961 + 6962 ;lcd.c: 84: RD3 = 1; + 6963 0AA0 1283 bcf 3,5 ;RP0=0, select bank0 + 6964 0AA1 1303 bcf 3,6 ;RP1=0, select bank0 + 6965 0AA2 1588 bsf 8,3 ;volatile + 6966 + 6967 ;lcd.c: 85: _delay((unsigned long)((40)*(20000000/4000000.0))); + 6968 0AA3 3042 movlw 66 + 6969 0AA4 00F3 movwf ??_Lcd_Write_Char + 6970 0AA5 u3167: + 6971 0AA5 0BF3 decfsz ??_Lcd_Write_Char,f + 6972 0AA6 2AA5 goto u3167 + 6973 0AA7 0000 nop + 6974 + 6975 ;lcd.c: 86: RD3 = 0; + 6976 0AA8 1283 bcf 3,5 ;RP0=0, select bank0 + 6977 0AA9 1303 bcf 3,6 ;RP1=0, select bank0 + 6978 0AAA 1188 bcf 8,3 ;volatile + 6979 + 6980 ;lcd.c: 87: Lcd_Port(temp); + 6981 0AAB 0874 movf Lcd_Write_Char@temp,w + 6982 0AAC 160A 118A 27CC 120A 158A fcall _Lcd_Port + 6983 + 6984 ;lcd.c: 88: RD3 = 1; + 6985 0AB1 1283 bcf 3,5 ;RP0=0, select bank0 + 6986 0AB2 1303 bcf 3,6 ;RP1=0, select bank0 + 6987 0AB3 1588 bsf 8,3 ;volatile + 6988 + 6989 ;lcd.c: 89: _delay((unsigned long)((40)*(20000000/4000000.0))); + 6990 0AB4 3042 movlw 66 + 6991 0AB5 00F3 movwf ??_Lcd_Write_Char + 6992 0AB6 u3177: + 6993 0AB6 0BF3 decfsz ??_Lcd_Write_Char,f + 6994 0AB7 2AB6 goto u3177 + 6995 0AB8 0000 nop + 6996 + 6997 ;lcd.c: 90: RD3 = 0; + 6998 0AB9 1283 bcf 3,5 ;RP0=0, select bank0 + 6999 0ABA 1303 bcf 3,6 ;RP1=0, select bank0 + 7000 0ABB 1188 bcf 8,3 ;volatile + 7001 0ABC 0008 return + 7002 0ABD __end_of_Lcd_Write_Char: + 7003 + 7004 psect text37 + 7005 17E6 __ptext37: + 7006 ;; *************** function _Lcd_Cmd ***************** + 7007 ;; Defined at: + 7008 ;; line 27 in file "lcd.c" + 7009 ;; Parameters: Size Location Type + 7010 ;; a 1 wreg unsigned char + 7011 ;; Auto vars: Size Location Type + 7012 ;; a 1 5[COMMON] unsigned char + 7013 ;; Return value: Size Location Type + 7014 ;; 1 wreg void + 7015 ;; Registers used: + 7016 ;; wreg, status,2, status,0, pclath, cstack + 7017 ;; Tracked objects: + 7018 ;; On entry : 0/0 + 7019 ;; On exit : 0/0 + 7020 ;; Unchanged: 0/0 + 7021 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7022 ;; Params: 0 0 0 0 0 + 7023 ;; Locals: 1 0 0 0 0 + 7024 ;; Temps: 2 0 0 0 0 + 7025 ;; Totals: 3 0 0 0 0 + 7026 ;;Total ram usage: 3 bytes + 7027 ;; Hardware stack levels used: 1 + 7028 ;; Hardware stack levels required when called: 2 + 7029 ;; This function calls: + 7030 ;; _Lcd_Port + 7031 ;; This function is called by: + 7032 ;; _Lcd_Clear + 7033 ;; _Lcd_Set_Cursor + 7034 ;; _Lcd_Init + 7035 ;; _Vfd_Set_Brightness + 7036 ;; _Lcd_Shift_Right + 7037 ;; _Lcd_Shift_Left + 7038 ;; This function uses a non-reentrant model + 7039 ;; + 7040 + 7041 + 7042 ;psect for function _Lcd_Cmd + 7043 17E6 _Lcd_Cmd: + 7044 + 7045 ;incstack = 0 + 7046 ; Regs used in _Lcd_Cmd: [wreg+status,2+status,0+pclath+cstack] + 7047 ;Lcd_Cmd@a stored from wreg + 7048 17E6 00F5 movwf Lcd_Cmd@a + 7049 + 7050 ;lcd.c: 28: RD2 = 0; + 7051 17E7 1283 bcf 3,5 ;RP0=0, select bank0 + 7052 17E8 1303 bcf 3,6 ;RP1=0, select bank0 + 7053 17E9 1108 bcf 8,2 ;volatile + 7054 + 7055 ;lcd.c: 29: Lcd_Port(a); + 7056 17EA 0875 movf Lcd_Cmd@a,w + 7057 17EB 160A 118A 27CC 160A 118A fcall _Lcd_Port + 7058 + 7059 ;lcd.c: 30: RD3 = 1; + 7060 17F0 1283 bcf 3,5 ;RP0=0, select bank0 + 7061 17F1 1303 bcf 3,6 ;RP1=0, select bank0 + 7062 17F2 1588 bsf 8,3 ;volatile + 7063 + 7064 ;lcd.c: 31: _delay((unsigned long)((4)*(20000000/4000.0))); + 7065 17F3 301A movlw 26 + 7066 17F4 00F4 movwf ??_Lcd_Cmd+1 + 7067 17F5 30F8 movlw 248 + 7068 17F6 00F3 movwf ??_Lcd_Cmd + 7069 17F7 u3187: + 7070 17F7 0BF3 decfsz ??_Lcd_Cmd,f + 7071 17F8 2FF7 goto u3187 + 7072 17F9 0BF4 decfsz ??_Lcd_Cmd+1,f + 7073 17FA 2FF7 goto u3187 + 7074 17FB 0000 nop + 7075 + 7076 ;lcd.c: 32: RD3 = 0; + 7077 17FC 1283 bcf 3,5 ;RP0=0, select bank0 + 7078 17FD 1303 bcf 3,6 ;RP1=0, select bank0 + 7079 17FE 1188 bcf 8,3 ;volatile + 7080 17FF 0008 return + 7081 1800 __end_of_Lcd_Cmd: + 7082 + 7083 psect text38 + 7084 17CC __ptext38: + 7085 ;; *************** function _Lcd_Port ***************** + 7086 ;; Defined at: + 7087 ;; line 5 in file "lcd.c" + 7088 ;; Parameters: Size Location Type + 7089 ;; a 1 wreg unsigned char + 7090 ;; Auto vars: Size Location Type + 7091 ;; a 1 2[COMMON] unsigned char + 7092 ;; Return value: Size Location Type + 7093 ;; 1 wreg void + 7094 ;; Registers used: + 7095 ;; wreg + 7096 ;; Tracked objects: + 7097 ;; On entry : 0/0 + 7098 ;; On exit : 0/0 + 7099 ;; Unchanged: 0/0 + 7100 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7101 ;; Params: 0 0 0 0 0 + 7102 ;; Locals: 1 0 0 0 0 + 7103 ;; Temps: 0 0 0 0 0 + 7104 ;; Totals: 1 0 0 0 0 + 7105 ;;Total ram usage: 1 bytes + 7106 ;; Hardware stack levels used: 1 + 7107 ;; Hardware stack levels required when called: 1 + 7108 ;; This function calls: + 7109 ;; Nothing + 7110 ;; This function is called by: + 7111 ;; _Lcd_Cmd + 7112 ;; _Lcd_Init + 7113 ;; _Lcd_Write_Char + 7114 ;; This function uses a non-reentrant model + 7115 ;; + 7116 + 7117 + 7118 ;psect for function _Lcd_Port + 7119 17CC _Lcd_Port: + 7120 + 7121 ;incstack = 0 + 7122 ; Regs used in _Lcd_Port: [wreg] + 7123 ;Lcd_Port@a stored from wreg + 7124 17CC 00F2 movwf Lcd_Port@a + 7125 + 7126 ;lcd.c: 6: if (a & 1) + 7127 17CD 1C72 btfss Lcd_Port@a,0 + 7128 17CE 2FD3 goto l265 + 7129 + 7130 ;lcd.c: 7: RD4 = 1; + 7131 17CF 1283 bcf 3,5 ;RP0=0, select bank0 + 7132 17D0 1303 bcf 3,6 ;RP1=0, select bank0 + 7133 17D1 1608 bsf 8,4 ;volatile + 7134 17D2 2FD6 goto l266 + 7135 17D3 l265: + 7136 ;lcd.c: 8: else + 7137 + 7138 + 7139 ;lcd.c: 9: RD4 = 0; + 7140 17D3 1283 bcf 3,5 ;RP0=0, select bank0 + 7141 17D4 1303 bcf 3,6 ;RP1=0, select bank0 + 7142 17D5 1208 bcf 8,4 ;volatile + 7143 17D6 l266: + 7144 + 7145 ;lcd.c: 11: if (a & 2) + 7146 17D6 1CF2 btfss Lcd_Port@a,1 + 7147 17D7 2FDA goto l267 + 7148 + 7149 ;lcd.c: 12: RD5 = 1; + 7150 17D8 1688 bsf 8,5 ;volatile + 7151 17D9 2FDB goto l268 + 7152 17DA l267: + 7153 ;lcd.c: 13: else + 7154 + 7155 + 7156 ;lcd.c: 14: RD5 = 0; + 7157 17DA 1288 bcf 8,5 ;volatile + 7158 17DB l268: + 7159 + 7160 ;lcd.c: 16: if (a & 4) + 7161 17DB 1D72 btfss Lcd_Port@a,2 + 7162 17DC 2FDF goto l269 + 7163 + 7164 ;lcd.c: 17: RD6 = 1; + 7165 17DD 1708 bsf 8,6 ;volatile + 7166 17DE 2FE0 goto l270 + 7167 17DF l269: + 7168 ;lcd.c: 18: else + 7169 + 7170 + 7171 ;lcd.c: 19: RD6 = 0; + 7172 17DF 1308 bcf 8,6 ;volatile + 7173 17E0 l270: + 7174 + 7175 ;lcd.c: 21: if (a & 8) + 7176 17E0 1DF2 btfss Lcd_Port@a,3 + 7177 17E1 2FE4 goto l271 + 7178 + 7179 ;lcd.c: 22: RD7 = 1; + 7180 17E2 1788 bsf 8,7 ;volatile + 7181 17E3 0008 return + 7182 17E4 l271: + 7183 ;lcd.c: 23: else + 7184 + 7185 + 7186 ;lcd.c: 24: RD7 = 0; + 7187 17E4 1388 bcf 8,7 ;volatile + 7188 17E5 0008 return + 7189 17E6 __end_of_Lcd_Port: + 7190 + 7191 psect text39 + 7192 17BA __ptext39: + 7193 ;; *************** function _I2C_Master_Init ***************** + 7194 ;; Defined at: + 7195 ;; line 8 in file "i2c.c" + 7196 ;; Parameters: Size Location Type + 7197 ;; freq_K 4 2[COMMON] const unsigned long + 7198 ;; Auto vars: Size Location Type + 7199 ;; None + 7200 ;; Return value: Size Location Type + 7201 ;; 1 wreg void + 7202 ;; Registers used: + 7203 ;; wreg, status,2 + 7204 ;; Tracked objects: + 7205 ;; On entry : 0/0 + 7206 ;; On exit : 0/0 + 7207 ;; Unchanged: 0/0 + 7208 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7209 ;; Params: 4 0 0 0 0 + 7210 ;; Locals: 0 0 0 0 0 + 7211 ;; Temps: 0 0 0 0 0 + 7212 ;; Totals: 4 0 0 0 0 + 7213 ;;Total ram usage: 4 bytes + 7214 ;; Hardware stack levels used: 1 + 7215 ;; Hardware stack levels required when called: 1 + 7216 ;; This function calls: + 7217 ;; Nothing + 7218 ;; This function is called by: + 7219 ;; _main + 7220 ;; This function uses a non-reentrant model + 7221 ;; + 7222 + 7223 + 7224 ;psect for function _I2C_Master_Init + 7225 17BA _I2C_Master_Init: + 7226 + 7227 ;i2c.c: 8: void I2C_Master_Init(const unsigned long freq_K);i2c.c: 9: {;i2c.c: 10: T + + RISC3 = 1; + 7228 + 7229 ;incstack = 0 + 7230 ; Regs used in _I2C_Master_Init: [wreg+status,2] + 7231 17BA 1683 bsf 3,5 ;RP0=1, select bank1 + 7232 17BB 1303 bcf 3,6 ;RP1=0, select bank1 + 7233 17BC 1587 bsf 7,3 ;volatile + 7234 + 7235 ;i2c.c: 11: TRISC4 = 1; + 7236 17BD 1607 bsf 7,4 ;volatile + 7237 + 7238 ;i2c.c: 13: SSPCON = 0b00101000; + 7239 17BE 3028 movlw 40 + 7240 17BF 1283 bcf 3,5 ;RP0=0, select bank0 + 7241 17C0 1303 bcf 3,6 ;RP1=0, select bank0 + 7242 17C1 0094 movwf 20 ;volatile + 7243 + 7244 ;i2c.c: 14: SSPCON2 = 0b00000000; + 7245 17C2 1683 bsf 3,5 ;RP0=1, select bank1 + 7246 17C3 1303 bcf 3,6 ;RP1=0, select bank1 + 7247 17C4 0191 clrf 17 ;volatile + 7248 + 7249 ;i2c.c: 17: SSPADD = 49; + 7250 17C5 3031 movlw 49 + 7251 17C6 0093 movwf 19 ;volatile + 7252 + 7253 ;i2c.c: 20: SMP = 1; + 7254 17C7 1794 bsf 20,7 ;volatile + 7255 + 7256 ;i2c.c: 21: CKP = 0; + 7257 17C8 1283 bcf 3,5 ;RP0=0, select bank0 + 7258 17C9 1303 bcf 3,6 ;RP1=0, select bank0 + 7259 17CA 1214 bcf 20,4 ;volatile + 7260 17CB 0008 return + 7261 17CC __end_of_I2C_Master_Init: + 7262 + 7263 psect text40 + 7264 085D __ptext40: + 7265 ;; *************** function _Get_Alarm_Status ***************** + 7266 ;; Defined at: + 7267 ;; line 238 in file "main.c" + 7268 ;; Parameters: Size Location Type + 7269 ;; None + 7270 ;; Auto vars: Size Location Type + 7271 ;; None + 7272 ;; Return value: Size Location Type + 7273 ;; 1 wreg void + 7274 ;; Registers used: + 7275 ;; wreg, status,2, status,0 + 7276 ;; Tracked objects: + 7277 ;; On entry : 0/0 + 7278 ;; On exit : 0/0 + 7279 ;; Unchanged: 0/0 + 7280 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7281 ;; Params: 0 0 0 0 0 + 7282 ;; Locals: 0 0 0 0 0 + 7283 ;; Temps: 2 0 0 0 0 + 7284 ;; Totals: 2 0 0 0 0 + 7285 ;;Total ram usage: 2 bytes + 7286 ;; Hardware stack levels used: 1 + 7287 ;; Hardware stack levels required when called: 1 + 7288 ;; This function calls: + 7289 ;; Nothing + 7290 ;; This function is called by: + 7291 ;; _main + 7292 ;; This function uses a non-reentrant model + 7293 ;; + 7294 + 7295 + 7296 ;psect for function _Get_Alarm_Status + 7297 085D _Get_Alarm_Status: + 7298 + 7299 ;main.c: 239: alarm1_status = control_reg & 0x01; + 7300 + 7301 ;incstack = 0 + 7302 ; Regs used in _Get_Alarm_Status: [wreg+status,2+status,0] + 7303 085D 3001 movlw 1 + 7304 085E 1283 bcf 3,5 ;RP0=0, select bank0 + 7305 085F 1303 bcf 3,6 ;RP1=0, select bank0 + 7306 0860 055B andwf _control_reg,w + 7307 0861 1683 bsf 3,5 ;RP0=1, select bank1 + 7308 0862 1303 bcf 3,6 ;RP1=0, select bank1 + 7309 0863 00C2 movwf _alarm1_status^(0+128) + 7310 0864 3000 movlw 0 + 7311 0865 1283 bcf 3,5 ;RP0=0, select bank0 + 7312 0866 1303 bcf 3,6 ;RP1=0, select bank0 + 7313 0867 055C andwf _control_reg+1,w + 7314 0868 1683 bsf 3,5 ;RP0=1, select bank1 + 7315 0869 1303 bcf 3,6 ;RP1=0, select bank1 + 7316 086A 00C3 movwf (_alarm1_status+1)^(0+128) + 7317 + 7318 ;main.c: 240: alarm2_status = (control_reg >> 1) & 0x01; + 7319 086B 1283 bcf 3,5 ;RP0=0, select bank0 + 7320 086C 1303 bcf 3,6 ;RP1=0, select bank0 + 7321 086D 085C movf _control_reg+1,w + 7322 086E 00F3 movwf ??_Get_Alarm_Status+1 + 7323 086F 085B movf _control_reg,w + 7324 0870 00F2 movwf ??_Get_Alarm_Status + 7325 0871 1003 clrc + 7326 0872 0CF3 rrf ??_Get_Alarm_Status+1,f + 7327 0873 0CF2 rrf ??_Get_Alarm_Status,f + 7328 0874 3001 movlw 1 + 7329 0875 0572 andwf ??_Get_Alarm_Status,w + 7330 0876 1683 bsf 3,5 ;RP0=1, select bank1 + 7331 0877 1303 bcf 3,6 ;RP1=0, select bank1 + 7332 0878 00C0 movwf _alarm2_status^(0+128) + 7333 0879 3000 movlw 0 + 7334 087A 0573 andwf ??_Get_Alarm_Status+1,w + 7335 087B 00C1 movwf (_alarm2_status+1)^(0+128) + 7336 087C 0008 return + 7337 087D __end_of_Get_Alarm_Status: + 7338 + 7339 psect text41 + 7340 0840 __ptext41: + 7341 ;; *************** function _Adc_Read ***************** + 7342 ;; Defined at: + 7343 ;; line 25 in file "adc.c" + 7344 ;; Parameters: Size Location Type + 7345 ;; channel 2 2[COMMON] unsigned int + 7346 ;; Auto vars: Size Location Type + 7347 ;; None + 7348 ;; Return value: Size Location Type + 7349 ;; 2 2[COMMON] unsigned int + 7350 ;; Registers used: + 7351 ;; wreg, status,2, status,0 + 7352 ;; Tracked objects: + 7353 ;; On entry : 0/0 + 7354 ;; On exit : 0/0 + 7355 ;; Unchanged: 0/0 + 7356 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7357 ;; Params: 2 0 0 0 0 + 7358 ;; Locals: 0 0 0 0 0 + 7359 ;; Temps: 1 0 0 0 0 + 7360 ;; Totals: 3 0 0 0 0 + 7361 ;;Total ram usage: 3 bytes + 7362 ;; Hardware stack levels used: 1 + 7363 ;; Hardware stack levels required when called: 1 + 7364 ;; This function calls: + 7365 ;; Nothing + 7366 ;; This function is called by: + 7367 ;; _main + 7368 ;; This function uses a non-reentrant model + 7369 ;; + 7370 + 7371 + 7372 ;psect for function _Adc_Read + 7373 0840 _Adc_Read: + 7374 + 7375 ;adc.c: 26: ADCON0bits.CHS = channel; + 7376 + 7377 ;incstack = 0 + 7378 ; Regs used in _Adc_Read: [wreg+status,2+status,0] + 7379 0840 0872 movf Adc_Read@channel,w + 7380 0841 00F4 movwf ??_Adc_Read + 7381 0842 0DF4 rlf ??_Adc_Read,f + 7382 0843 0DF4 rlf ??_Adc_Read,f + 7383 0844 0DF4 rlf ??_Adc_Read,f + 7384 0845 1283 bcf 3,5 ;RP0=0, select bank0 + 7385 0846 1303 bcf 3,6 ;RP1=0, select bank0 + 7386 0847 081F movf 31,w ;volatile + 7387 0848 0674 xorwf ??_Adc_Read,w + 7388 0849 39C7 andlw -57 + 7389 084A 0674 xorwf ??_Adc_Read,w + 7390 084B 009F movwf 31 ;volatile + 7391 + 7392 ;adc.c: 27: ADCON0bits.ADON = 1; + 7393 084C 141F bsf 31,0 ;volatile + 7394 + 7395 ;adc.c: 28: _delay((unsigned long)((5)*(20000000/4000000.0))); + 7396 084D 3008 movlw 8 + 7397 084E 00F4 movwf ??_Adc_Read + 7398 084F u3197: + 7399 084F 0BF4 decfsz ??_Adc_Read,f + 7400 0850 284F goto u3197 + 7401 + 7402 ;adc.c: 29: ADCON0bits.GO_DONE = 1; + 7403 0851 1283 bcf 3,5 ;RP0=0, select bank0 + 7404 0852 1303 bcf 3,6 ;RP1=0, select bank0 + 7405 0853 151F bsf 31,2 ;volatile + 7406 0854 l573: + 7407 ;adc.c: 30: while (ADCON0bits.GO_DONE == 1); + 7408 + 7409 0854 191F btfsc 31,2 ;volatile + 7410 0855 2854 goto l573 + 7411 + 7412 ;adc.c: 31: return ((ADRESH << 8) + ADRESL); + 7413 0856 081E movf 30,w ;volatile + 7414 0857 00F3 movwf ?_Adc_Read+1 + 7415 0858 1683 bsf 3,5 ;RP0=1, select bank1 + 7416 0859 1303 bcf 3,6 ;RP1=0, select bank1 + 7417 085A 081E movf 30,w ;volatile + 7418 085B 00F2 movwf ?_Adc_Read + 7419 085C 0008 return + 7420 085D __end_of_Adc_Read: + 7421 + 7422 psect text42 + 7423 177F __ptext42: + 7424 ;; *************** function _Adc_Init ***************** + 7425 ;; Defined at: + 7426 ;; line 10 in file "adc.c" + 7427 ;; Parameters: Size Location Type + 7428 ;; None + 7429 ;; Auto vars: Size Location Type + 7430 ;; None + 7431 ;; Return value: Size Location Type + 7432 ;; 1 wreg void + 7433 ;; Registers used: + 7434 ;; status,2 + 7435 ;; Tracked objects: + 7436 ;; On entry : 0/0 + 7437 ;; On exit : 0/0 + 7438 ;; Unchanged: 0/0 + 7439 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7440 ;; Params: 0 0 0 0 0 + 7441 ;; Locals: 0 0 0 0 0 + 7442 ;; Temps: 0 0 0 0 0 + 7443 ;; Totals: 0 0 0 0 0 + 7444 ;;Total ram usage: 0 bytes + 7445 ;; Hardware stack levels used: 1 + 7446 ;; Hardware stack levels required when called: 1 + 7447 ;; This function calls: + 7448 ;; Nothing + 7449 ;; This function is called by: + 7450 ;; _main + 7451 ;; This function uses a non-reentrant model + 7452 ;; + 7453 + 7454 + 7455 ;psect for function _Adc_Init + 7456 177F _Adc_Init: + 7457 + 7458 ;adc.c: 11: ADCON0 = 0x00; + 7459 + 7460 ;incstack = 0 + 7461 ; Regs used in _Adc_Init: [status,2] + 7462 177F 1283 bcf 3,5 ;RP0=0, select bank0 + 7463 1780 1303 bcf 3,6 ;RP1=0, select bank0 + 7464 1781 019F clrf 31 ;volatile + 7465 + 7466 ;adc.c: 12: ADCS0 = 0; + 7467 1782 131F bcf 31,6 ;volatile + 7468 + 7469 ;adc.c: 13: ADCS1 = 1; + 7470 1783 179F bsf 31,7 ;volatile + 7471 + 7472 ;adc.c: 16: ADFM = 1; + 7473 1784 1683 bsf 3,5 ;RP0=1, select bank1 + 7474 1785 1303 bcf 3,6 ;RP1=0, select bank1 + 7475 1786 179F bsf 31,7 ;volatile + 7476 + 7477 ;adc.c: 22: PCFG0 = PCFG1 = PCFG2 = 0; + 7478 1787 111F bcf 31,2 ;volatile + 7479 1788 109F bcf 31,1 ;volatile + 7480 1789 101F bcf 31,0 ;volatile + 7481 178A 0008 return + 7482 178B __end_of_Adc_Init: + 7483 + 7484 psect text43 + 7485 1799 __ptext43: + 7486 ;; *************** function _isr ***************** + 7487 ;; Defined at: + 7488 ;; line 592 in file "main.c" + 7489 ;; Parameters: Size Location Type + 7490 ;; None + 7491 ;; Auto vars: Size Location Type + 7492 ;; None + 7493 ;; Return value: Size Location Type + 7494 ;; 1 wreg void + 7495 ;; Registers used: + 7496 ;; wreg + 7497 ;; Tracked objects: + 7498 ;; On entry : 0/0 + 7499 ;; On exit : 0/0 + 7500 ;; Unchanged: 0/0 + 7501 ;; Data sizes: COMMON BANK0 BANK1 BANK3 BANK2 + 7502 ;; Params: 0 0 0 0 0 + 7503 ;; Locals: 0 0 0 0 0 + 7504 ;; Temps: 2 0 0 0 0 + 7505 ;; Totals: 2 0 0 0 0 + 7506 ;;Total ram usage: 2 bytes + 7507 ;; Hardware stack levels used: 1 + 7508 ;; This function calls: + 7509 ;; Nothing + 7510 ;; This function is called by: + 7511 ;; Interrupt level 1 + 7512 ;; This function uses a non-reentrant model + 7513 ;; + 7514 + 7515 + 7516 ;psect for function _isr + 7517 1799 _isr: + 7518 + 7519 ;main.c: 593: if (INTF == 1) { + 7520 1799 1C8B btfss 11,1 ;volatile + 7521 179A 2FA2 goto i1l246 + 7522 + 7523 ;main.c: 594: update = 1; + 7524 179B 3001 movlw 1 + 7525 179C 1683 bsf 3,5 ;RP0=1, select bank1 + 7526 179D 1303 bcf 3,6 ;RP1=0, select bank1 + 7527 179E 00D0 movwf _update^(0+128) + 7528 179F 3000 movlw 0 + 7529 17A0 00D1 movwf (_update^(0+128)+1) + 7530 + 7531 ;main.c: 595: INTF = 0; + 7532 17A1 108B bcf 11,1 ;volatile + 7533 17A2 i1l246: + 7534 17A2 0871 movf ??_isr+1,w + 7535 17A3 008A movwf 10 + 7536 17A4 0E70 swapf ??_isr^(0+4294967168),w + 7537 17A5 0083 movwf 3 + 7538 17A6 0EFE swapf 126,f + 7539 17A7 0E7E swapf 126,w + 7540 17A8 0009 retfie + 7541 17A9 __end_of_isr: + 7542 007E btemp set 126 ;btemp + 7543 007E wtemp0 set 126 + 7544 + 7545 psect intentry + 7546 0004 __pintentry: + 7547 ;incstack = 0 + 7548 ; Regs used in _isr: [wreg] + 7549 + 7550 0004 interrupt_function: + 7551 007E saved_w set btemp + 7552 0004 00FE movwf btemp + 7553 0005 0E03 swapf 3,w + 7554 0006 00F0 movwf ??_isr + 7555 0007 080A movf 10,w + 7556 0008 00F1 movwf ??_isr+1 + 7557 0009 160A 118A 2F99 ljmp _isr Data Sizes: - Strings 92 + Strings 46 Constant 0 - Data 17 - BSS 91 + Data 85 + BSS 38 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 + COMMON 14 10 12 + BANK0 80 55 78 + BANK1 80 3 53 + BANK3 96 0 48 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]), + Lcd_Write_String@a PTR unsigned char size(2) Largest target is 28 + -> dayOfWeek(BANK1[28]), STR_5(CODE[2]), STR_4(CODE[17]), STR_3(CODE[15]), + -> STR_2(CODE[3]), STR_1(CODE[11]), - 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]), + sp__Get_WeekDay PTR unsigned char size(1) Largest target is 28 + -> dayOfWeek(BANK1[28]), 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 + _format_Temperature->___wmul + _display_Digit->___lwmod + _DEC_2_BCD->___awmod + _Get_Days_In_Month->___lwmod + _Get_Is_Leap_Year->___lwmod + _Get_DayOfWeek->___lwmod + ___lwmod->___lwdiv + ___lwdiv->___wmul _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_Init->_Vfd_Set_Brightness + _Vfd_Set_Brightness->_Lcd_Write_Char + _Lcd_Write_Char->_Lcd_Port _Lcd_Cmd->_Lcd_Port - _I2C_Master_Init->___lldiv - ___lldiv->___lmul + +Critical Paths under _isr in COMMON + + None. Critical Paths under _main in BANK0 - _main->_I2C_Master_Init - _I2C_Master_Init->___lldiv + _main->_edit_Date_Time + _update_Display->_Lcd_Write_String + _edit_Date_Time->_Lcd_Write_String + _display_Digit->___lwmod + _Set_Time->_I2C_Master_Write + _Set_DayOfWeek->_Get_DayOfWeek + _Set_Date->_I2C_Master_Write + _DEC_2_BCD->___awdiv + _Get_WeekDay->_Get_DayOfWeek + _Get_Days_In_Month->_Get_Is_Leap_Year + _Get_Is_Leap_Year->___lwmod + _Get_DayOfWeek->___lwmod + ___lwmod->___lwdiv + _display_Lcd_Layout->_Lcd_Write_String + _display_Intro->_Lcd_Write_String + _Lcd_Write_String->_Get_WeekDay + _Update_Current_Date_Time->_I2C_Master_Write + _Set_Sqwe->_I2C_Master_Write + _Read_Alarms_Temp->_I2C_Master_Write + _I2C_Master_Write->_DEC_2_BCD + _Lcd_Init->_Vfd_Set_Brightness + +Critical Paths under _isr in BANK0 + + None. Critical Paths under _main in BANK1 None. +Critical Paths under _isr in BANK1 + + None. + Critical Paths under _main in BANK3 None. +Critical Paths under _isr in BANK3 + + None. + Critical Paths under _main in BANK2 None. +Critical Paths under _isr in BANK2 + + None. + Call Graph Tables: --------------------------------------------------------------------------------- (Depth) Function Calls Base Space Used Autos Params Refs --------------------------------------------------------------------------------- - (0) _main 0 0 0 25347 + (0) _main 3 3 0 69007 + 0 BANK1 3 3 0 + _Adc_Init + _Adc_Read _Get_Alarm_Status _I2C_Master_Init _Lcd_Init + _Lcd_Set_Cursor + _Lcd_Write_Char _Read_Alarms_Temp + _Set_Sqwe _Update_Current_Date_Time + _Vfd_Set_Brightness _display_Intro _display_Lcd_Layout - _format_DateTimeChars + _edit_Date_Time _format_Temperature - _getWeekDay _update_Display --------------------------------------------------------------------------------- - (1) _update_Display 1 1 0 2438 - 11 COMMON 1 1 0 + (1) _update_Display 1 1 0 10646 + 38 BANK0 1 1 0 + _Get_WeekDay _Lcd_Set_Cursor _Lcd_Write_Char _Lcd_Write_String + ___lwdiv _alarm + _display_Digit --------------------------------------------------------------------------------- - (2) _alarm 9 7 2 244 - 0 COMMON 9 7 2 + (2) _alarm 9 7 2 316 + 2 COMMON 5 3 2 + 0 BANK0 4 4 0 --------------------------------------------------------------------------------- - (1) _getWeekDay 2 0 2 98 - 0 COMMON 2 0 2 + (1) _format_Temperature 1 1 0 700 + 8 COMMON 1 1 0 + ___wmul --------------------------------------------------------------------------------- - (1) _format_Temperature 1 1 0 1752 - 9 COMMON 1 1 0 + (1) _edit_Date_Time 17 17 0 28337 + 38 BANK0 17 17 0 + _Get_DayOfWeek + _Get_Days_In_Month + _Get_WeekDay + _Lcd_Set_Cursor + _Lcd_Write_Char + _Lcd_Write_String + _Set_Date + _Set_DayOfWeek + _Set_Time + _display_Digit + --------------------------------------------------------------------------------- + (2) _display_Digit 2 0 2 4313 + 12 BANK0 2 0 2 + _Lcd_Write_Char + ___lwdiv + ___lwmod + --------------------------------------------------------------------------------- + (2) _Set_Time 0 0 0 4641 + _DEC_2_BCD + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (2) _Set_DayOfWeek 2 0 2 2704 + 28 BANK0 2 0 2 + _Get_DayOfWeek (ARG) + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (2) _Set_Date 0 0 0 4641 + _DEC_2_BCD + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (3) _DEC_2_BCD 4 2 2 2035 + 4 BANK0 4 2 2 ___awdiv ___awmod - ___wmul --------------------------------------------------------------------------------- - (2) ___awmod 7 3 4 600 - 0 COMMON 7 3 4 + (4) ___awmod 7 3 4 448 + 2 COMMON 7 3 4 --------------------------------------------------------------------------------- - (2) ___awdiv 9 5 4 604 - 0 COMMON 9 5 4 + (4) ___awdiv 9 5 4 625 + 2 COMMON 5 1 4 + 0 BANK0 4 4 0 --------------------------------------------------------------------------------- - (1) _format_DateTimeChars 1 1 0 3665 - 8 COMMON 1 1 0 + (2) _Get_WeekDay 3 1 2 250 + 28 BANK0 3 1 2 + _Get_DayOfWeek (ARG) + --------------------------------------------------------------------------------- + (2) _Get_Days_In_Month 7 3 4 2844 + 17 BANK0 7 3 4 + _Get_Is_Leap_Year + ___lwmod + --------------------------------------------------------------------------------- + (3) _Get_Is_Leap_Year 5 3 2 1259 + 12 BANK0 5 3 2 + ___lwmod + --------------------------------------------------------------------------------- + (2) _Get_DayOfWeek 16 10 6 4040 + 12 BANK0 16 10 6 ___lwdiv ___lwmod + ___wmul --------------------------------------------------------------------------------- - (2) ___lwmod 6 2 4 1831 - 0 COMMON 6 2 4 + (3) ___lwmod 6 2 4 1132 + 9 COMMON 1 1 0 + 7 BANK0 5 1 4 + ___lwdiv (ARG) + ___wmul (ARG) --------------------------------------------------------------------------------- - (2) ___lwdiv 8 4 4 1834 - 0 COMMON 8 4 4 + (3) ___lwdiv 8 4 4 1141 + 8 COMMON 1 1 0 + 0 BANK0 7 3 4 + ___wmul (ARG) --------------------------------------------------------------------------------- - (1) _display_Lcd_Layout 3 3 0 2304 - 11 COMMON 3 3 0 + (1) _display_Lcd_Layout 3 3 0 4736 + 38 BANK0 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 + (1) _display_Intro 3 3 0 4558 + 38 BANK0 3 3 0 _Lcd_Clear _Lcd_Set_Cursor _Lcd_Write_String --------------------------------------------------------------------------------- - (2) _Lcd_Write_String 4 2 2 648 - 5 COMMON 4 2 2 + (2) _Lcd_Write_String 7 5 2 876 + 31 BANK0 7 5 2 + _Get_DayOfWeek (ARG) + _Get_WeekDay (ARG) _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 + (2) _Lcd_Set_Cursor 7 6 1 3572 + 6 COMMON 3 2 1 + 0 BANK0 4 4 0 _Lcd_Cmd --------------------------------------------------------------------------------- (2) _Lcd_Clear 0 0 0 110 _Lcd_Cmd --------------------------------------------------------------------------------- - (1) _Update_Current_Date_Time 0 0 0 6055 + (1) _Update_Current_Date_Time 0 0 0 5923 _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 + (1) _Set_Sqwe 2 0 2 2704 + 10 BANK0 2 0 2 + _I2C_Master_Start + _I2C_Master_Stop + _I2C_Master_Write + --------------------------------------------------------------------------------- + (1) _Read_Alarms_Temp 0 0 0 5923 _BCD_2_DEC _I2C_Master_Read _I2C_Master_Repeated_Start @@ -5587,76 +7849,100 @@ Call Graph Tables: _I2C_Master_Stop _I2C_Master_Write --------------------------------------------------------------------------------- - (2) _I2C_Master_Write 2 0 2 3062 - 0 COMMON 2 0 2 + (3) _I2C_Master_Write 2 0 2 2606 + 8 BANK0 2 0 2 + _DEC_2_BCD (ARG) _I2C_Master_Wait --------------------------------------------------------------------------------- - (2) _I2C_Master_Stop 0 0 0 0 + (3) _I2C_Master_Stop 0 0 0 0 _I2C_Master_Wait --------------------------------------------------------------------------------- - (2) _I2C_Master_Start 0 0 0 0 + (3) _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 + 2 COMMON 6 4 2 _I2C_Master_Wait --------------------------------------------------------------------------------- - (3) _I2C_Master_Wait 0 0 0 0 + (4) _I2C_Master_Wait 0 0 0 0 --------------------------------------------------------------------------------- - (2) _BCD_2_DEC 4 2 2 1428 - 6 COMMON 4 2 2 + (2) _BCD_2_DEC 4 2 2 1752 + 8 COMMON 2 0 2 + 0 BANK0 2 2 0 _I2C_Master_Read (ARG) ___wmul --------------------------------------------------------------------------------- - (2) ___wmul 6 2 4 548 - 0 COMMON 6 2 4 + (2) ___wmul 6 2 4 700 + 2 COMMON 6 2 4 --------------------------------------------------------------------------------- - (1) _Lcd_Init 2 2 0 198 - 4 COMMON 2 2 0 + (1) _Lcd_Init 2 2 0 877 + 2 BANK0 2 2 0 _Lcd_Cmd _Lcd_Port + _Vfd_Set_Brightness + --------------------------------------------------------------------------------- + (1) _Vfd_Set_Brightness 4 2 2 679 + 7 COMMON 2 0 2 + 0 BANK0 2 2 0 + _Lcd_Cmd + _Lcd_Write_Char + --------------------------------------------------------------------------------- + (3) _Lcd_Write_Char 4 4 0 178 + 3 COMMON 4 4 0 + _Lcd_Port --------------------------------------------------------------------------------- (3) _Lcd_Cmd 3 3 0 110 - 1 COMMON 3 3 0 + 3 COMMON 3 3 0 _Lcd_Port --------------------------------------------------------------------------------- (4) _Lcd_Port 1 1 0 88 - 0 COMMON 1 1 0 + 2 COMMON 1 1 0 --------------------------------------------------------------------------------- - (1) _I2C_Master_Init 8 4 4 656 - 13 BANK0 8 4 4 - ___lldiv - ___lmul + (1) _I2C_Master_Init 4 0 4 76 + 2 COMMON 4 0 4 --------------------------------------------------------------------------------- - (2) ___lmul 13 5 8 244 - 0 COMMON 13 5 8 + (1) _Get_Alarm_Status 2 2 0 0 + 2 COMMON 2 2 0 --------------------------------------------------------------------------------- - (2) ___lldiv 14 6 8 314 - 13 COMMON 1 1 0 - 0 BANK0 13 5 8 - ___lmul (ARG) + (1) _Adc_Read 3 1 2 98 + 2 COMMON 3 1 2 --------------------------------------------------------------------------------- - (1) _Get_Alarm_Status 2 2 0 0 - 0 COMMON 2 2 0 + (1) _Adc_Init 0 0 0 0 --------------------------------------------------------------------------------- Estimated maximum stack depth 4 --------------------------------------------------------------------------------- + (Depth) Function Calls Base Space Used Autos Params Refs + --------------------------------------------------------------------------------- + (5) _isr 2 2 0 0 + 0 COMMON 2 2 0 + --------------------------------------------------------------------------------- + Estimated maximum stack depth 5 + --------------------------------------------------------------------------------- Call Graph Graphs: _main (ROOT) + _Adc_Init + _Adc_Read _Get_Alarm_Status _I2C_Master_Init - ___lldiv - ___lmul (ARG) - ___lmul _Lcd_Init _Lcd_Cmd _Lcd_Port _Lcd_Port + _Vfd_Set_Brightness + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port + _Lcd_Set_Cursor + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port _Read_Alarms_Temp _BCD_2_DEC _I2C_Master_Read (ARG) @@ -5671,7 +7957,20 @@ Call Graph Tables: _I2C_Master_Stop _I2C_Master_Wait _I2C_Master_Write + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) + _Set_Sqwe + _I2C_Master_Start _I2C_Master_Wait + _I2C_Master_Stop + _I2C_Master_Wait + _I2C_Master_Write + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) _Update_Current_Date_Time _BCD_2_DEC _I2C_Master_Read (ARG) @@ -5679,14 +7978,20 @@ Call Graph Tables: ___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 + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) + _Vfd_Set_Brightness + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port _display_Intro _Lcd_Clear _Lcd_Cmd @@ -5695,7 +8000,24 @@ Call Graph Tables: _Lcd_Cmd _Lcd_Port _Lcd_Write_String - _Lcd_Write_Char + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Get_WeekDay (ARG) + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Lcd_Write_Char (ARG) _Lcd_Port _display_Lcd_Layout _Lcd_Clear @@ -5707,30 +8029,186 @@ Call Graph Tables: _Lcd_Write_Char _Lcd_Port _Lcd_Write_String + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Get_WeekDay (ARG) + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Lcd_Write_Char (ARG) + _Lcd_Port + _edit_Date_Time + _Get_DayOfWeek + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Get_Days_In_Month + _Get_Is_Leap_Year + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + _Get_WeekDay + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Lcd_Set_Cursor + _Lcd_Cmd + _Lcd_Port + _Lcd_Write_Char + _Lcd_Port + _Lcd_Write_String + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Get_WeekDay (ARG) + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Lcd_Write_Char (ARG) + _Lcd_Port + _Set_Date + _DEC_2_BCD + ___awdiv + ___awmod + _I2C_Master_Start + _I2C_Master_Wait + _I2C_Master_Stop + _I2C_Master_Wait + _I2C_Master_Write + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) + _Set_DayOfWeek + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _I2C_Master_Start (ARG) + _I2C_Master_Wait + _I2C_Master_Stop (ARG) + _I2C_Master_Wait + _I2C_Master_Write (ARG) + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) + _Set_Time + _DEC_2_BCD + ___awdiv + ___awmod + _I2C_Master_Start + _I2C_Master_Wait + _I2C_Master_Stop + _I2C_Master_Wait + _I2C_Master_Write + _DEC_2_BCD (ARG) + ___awdiv + ___awmod + _I2C_Master_Wait (ARG) + _display_Digit _Lcd_Write_Char _Lcd_Port - _format_DateTimeChars - ___lwdiv - ___lwmod + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) _format_Temperature - ___awdiv - ___awmod ___wmul - _getWeekDay _update_Display + _Get_WeekDay + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul _Lcd_Set_Cursor _Lcd_Cmd _Lcd_Port _Lcd_Write_Char _Lcd_Port _Lcd_Write_String - _Lcd_Write_Char + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Get_WeekDay (ARG) + _Get_DayOfWeek (ARG) + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + ___wmul + _Lcd_Write_Char (ARG) _Lcd_Port + ___lwdiv + ___wmul (ARG) _alarm + _display_Digit + _Lcd_Write_Char + _Lcd_Port + ___lwdiv + ___wmul (ARG) + ___lwmod + ___lwdiv (ARG) + ___wmul (ARG) + ___wmul (ARG) + + _isr (ROOT) Address spaces: Name Size Autos Total Cost Usage -BANK3 60 0 0 9 0.0% +BANK3 60 0 30 9 50.0% BITBANK3 60 0 0 8 0.0% SFR3 0 0 0 4 0.0% BITSFR3 0 0 0 4 0.0% @@ -5738,267 +8216,329 @@ 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% +BANK1 50 3 35 7 66.3% 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% +BANK0 50 37 4E 5 97.5% 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% +COMMON E A C 1 85.7% 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% +DATA 0 0 BF 12 0.0% +ABS 0 0 BF 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 22:33:52 2019 +Symbol Table Tue Aug 13 21:28:15 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 + pc 0002 __CFG_CP$OFF 0000 + ___awdiv@sign 0021 __size_of_DEC_2_BCD 0034 + fsr 0004 ___wmul@multiplicand 0074 + l224 0391 l216 031B + l208 0290 l181 00E1 + l270 17E0 l190 0155 + l271 17E4 l265 17D3 + l266 17D6 l267 17DA + l268 17DB l188 03D7 + l540 0C07 l269 17DF + l198 01B4 l542 0C11 + l573 0854 l662 08A7 + _CKP 00A4 _GIE 005F + _RB2 0032 _RB4 0034 + _RB5 0035 _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 + __size_of_edit_Date_Time 0427 _RD6 0046 + _RD7 0047 _PEN 048A + __CFG_CPD$OFF 0000 _SEN 0488 + _RX9 00C6 _SMP 04A7 + _TX9 04C6 _day 00A2 + _ldr 007A _min 0061 + _sec 0063 _isr 1799 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 + ___awmod@sign 0078 __CFG_FOSC$HS 0000 + ?_display_Digit 002C ?_display_Intro 0070 + __CFG_LVP$OFF 0000 __end_of_update_Display 05A0 + l2016 176B l3004 0077 + l3006 009A l2072 0C56 + l3120 02C6 l3104 0240 + l3016 00C7 l2400 0A67 + l2322 0981 l2242 0CC0 + l2090 0C7F l3130 02CD + l3106 0246 l3034 010C + l3018 00CD l2084 0C63 + l2076 0C5D l3140 02FF + l3044 0139 l3028 0105 + l2262 0B3C l2086 0C71 + l2094 0C8A l3310 03C3 + l3142 0305 l3062 0180 + l3046 013F l2184 089F + l3152 0341 l3072 01AD + l3056 0179 l2098 0C92 + l3218 044C l3170 037B + l3250 05F1 l3180 03B5 + l3260 0646 l3158 0348 + l3094 01FC l3086 01D8 + l3262 0668 l3168 0375 + l3088 01DE l3192 03F1 + l3196 03FC l3188 03BC + l3268 067F l2822 0D3D + l2814 0D2A l2806 0D06 + l2840 0A0A l2808 0D14 + l2834 09EE l2930 0E84 + l2922 07ED l2818 0D35 + l2836 09FC l2844 0A15 + l2932 0E90 l2780 0AF0 + l2860 0AF2 l2790 0CF3 + l2882 0B28 l2874 0B04 + l2876 0B12 l2796 0CFE + l2886 0B33 l2978 058D + _ADFM 04FF ?_isr 0070 + STR_1 0830 STR_2 083B + STR_3 0821 STR_4 0810 + STR_5 081F _BRGH 04C2 + _CREN 00C4 __end_of_Get_WeekDay 1799 + u1315 0C66 u1335 0C77 + u3007 015F u2305 09F1 + u2225 0D09 u1345 0C80 + u3017 019C u1435 0A95 + u3107 0BFB u3027 01BE + u1700 097E u3117 0BB4 + u2325 0A02 u2245 0D15 + u3037 0218 u3127 0E0F + u1615 0CCC u2415 0B13 + u2335 0A0B u2255 0D21 + u3047 029A u3137 0E1F + u2425 0B1F u2265 0D2B + u3057 02E9 u3147 0E30 + u2435 0B29 u3067 0325 + u3157 08CA u1485 08A8 + u3077 0364 u3167 0AA5 + u1495 08AF u1655 1790 + u3087 039B u1735 0A6C + u2455 0C34 u3177 0AB6 + u3097 03E3 u2705 02BF + u2465 0C0D u3187 17F7 + u1595 0CA5 u2395 0B07 + u3197 084F u2835 0422 + u2915 06A2 u2845 042A + _INTE 005C _INTF 0059 + u2855 0432 u2927 063E + u2865 043A u2937 0674 + u2875 0442 u2947 0C18 + _RCEN 048B _RCIF 0065 + u2885 044A u2957 0C21 + u2967 0C3C u2977 00B6 + u2987 00EB u2997 0128 + _OERR 00C1 _SPEN 00C7 + _RSEN 0489 _TXEN 04C5 + _TXIF 0064 _SYNC 04C4 + __CFG_WRT$OFF 0000 ?_Lcd_Write_String 003F + _date 006B _main 05A0 + _hour 005F _year 005D + btemp 007E __CFG_BOREN$ON 0000 + start 000C ??_Lcd_Write_String 0041 + __end_of_Lcd_Cmd 1800 ??_isr 0070 + I2C_Master_Init@freq_K 0072 __end_of_Get_Is_Leap_Year 0AFA + ?_I2C_Master_Init 0072 ?_I2C_Master_Read 0072 + ?_I2C_Master_Wait 0070 ?_I2C_Master_Stop 0070 + _ADCS0 00FE _ADCS1 00FF + ?_main 0070 _ACKEN 048C + _ACKDT 048D __end_of___awdiv 0D42 + __CFG_WDTE$OFF 0000 __end_of___awmod 0C97 + ___awdiv@divisor 0072 _PCFG0 04F8 + _PCFG1 04F9 _PCFG2 04FA + __end_of___lwdiv 0B38 i1l246 17A2 + __end_of___lwmod 0A1A ___awdiv@counter 0020 _RCREG 001A _SPBRG 0099 _PORTC 0007 _PORTD 0008 - __size_of_Lcd_Set_Cursor 004A _TRISC 0087 + __size_of_Lcd_Set_Cursor 0050 _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 - _dayOfWeek 00D0 _I2C_Master_Start 0CB8 - _I2C_Master_Write 0CC6 ??_format_Temperature 0079 - ___lwdiv@dividend 0072 ??_Lcd_Set_Cursor 0075 - ?___awdiv 0070 ?___awmod 0070 - ?___lldiv 004D ?___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 getWeekDay@dayOfWeek 0070 - __size_of_main 006C __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 + __CFG_PWRTE$ON 0000 _display_Lcd_Layout 0BBC + __end_of_BCD_2_DEC 0907 __end_of_Get_DayOfWeek 0F10 + _alarm 0C03 __end_of_Adc_Init 178B + __end_of_Adc_Read 085D ?_update_Display 0070 + _month 0069 pclath 000A + __end_of_DEC_2_BCD 0A4E ?_display_Lcd_Layout 0070 + status 0003 wtemp0 007E + __end_of_Lcd_Init 0E6C __end_of_Lcd_Port 17E6 + __initialization 000F __end_of_main 06C8 + ?_Get_Alarm_Status 0070 ??_display_Lcd_Layout 0046 + ??_main 00D2 ??_Get_Alarm_Status 0072 + __end_of_Set_Date 0E03 __size_of_Lcd_Clear 000B + __end_of_Set_Time 0DA2 __end_of_Set_Sqwe 0931 + ??_display_Digit 007A _Get_WeekDay 178B + ?_I2C_Master_Start 0070 ??_display_Intro 0046 + ?_I2C_Master_Write 0028 ?_alarm 0072 + ??_I2C_Master_Start 0072 _ADCON0 001F + ??_I2C_Master_Write 0079 _ADRESH 001E + _ADRESL 009E ___awdiv@dividend 0074 + ??_Lcd_Cmd 0073 __size_of_Lcd_Write_Char 0039 + _SSPADD 0093 _TRISA0 0428 + _TRISC3 043B _TRISC4 043C + _TRISC6 043E _TRISC7 043F + _SSPCON 0014 _SSPBUF 0013 + ___wmul 089D ??___awdiv 0076 + ??___awmod 0076 ??___lwdiv 0078 + ??___lwmod 0079 ?_Read_Alarms_Temp 0070 + Adc_Read@channel 0072 alarm@i 0020 + alarm@j 0022 ___awdiv@quotient 0022 + ___awmod@divisor 0072 ___awmod@counter 0077 + _update 00D0 __end_of_Update_Current_Date_Time 1000 + ??_Read_Alarms_Temp 007A _edit_Date_Time 004C + __end_of_Vfd_Set_Brightness 08E0 saved_w 007E + Lcd_Set_Cursor@a 0020 Lcd_Set_Cursor@b 0076 + Lcd_Set_Cursor@y 0022 Lcd_Set_Cursor@z 0021 + __end_of__initialization 0048 __end_of_Lcd_Clear 177F + __pcstackCOMMON 0070 __pidataBANK0 1741 + __pidataBANK1 087D __pidataBANK3 09B6 + __end_of_alarm 0C4C __end_of_edit_Date_Time 0473 + ?_Adc_Init 0070 ?_Adc_Read 0072 + __size_of_Set_DayOfWeek 002A _Lcd_Set_Cursor 0C97 + _OPTION_REGbits 0081 _temperature_lsb 0059 + _temperature_msb 0057 ?_Lcd_Init 0070 + ??_alarm 0074 ?_Lcd_Port 0070 + _alarm1_min 00CC _alarm1_sec 00CE + _alarm2_min 00C8 __pbssBANK0 0057 + __pbssBANK1 00C0 alarm@numberOfBeeps 0072 + __end_of_format_Temperature 0A84 ?_Set_Date 0070 + ?_Set_Time 0070 ?_Set_Sqwe 002A + __pmaintext 05A0 ?___wmul 0072 + __pintentry 0004 Set_DayOfWeek@dow 003C + ?_edit_Date_Time 0070 ??_Adc_Init 0072 + ??_Adc_Read 0074 __size_of_Lcd_Write_String 0041 + ?_Get_Is_Leap_Year 002C __end_of_Lcd_Set_Cursor 0CE7 + I2C_Master_Read@incoming 0076 ??_Get_Is_Leap_Year 002E + ??_update_Display 0046 _Update_Current_Date_Time 0F10 + ??_Lcd_Init 0022 ??_Lcd_Port 0072 + _SSPCON2 0091 Get_Days_In_Month@m 0033 + Get_Days_In_Month@y 0031 _SSPSTAT 0094 + __stringtab 0800 _BCD_2_DEC 08E0 + _Lcd_Write_Char 0A84 _Lcd_Cmd 17E6 + _Set_DayOfWeek 0931 ??_Set_Date 0079 + _DEC_2_BCD 0A1A ??_Set_Time 0079 + ??_Set_Sqwe 0079 _brtlvl_chg 0067 + display_Digit@data 002C ___awdiv 0CE7 + ___awmod 0C4C __size_of___wmul 0021 + ___lwdiv 0AFA ___lwmod 09E6 + ?_Lcd_Set_Cursor 0076 _century 00A0 + __ptext1 0473 __ptext2 0C03 + __ptext3 0A4E __ptext4 004C + __ptext5 0987 __ptext6 0D42 + __ptext7 0931 __ptext8 0DA2 + __ptext9 0A1A __size_of_isr 0010 + ?_Get_WeekDay 003C ___awmod@dividend 0074 + __size_of_I2C_Master_Init 0012 __size_of_I2C_Master_Read 002C + _Get_Days_In_Month 07C5 __size_of_I2C_Master_Wait 0009 + __size_of_I2C_Master_Stop 0007 edit_Date_Time@min_org 004D + clrloop0 1764 ?_Get_Days_In_Month 0031 + edit_Date_Time@sec_org 0055 __size_of_Get_Alarm_Status 0020 + __end_of_Lcd_Write_Char 0ABD end_of_initialization 0048 + ?_BCD_2_DEC 0078 ?_Set_DayOfWeek 003C + ??_Get_Days_In_Month 0035 __size_of_I2C_Master_Start 0007 + ?_DEC_2_BCD 0024 __size_of_I2C_Master_Write 0008 + Lcd_Port@a 0072 __size_of_Get_DayOfWeek 00A4 + _alarm1_status 00C2 _alarm2_status 00C0 + __size_of_display_Lcd_Layout 0047 __end_of_Get_Days_In_Month 07FF + _TRISBbits 0086 __end_of_display_Digit 09B6 + __end_of_display_Intro 0BBC _Get_Is_Leap_Year$401 0030 + __size_of_Read_Alarms_Temp 00FD ?_Lcd_Write_Char 0070 + Lcd_Write_String@a 003F Lcd_Write_String@i 0044 + _Vfd_Set_Brightness 08BE _status_reg 00C4 + ?_Vfd_Set_Brightness 0077 _Lcd_Clear 1774 + BCD_2_DEC@to_convert 0078 __end_of___wmul 08BE + _Lcd_Write_String 0B38 __size_of_Adc_Init 000C + __size_of_Adc_Read 001D start_initialization 000F + ??_Vfd_Set_Brightness 0020 __end_of_isr 17A9 + _Get_DayOfWeek 0E6C ??_Set_DayOfWeek 007A + __size_of_Lcd_Init 0069 __size_of_Lcd_Port 001A + ??_BCD_2_DEC 0020 ??_I2C_Master_Init 0076 + ??_I2C_Master_Read 0074 ??_I2C_Master_Wait 0072 + ??_I2C_Master_Stop 0072 ??_DEC_2_BCD 0026 + ??_edit_Date_Time 0046 __size_of_Set_Date 0061 + ?_Lcd_Clear 0070 __size_of_Set_Time 0060 + ??___wmul 0076 __size_of_Set_Sqwe 002A + init_fetch0 17A9 __pdataBANK0 0069 + __pdataBANK1 00A0 __pdataBANK3 0190 + Lcd_Write_Char@a 0076 ??_Update_Current_Date_Time 007A + Lcd_Write_Char@y 0075 _format_Temperature 0A4E + _alarm1_hour 00CA _alarm2_hour 00C6 +__size_of_I2C_Master_Repeated_Start 0007 ?_I2C_Master_Repeated_Start 0070 + __size_of_Get_Days_In_Month 003A __pbssCOMMON 007A + ___latbits 0002 __pcstackBANK0 0020 + __pcstackBANK1 00D2 ?_format_Temperature 0070 + ?_Get_DayOfWeek 002C __size_of_Get_WeekDay 000E + _Get_Alarm_Status 085D __size_of_Get_Is_Leap_Year 003D + ?_Lcd_Cmd 0070 _dayOfWeek 00A4 + _I2C_Master_Start 174D _I2C_Master_Write 175B + ??_format_Temperature 0078 ___lwdiv@dividend 0022 + ??_Lcd_Set_Cursor 0077 ?___awdiv 0072 + ?___awmod 0072 ?___lwdiv 0020 + ?___lwmod 0027 _edit_datetime 0065 + I2C_Master_Write@data 0028 __pstrings 0800 + __end_of_I2C_Master_Repeated_Start 174D Get_Is_Leap_Year@y 002C + ___lwdiv@quotient 0025 __size_of_alarm 0049 + _Read_Alarms_Temp 06C8 interrupt_function 0004 + ___wmul@product 0076 clear_ram0 1763 + Lcd_Cmd@a 0075 ??_Lcd_Clear 0076 + _temp_sign 006D _Adc_Init 177F + _Adc_Read 0840 _ADCON0bits 001F + __stringbase 080F ___wmul@multiplier 0072 + ??_Lcd_Write_Char 0073 ??_Get_DayOfWeek 0032 + _Lcd_Init 0E03 _Lcd_Port 17CC + _control_reg 005B edit_Date_Time@month_org 0051 + __end_of_Lcd_Write_String 0B79 Get_WeekDay@d 003C + Vfd_Set_Brightness@level 0077 __size_of_update_Display 012D + __size_of_Lcd_Cmd 001A _Set_Date 0DA2 + _Set_Time 0D42 _Set_Sqwe 0907 + __end_of_display_Lcd_Layout 0C03 __size_of___awdiv 005B + __size_of___awmod 004B __size_of___lwdiv 003E + __size_of___lwmod 0034 __end_of__stringtab 0810 + _I2C_Master_Init 17BA _I2C_Master_Read 095B + _I2C_Master_Wait 176B _I2C_Master_Stop 1754 + ___lwdiv@divisor 0020 Get_DayOfWeek@d 0030 + Get_DayOfWeek@m 002E ___lwdiv@counter 0024 + Get_DayOfWeek@y 002C __ptext10 0C4C + __ptext11 0CE7 __ptext20 0B38 + __ptext12 178B __ptext21 0C97 + __ptext13 07C5 __ptext30 095B + __ptext22 1774 __ptext14 0ABD + __ptext31 176B __ptext23 0F10 + __ptext15 0E6C __ptext40 085D + __ptext32 08E0 __ptext24 0907 + __ptext16 09E6 __ptext41 0840 + __ptext33 089D __ptext25 06C8 + __ptext17 0AFA __ptext42 177F + __ptext34 0E03 __ptext26 175B + __ptext18 0BBC __ptext43 1799 + __ptext35 08BE __ptext27 1754 + __ptext19 0B79 __ptext36 0A84 + __ptext28 174D __ptext37 17E6 + __ptext29 1746 __ptext38 17CC + __ptext39 17BA _Get_Is_Leap_Year 0ABD + __size_of_main 0128 edit_Date_Time@date_org 0053 + __size_of_display_Digit 002F __end_of_Get_Alarm_Status 087D + __size_of_display_Intro 0043 edit_Date_Time@hour_org 004B + Set_Sqwe@contvalue 002A I2C_Master_Read@ack 0072 + ??_I2C_Master_Repeated_Start 0072 __end_of_I2C_Master_Start 1754 + __end_of_I2C_Master_Write 1763 edit_Date_Time@year_org 004F + init_ram0 17AD __size_of_Vfd_Set_Brightness 0022 + Lcd_Write_Char@temp 0074 intlevel1 0000 + _monthOfYear 0190 __end_of_Set_DayOfWeek 095B + ___lwmod@dividend 0029 stringcode 080A + __end_of_Read_Alarms_Temp 07C5 __end_of_I2C_Master_Init 17CC + __end_of_I2C_Master_Read 0987 __end_of_I2C_Master_Wait 1774 + __end_of_I2C_Master_Stop 175B Lcd_Set_Cursor@temp 0023 + ??_Get_WeekDay 003E ___lwmod@divisor 0027 + ___lwmod@counter 002B stringdir 080A + stringtab 0800 _display_Digit 0987 + _display_Intro 0B79 __size_of_Update_Current_Date_Time 00F0 + ?_Update_Current_Date_Time 0070 _update_Display 0473 + _I2C_Master_Repeated_Start 1746 DEC_2_BCD@to_convert 0024 + __size_of_format_Temperature 0036 __size_of_BCD_2_DEC 0027 -- cgit v1.2.3-54-g00ecf