aboutsummaryrefslogtreecommitdiffstats
path: root/dist/default/production/I2C_LCD.X.production.lst
diff options
context:
space:
mode:
authorWilliam Harrington <kb0iic@berzerkula.org>2019-08-21 03:07:37 -0500
committerWilliam Harrington <kb0iic@berzerkula.org>2019-08-21 03:07:37 -0500
commit442b88a5b418a7cb7bec780800f9635e0c731cba (patch)
treefbf95f6553bf7f45d46269b22d15ff1c9396689a /dist/default/production/I2C_LCD.X.production.lst
parentbe9596ecf3b8ac7a6e320204e459c490a4cf356a (diff)
Okay then
Diffstat (limited to 'dist/default/production/I2C_LCD.X.production.lst')
-rwxr-xr-xdist/default/production/I2C_LCD.X.production.lst13862
1 files changed, 8201 insertions, 5661 deletions
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