Subversion Repositories Code-Repo

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

Microchip PICý

Microchip Technology PIC LITE Macro Assembler V1.20 build 52243 
                                                                                               Sun Jan 26 16:29:58 2014

Microchip Technology Omniscient Code Generator (Lite mode) build 52243
     1                                  processor       16F1829
     2                                  opt     pw 120
     3                                  opt     lm
     4                                  psect   idataBANK0,global,class=CODE,delta=2
     5                                  pýsect       nvCOMMON,global,class=COMMON,space=1,delta=1
     6                                  psect   nvBANK0,global,class=BANK0,space=1,delta=1
     7                                  psect   cinit,global,class=CODE,merge=1,delta=2
     8                                  psect   dataBANK0,global,class=BANK0,space=1,delta=1
     9                                  psect   inittext,global,class=CODE,delta=2
    10                                  psect   cstackBANK2,global,class=BANK2,space=1,delta=1
    11                                  psect   cstackBANýK1,global,class=BANK1,space=1,delta=1
    12                                  psect   cstackCOMMON,global,class=COMMON,space=1,delta=1
    13                                  psect   cstackBANK0,global,class=BANK0,space=1,delta=1
    14                                  psect   maintext,global,class=CODE,merge=1,split=1,delta=2
    15                                  psect   text1,local,class=CODE,merge=1,delta=2
    16                                  psect   text2,local,class=CODE,merge=1,delta=2
    17                                  psect   text3,ýlocal,class=CODE,merge=1,delta=2
    18                                  psect   text4,local,class=CODE,merge=1,delta=2
    19                                  psect   text5,local,class=CODE,merge=1,delta=2
    20                                  psect   text6,local,class=CODE,merge=1,delta=2
    21                                  psect   text7,local,class=CODE,merge=1,delta=2
    22                                  psect   text8,local,class=CODE,merge=1,delta=2
    23                                  psect   text9,local,class=CODE,merge=1,delta=2
  ý  24                              psect   text10,local,class=CODE,merge=1,delta=2
    25                                  psect   text11,local,class=CODE,merge=1,delta=2
    26                                  psect   text12,local,class=CODE,merge=1,delta=2
    27                                  psect   text13,local,class=CODE,merge=1,delta=2
    28                                  psect   text14,local,class=CODE,merge=1,delta=2
    29                                  psect   text15,local,class=CODE,merge=1,delta=2
    30                         ý     psect   text16,local,class=CODE,merge=1,delta=2
    31                                  psect   intentry,global,class=CODE,delta=2
    32                                  psect   text18,local,class=CODE,merge=1,delta=2
    33                                  psect   text19,local,class=CODE,merge=1,delta=2
    34                                  psect   text20,local,class=CODE,merge=1,delta=2
    35                                  psect   text21,local,class=CODE,merge=1,delta=2
    36                                  psect   text22,local,class=CODE,mýerge=1,delta=2
    37                                  psect   text23,local,class=CODE,merge=1,delta=2
    38                                  psect   text24,local,class=CODE,merge=1,delta=2
    39                                  psect   text25,local,class=CODE,merge=1,delta=2
    40                                  dabs    1,0x7E,2
    41  0000                            ;# 
    42  0001                            ;# 
    43  0002                            ;# 
    44  0003                            ;# 
    45  0004                            ;# 
    46  0005    ý                    ;# 
    47  0006                            ;# 
    48  0007                            ;# 
    49  0008                            ;# 
    50  0009                            ;# 
    51  000A                            ;# 
    52  000B                            ;# 
    53  000C                            ;# 
    54  000D                            ;# 
    55  000E                            ;# 
    56  0011                            ;# 
    57  0012                            ;# 
    58  0013                            ;# 
    59  0014                   ý     ;# 
    60  0015                            ;# 
    61  0016                            ;# 
    62  0016                            ;# 
    63  0017                            ;# 
    64  0018                            ;# 
    65  0019                            ;# 
    66  001A                            ;# 
    67  001B                            ;# 
    68  001C                            ;# 
    69  001E                            ;# 
    70  001F                            ;# 
    71  008C                            ;# 
    72  008D                            ;# 
    73  ý008E                        ;# 
    74  0091                            ;# 
    75  0092                            ;# 
    76  0093                            ;# 
    77  0094                            ;# 
    78  0095                            ;# 
    79  0096                            ;# 
    80  0097                            ;# 
    81  0098                            ;# 
    82  0099                            ;# 
    83  009A                            ;# 
    84  009B                            ;# 
    85  009B                            ;# 
    86  009C           ý             ;# 
    87  009D                            ;# 
    88  009E                            ;# 
    89  010C                            ;# 
    90  010D                            ;# 
    91  010E                            ;# 
    92  0111                            ;# 
    93  0112                            ;# 
    94  0113                            ;# 
    95  0114                            ;# 
    96  0115                            ;# 
    97  0116                            ;# 
    98  0117                            ;# 
    99  0118                            ;# 
ý   100  0119                        ;# 
   101  011A                            ;# 
   102  011B                            ;# 
   103  011D                            ;# 
   104  011E                            ;# 
   105  018C                            ;# 
   106  018D                            ;# 
   107  018E                            ;# 
   108  0191                            ;# 
   109  0191                            ;# 
   110  0192                            ;# 
   111  0193                            ;# 
   112  0193                            ;# 
   113  0193   ý                     ;# 
   114  0194                            ;# 
   115  0195                            ;# 
   116  0196                            ;# 
   117  0199                            ;# 
   118  019A                            ;# 
   119  019B                            ;# 
   120  019B                            ;# 
   121  019C                            ;# 
   122  019D                            ;# 
   123  019E                            ;# 
   124  019F                            ;# 
   125  020C                            ;# 
   126  020D                  ý      ;# 
   127  020E                            ;# 
   128  0211                            ;# 
   129  0211                            ;# 
   130  0212                            ;# 
   131  0212                            ;# 
   132  0213                            ;# 
   133  0213                            ;# 
   134  0214                            ;# 
   135  0214                            ;# 
   136  0215                            ;# 
   137  0215                            ;# 
   138  0215                            ;# 
   139  0216                            ;# 
   140 ý 0216                        ;# 
   141  0217                            ;# 
   142  0217                            ;# 
   143  0219                            ;# 
   144  021A                            ;# 
   145  021B                            ;# 
   146  021C                            ;# 
   147  021D                            ;# 
   148  021E                            ;# 
   149  021F                            ;# 
   150  0291                            ;# 
   151  0292                            ;# 
   152  0293                            ;# 
   153  0294          ý              ;# 
   154  0295                            ;# 
   155  0295                            ;# 
   156  0296                            ;# 
   157  0298                            ;# 
   158  0299                            ;# 
   159  029A                            ;# 
   160  029B                            ;# 
   161  029C                            ;# 
   162  029D                            ;# 
   163  029E                            ;# 
   164  0311                            ;# 
   165  0312                            ;# 
   166  0313                            ;# ý
   167  0318                            ;# 
   168  0319                            ;# 
   169  031A                            ;# 
   170  038C                            ;# 
   171  038D                            ;# 
   172  038E                            ;# 
   173  0391                            ;# 
   174  0392                            ;# 
   175  0393                            ;# 
   176  0394                            ;# 
   177  0395                            ;# 
   178  0396                            ;# 
   179  039A                            ;# 
   180  039C  ý                      ;# 
   181  039D                            ;# 
   182  039E                            ;# 
   183  039F                            ;# 
   184  0415                            ;# 
   185  0416                            ;# 
   186  0417                            ;# 
   187  041C                            ;# 
   188  041D                            ;# 
   189  041E                            ;# 
   190  0FE4                            ;# 
   191  0FE5                            ;# 
   192  0FE6                            ;# 
   193  0FE7                 ý       ;# 
   194  0FE8                            ;# 
   195  0FE9                            ;# 
   196  0FEA                            ;# 
   197  0FEB                            ;# 
   198  0FED                            ;# 
   199  0FEE                            ;# 
   200  0FEF                            ;# 
   201  0000                            ;# 
   202  0001                            ;# 
   203  0002                            ;# 
   204  0003                            ;# 
   205  0004                            ;# 
   206  0005                            ;# 
   207ý  0006                        ;# 
   208  0007                            ;# 
   209  0008                            ;# 
   210  0009                            ;# 
   211  000A                            ;# 
   212  000B                            ;# 
   213  000C                            ;# 
   214  000D                            ;# 
   215  000E                            ;# 
   216  0011                            ;# 
   217  0012                            ;# 
   218  0013                            ;# 
   219  0014                            ;# 
   220  0015         ý               ;# 
   221  0016                            ;# 
   222  0016                            ;# 
   223  0017                            ;# 
   224  0018                            ;# 
   225  0019                            ;# 
   226  001A                            ;# 
   227  001B                            ;# 
   228  001C                            ;# 
   229  001E                            ;# 
   230  001F                            ;# 
   231  008C                            ;# 
   232  008D                            ;# 
   233  008E                            ;#ý 
   234  0091                            ;# 
   235  0092                            ;# 
   236  0093                            ;# 
   237  0094                            ;# 
   238  0095                            ;# 
   239  0096                            ;# 
   240  0097                            ;# 
   241  0098                            ;# 
   242  0099                            ;# 
   243  009A                            ;# 
   244  009B                            ;# 
   245  009B                            ;# 
   246  009C                            ;# 
   247  009D ý                       ;# 
   248  009E                            ;# 
   249  010C                            ;# 
   250  010D                            ;# 
   251  010E                            ;# 
   252  0111                            ;# 
   253  0112                            ;# 
   254  0113                            ;# 
   255  0114                            ;# 
   256  0115                            ;# 
   257  0116                            ;# 
   258  0117                            ;# 
   259  0118                            ;# 
   260  0119                ý        ;# 
   261  011A                            ;# 
   262  011B                            ;# 
   263  011D                            ;# 
   264  011E                            ;# 
   265  018C                            ;# 
   266  018D                            ;# 
   267  018E                            ;# 
   268  0191                            ;# 
   269  0191                            ;# 
   270  0192                            ;# 
   271  0193                            ;# 
   272  0193                            ;# 
   273  0193                            ;# 
   27ý4  0194                        ;# 
   275  0195                            ;# 
   276  0196                            ;# 
   277  0199                            ;# 
   278  019A                            ;# 
   279  019B                            ;# 
   280  019B                            ;# 
   281  019C                            ;# 
   282  019D                            ;# 
   283  019E                            ;# 
   284  019F                            ;# 
   285  020C                            ;# 
   286  020D                            ;# 
   287  020E        ý                ;# 
   288  0211                            ;# 
   289  0211                            ;# 
   290  0212                            ;# 
   291  0212                            ;# 
   292  0213                            ;# 
   293  0213                            ;# 
   294  0214                            ;# 
   295  0214                            ;# 
   296  0215                            ;# 
   297  0215                            ;# 
   298  0215                            ;# 
   299  0216                            ;# 
   300  0216                            ;ý# 
   301  0217                            ;# 
   302  0217                            ;# 
   303  0219                            ;# 
   304  021A                            ;# 
   305  021B                            ;# 
   306  021C                            ;# 
   307  021D                            ;# 
   308  021E                            ;# 
   309  021F                            ;# 
   310  0291                            ;# 
   311  0292                            ;# 
   312  0293                            ;# 
   313  0294                            ;# 
   314  0295ý                        ;# 
   315  0295                            ;# 
   316  0296                            ;# 
   317  0298                            ;# 
   318  0299                            ;# 
   319  029A                            ;# 
   320  029B                            ;# 
   321  029C                            ;# 
   322  029D                            ;# 
   323  029E                            ;# 
   324  0311                            ;# 
   325  0312                            ;# 
   326  0313                            ;# 
   327  0318               ý         ;# 
   328  0319                            ;# 
   329  031A                            ;# 
   330  038C                            ;# 
   331  038D                            ;# 
   332  038E                            ;# 
   333  0391                            ;# 
   334  0392                            ;# 
   335  0393                            ;# 
   336  0394                            ;# 
   337  0395                            ;# 
   338  0396                            ;# 
   339  039A                            ;# 
   340  039C                            ;# 
   3ý41  039D                        ;# 
   342  039E                            ;# 
   343  039F                            ;# 
   344  0415                            ;# 
   345  0416                            ;# 
   346  0417                            ;# 
   347  041C                            ;# 
   348  041D                            ;# 
   349  041E                            ;# 
   350  0FE4                            ;# 
   351  0FE5                            ;# 
   352  0FE6                            ;# 
   353  0FE7                            ;# 
   354  0FE8       ý                 ;# 
   355  0FE9                            ;# 
   356  0FEA                            ;# 
   357  0FEB                            ;# 
   358  0FED                            ;# 
   359  0FEE                            ;# 
   360  0FEF                            ;# 
   361  0000                            ;# 
   362  0001                            ;# 
   363  0002                            ;# 
   364  0003                            ;# 
   365  0004                            ;# 
   366  0005                            ;# 
   367  0006                            ý;# 
   368  0007                            ;# 
   369  0008                            ;# 
   370  0009                            ;# 
   371  000A                            ;# 
   372  000B                            ;# 
   373  000C                            ;# 
   374  000D                            ;# 
   375  000E                            ;# 
   376  0011                            ;# 
   377  0012                            ;# 
   378  0013                            ;# 
   379  0014                            ;# 
   380  0015                            ;# 
   381  001ý6                        ;# 
   382  0016                            ;# 
   383  0017                            ;# 
   384  0018                            ;# 
   385  0019                            ;# 
   386  001A                            ;# 
   387  001B                            ;# 
   388  001C                            ;# 
   389  001E                            ;# 
   390  001F                            ;# 
   391  008C                            ;# 
   392  008D                            ;# 
   393  008E                            ;# 
   394  0091              ý          ;# 
   395  0092                            ;# 
   396  0093                            ;# 
   397  0094                            ;# 
   398  0095                            ;# 
   399  0096                            ;# 
   400  0097                            ;# 
   401  0098                            ;# 
   402  0099                            ;# 
   403  009A                            ;# 
   404  009B                            ;# 
   405  009B                            ;# 
   406  009C                            ;# 
   407  009D                            ;# 
   ý408  009E                        ;# 
   409  010C                            ;# 
   410  010D                            ;# 
   411  010E                            ;# 
   412  0111                            ;# 
   413  0112                            ;# 
   414  0113                            ;# 
   415  0114                            ;# 
   416  0115                            ;# 
   417  0116                            ;# 
   418  0117                            ;# 
   419  0118                            ;# 
   420  0119                            ;# 
   421  011A      ý                  ;# 
   422  011B                            ;# 
   423  011D                            ;# 
   424  011E                            ;# 
   425  018C                            ;# 
   426  018D                            ;# 
   427  018E                            ;# 
   428  0191                            ;# 
   429  0191                            ;# 
   430  0192                            ;# 
   431  0193                            ;# 
   432  0193                            ;# 
   433  0193                            ;# 
   434  0194                     ý   ;# 
   435  0195                            ;# 
   436  0196                            ;# 
   437  0199                            ;# 
   438  019A                            ;# 
   439  019B                            ;# 
   440  019B                            ;# 
   441  019C                            ;# 
   442  019D                            ;# 
   443  019E                            ;# 
   444  019F                            ;# 
   445  020C                            ;# 
   446  020D                            ;# 
   447  020E                            ;# 
   448  02ý11                        ;# 
   449  0211                            ;# 
   450  0212                            ;# 
   451  0212                            ;# 
   452  0213                            ;# 
   453  0213                            ;# 
   454  0214                            ;# 
   455  0214                            ;# 
   456  0215                            ;# 
   457  0215                            ;# 
   458  0215                            ;# 
   459  0216                            ;# 
   460  0216                            ;# 
   461  0217             ý           ;# 
   462  0217                            ;# 
   463  0219                            ;# 
   464  021A                            ;# 
   465  021B                            ;# 
   466  021C                            ;# 
   467  021D                            ;# 
   468  021E                            ;# 
   469  021F                            ;# 
   470  0291                            ;# 
   471  0292                            ;# 
   472  0293                            ;# 
   473  0294                            ;# 
   474  0295                            ;# 
  ý 475  0295                        ;# 
   476  0296                            ;# 
   477  0298                            ;# 
   478  0299                            ;# 
   479  029A                            ;# 
   480  029B                            ;# 
   481  029C                            ;# 
   482  029D                            ;# 
   483  029E                            ;# 
   484  0311                            ;# 
   485  0312                            ;# 
   486  0313                            ;# 
   487  0318                            ;# 
   488  0319     ý                   ;# 
   489  031A                            ;# 
   490  038C                            ;# 
   491  038D                            ;# 
   492  038E                            ;# 
   493  0391                            ;# 
   494  0392                            ;# 
   495  0393                            ;# 
   496  0394                            ;# 
   497  0395                            ;# 
   498  0396                            ;# 
   499  039A                            ;# 
   500  039C                            ;# 
   501  039D                    ý    ;# 
   502  039E                            ;# 
   503  039F                            ;# 
   504  0415                            ;# 
   505  0416                            ;# 
   506  0417                            ;# 
   507  041C                            ;# 
   508  041D                            ;# 
   509  041E                            ;# 
   510  0FE4                            ;# 
   511  0FE5                            ;# 
   512  0FE6                            ;# 
   513  0FE7                            ;# 
   514  0FE8                            ;# 
   515  0ýFE9                        ;# 
   516  0FEA                            ;# 
   517  0FEB                            ;# 
   518  0FED                            ;# 
   519  0FEE                            ;# 
   520  0FEF                            ;# 
   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  0011                            ;# 
   537  0012                            ;# 
   538  0013                            ;# 
   539  0014                            ;# 
   540  0015                            ;# 
   541  0016                            ;# 
 ý  542  0016                        ;# 
   543  0017                            ;# 
   544  0018                            ;# 
   545  0019                            ;# 
   546  001A                            ;# 
   547  001B                            ;# 
   548  001C                            ;# 
   549  001E                            ;# 
   550  001F                            ;# 
   551  008C                            ;# 
   552  008D                            ;# 
   553  008E                            ;# 
   554  0091                            ;# 
   555  0092    ý                    ;# 
   556  0093                            ;# 
   557  0094                            ;# 
   558  0095                            ;# 
   559  0096                            ;# 
   560  0097                            ;# 
   561  0098                            ;# 
   562  0099                            ;# 
   563  009A                            ;# 
   564  009B                            ;# 
   565  009B                            ;# 
   566  009C                            ;# 
   567  009D                            ;# 
   568  009E                   ý     ;# 
   569  010C                            ;# 
   570  010D                            ;# 
   571  010E                            ;# 
   572  0111                            ;# 
   573  0112                            ;# 
   574  0113                            ;# 
   575  0114                            ;# 
   576  0115                            ;# 
   577  0116                            ;# 
   578  0117                            ;# 
   579  0118                            ;# 
   580  0119                            ;# 
   581  011A                            ;# 
   582  ý011B                        ;# 
   583  011D                            ;# 
   584  011E                            ;# 
   585  018C                            ;# 
   586  018D                            ;# 
   587  018E                            ;# 
   588  0191                            ;# 
   589  0191                            ;# 
   590  0192                            ;# 
   591  0193                            ;# 
   592  0193                            ;# 
   593  0193                            ;# 
   594  0194                            ;# 
   595  0195           ý             ;# 
   596  0196                            ;# 
   597  0199                            ;# 
   598  019A                            ;# 
   599  019B                            ;# 
   600  019B                            ;# 
   601  019C                            ;# 
   602  019D                            ;# 
   603  019E                            ;# 
   604  019F                            ;# 
   605  020C                            ;# 
   606  020D                            ;# 
   607  020E                            ;# 
   608  0211                            ;# 
ý   609  0211                        ;# 
   610  0212                            ;# 
   611  0212                            ;# 
   612  0213                            ;# 
   613  0213                            ;# 
   614  0214                            ;# 
   615  0214                            ;# 
   616  0215                            ;# 
   617  0215                            ;# 
   618  0215                            ;# 
   619  0216                            ;# 
   620  0216                            ;# 
   621  0217                            ;# 
   622  0217   ý                     ;# 
   623  0219                            ;# 
   624  021A                            ;# 
   625  021B                            ;# 
   626  021C                            ;# 
   627  021D                            ;# 
   628  021E                            ;# 
   629  021F                            ;# 
   630  0291                            ;# 
   631  0292                            ;# 
   632  0293                            ;# 
   633  0294                            ;# 
   634  0295                            ;# 
   635  0295                  ý      ;# 
   636  0296                            ;# 
   637  0298                            ;# 
   638  0299                            ;# 
   639  029A                            ;# 
   640  029B                            ;# 
   641  029C                            ;# 
   642  029D                            ;# 
   643  029E                            ;# 
   644  0311                            ;# 
   645  0312                            ;# 
   646  0313                            ;# 
   647  0318                            ;# 
   648  0319                            ;# 
   649 ý 031A                        ;# 
   650  038C                            ;# 
   651  038D                            ;# 
   652  038E                            ;# 
   653  0391                            ;# 
   654  0392                            ;# 
   655  0393                            ;# 
   656  0394                            ;# 
   657  0395                            ;# 
   658  0396                            ;# 
   659  039A                            ;# 
   660  039C                            ;# 
   661  039D                            ;# 
   662  039E          ý              ;# 
   663  039F                            ;# 
   664  0415                            ;# 
   665  0416                            ;# 
   666  0417                            ;# 
   667  041C                            ;# 
   668  041D                            ;# 
   669  041E                            ;# 
   670  0FE4                            ;# 
   671  0FE5                            ;# 
   672  0FE6                            ;# 
   673  0FE7                            ;# 
   674  0FE8                            ;# 
   675  0FE9                            ;# ý
   676  0FEA                            ;# 
   677  0FEB                            ;# 
   678  0FED                            ;# 
   679  0FEE                            ;# 
   680  0FEF                            ;# 
   681  0000                            ;# 
   682  0001                            ;# 
   683  0002                            ;# 
   684  0003                            ;# 
   685  0004                            ;# 
   686  0005                            ;# 
   687  0006                            ;# 
   688  0007                            ;# 
   689  0008  ý                      ;# 
   690  0009                            ;# 
   691  000A                            ;# 
   692  000B                            ;# 
   693  000C                            ;# 
   694  000D                            ;# 
   695  000E                            ;# 
   696  0011                            ;# 
   697  0012                            ;# 
   698  0013                            ;# 
   699  0014                            ;# 
   700  0015                            ;# 
   701  0016                            ;# 
   702  0016                 ý       ;# 
   703  0017                            ;# 
   704  0018                            ;# 
   705  0019                            ;# 
   706  001A                            ;# 
   707  001B                            ;# 
   708  001C                            ;# 
   709  001E                            ;# 
   710  001F                            ;# 
   711  008C                            ;# 
   712  008D                            ;# 
   713  008E                            ;# 
   714  0091                            ;# 
   715  0092                            ;# 
   716ý  0093                        ;# 
   717  0094                            ;# 
   718  0095                            ;# 
   719  0096                            ;# 
   720  0097                            ;# 
   721  0098                            ;# 
   722  0099                            ;# 
   723  009A                            ;# 
   724  009B                            ;# 
   725  009B                            ;# 
   726  009C                            ;# 
   727  009D                            ;# 
   728  009E                            ;# 
   729  010C         ý               ;# 
   730  010D                            ;# 
   731  010E                            ;# 
   732  0111                            ;# 
   733  0112                            ;# 
   734  0113                            ;# 
   735  0114                            ;# 
   736  0115                            ;# 
   737  0116                            ;# 
   738  0117                            ;# 
   739  0118                            ;# 
   740  0119                            ;# 
   741  011A                            ;# 
   742  011B                            ;#ý 
   743  011D                            ;# 
   744  011E                            ;# 
   745  018C                            ;# 
   746  018D                            ;# 
   747  018E                            ;# 
   748  0191                            ;# 
   749  0191                            ;# 
   750  0192                            ;# 
   751  0193                            ;# 
   752  0193                            ;# 
   753  0193                            ;# 
   754  0194                            ;# 
   755  0195                            ;# 
   756  0196 ý                       ;# 
   757  0199                            ;# 
   758  019A                            ;# 
   759  019B                            ;# 
   760  019B                            ;# 
   761  019C                            ;# 
   762  019D                            ;# 
   763  019E                            ;# 
   764  019F                            ;# 
   765  020C                            ;# 
   766  020D                            ;# 
   767  020E                            ;# 
   768  0211                            ;# 
   769  0211                ý        ;# 
   770  0212                            ;# 
   771  0212                            ;# 
   772  0213                            ;# 
   773  0213                            ;# 
   774  0214                            ;# 
   775  0214                            ;# 
   776  0215                            ;# 
   777  0215                            ;# 
   778  0215                            ;# 
   779  0216                            ;# 
   780  0216                            ;# 
   781  0217                            ;# 
   782  0217                            ;# 
   78ý3  0219                        ;# 
   784  021A                            ;# 
   785  021B                            ;# 
   786  021C                            ;# 
   787  021D                            ;# 
   788  021E                            ;# 
   789  021F                            ;# 
   790  0291                            ;# 
   791  0292                            ;# 
   792  0293                            ;# 
   793  0294                            ;# 
   794  0295                            ;# 
   795  0295                            ;# 
   796  0296        ý                ;# 
   797  0298                            ;# 
   798  0299                            ;# 
   799  029A                            ;# 
   800  029B                            ;# 
   801  029C                            ;# 
   802  029D                            ;# 
   803  029E                            ;# 
   804  0311                            ;# 
   805  0312                            ;# 
   806  0313                            ;# 
   807  0318                            ;# 
   808  0319                            ;# 
   809  031A                            ;ý# 
   810  038C                            ;# 
   811  038D                            ;# 
   812  038E                            ;# 
   813  0391                            ;# 
   814  0392                            ;# 
   815  0393                            ;# 
   816  0394                            ;# 
   817  0395                            ;# 
   818  0396                            ;# 
   819  039A                            ;# 
   820  039C                            ;# 
   821  039D                            ;# 
   822  039E                            ;# 
   823  039Fý                        ;# 
   824  0415                            ;# 
   825  0416                            ;# 
   826  0417                            ;# 
   827  041C                            ;# 
   828  041D                            ;# 
   829  041E                            ;# 
   830  0FE4                            ;# 
   831  0FE5                            ;# 
   832  0FE6                            ;# 
   833  0FE7                            ;# 
   834  0FE8                            ;# 
   835  0FE9                            ;# 
   836  0FEA               ý         ;# 
   837  0FEB                            ;# 
   838  0FED                            ;# 
   839  0FEE                            ;# 
   840  0FEF                            ;# 
   841  0000                            ;# 
   842  0001                            ;# 
   843  0002                            ;# 
   844  0003                            ;# 
   845  0004                            ;# 
   846  0005                            ;# 
   847  0006                            ;# 
   848  0007                            ;# 
   849  0008                            ;# 
   8ý50  0009                        ;# 
   851  000A                            ;# 
   852  000B                            ;# 
   853  000C                            ;# 
   854  000D                            ;# 
   855  000E                            ;# 
   856  0011                            ;# 
   857  0012                            ;# 
   858  0013                            ;# 
   859  0014                            ;# 
   860  0015                            ;# 
   861  0016                            ;# 
   862  0016                            ;# 
   863  0017       ý                 ;# 
   864  0018                            ;# 
   865  0019                            ;# 
   866  001A                            ;# 
   867  001B                            ;# 
   868  001C                            ;# 
   869  001E                            ;# 
   870  001F                            ;# 
   871  008C                            ;# 
   872  008D                            ;# 
   873  008E                            ;# 
   874  0091                            ;# 
   875  0092                            ;# 
   876  0093                            ý;# 
   877  0094                            ;# 
   878  0095                            ;# 
   879  0096                            ;# 
   880  0097                            ;# 
   881  0098                            ;# 
   882  0099                            ;# 
   883  009A                            ;# 
   884  009B                            ;# 
   885  009B                            ;# 
   886  009C                            ;# 
   887  009D                            ;# 
   888  009E                            ;# 
   889  010C                            ;# 
   890  010ýD                        ;# 
   891  010E                            ;# 
   892  0111                            ;# 
   893  0112                            ;# 
   894  0113                            ;# 
   895  0114                            ;# 
   896  0115                            ;# 
   897  0116                            ;# 
   898  0117                            ;# 
   899  0118                            ;# 
   900  0119                            ;# 
   901  011A                            ;# 
   902  011B                            ;# 
   903  011D              ý          ;# 
   904  011E                            ;# 
   905  018C                            ;# 
   906  018D                            ;# 
   907  018E                            ;# 
   908  0191                            ;# 
   909  0191                            ;# 
   910  0192                            ;# 
   911  0193                            ;# 
   912  0193                            ;# 
   913  0193                            ;# 
   914  0194                            ;# 
   915  0195                            ;# 
   916  0196                            ;# 
   ý917  0199                        ;# 
   918  019A                            ;# 
   919  019B                            ;# 
   920  019B                            ;# 
   921  019C                            ;# 
   922  019D                            ;# 
   923  019E                            ;# 
   924  019F                            ;# 
   925  020C                            ;# 
   926  020D                            ;# 
   927  020E                            ;# 
   928  0211                            ;# 
   929  0211                            ;# 
   930  0212      ý                  ;# 
   931  0212                            ;# 
   932  0213                            ;# 
   933  0213                            ;# 
   934  0214                            ;# 
   935  0214                            ;# 
   936  0215                            ;# 
   937  0215                            ;# 
   938  0215                            ;# 
   939  0216                            ;# 
   940  0216                            ;# 
   941  0217                            ;# 
   942  0217                            ;# 
   943  0219                     ý   ;# 
   944  021A                            ;# 
   945  021B                            ;# 
   946  021C                            ;# 
   947  021D                            ;# 
   948  021E                            ;# 
   949  021F                            ;# 
   950  0291                            ;# 
   951  0292                            ;# 
   952  0293                            ;# 
   953  0294                            ;# 
   954  0295                            ;# 
   955  0295                            ;# 
   956  0296                            ;# 
   957  02ý98                        ;# 
   958  0299                            ;# 
   959  029A                            ;# 
   960  029B                            ;# 
   961  029C                            ;# 
   962  029D                            ;# 
   963  029E                            ;# 
   964  0311                            ;# 
   965  0312                            ;# 
   966  0313                            ;# 
   967  0318                            ;# 
   968  0319                            ;# 
   969  031A                            ;# 
   970  038C             ý           ;# 
   971  038D                            ;# 
   972  038E                            ;# 
   973  0391                            ;# 
   974  0392                            ;# 
   975  0393                            ;# 
   976  0394                            ;# 
   977  0395                            ;# 
   978  0396                            ;# 
   979  039A                            ;# 
   980  039C                            ;# 
   981  039D                            ;# 
   982  039E                            ;# 
   983  039F                            ;# 
  ý 984  0415                        ;# 
   985  0416                            ;# 
   986  0417                            ;# 
   987  041C                            ;# 
   988  041D                            ;# 
   989  041E                            ;# 
   990  0FE4                            ;# 
   991  0FE5                            ;# 
   992  0FE6                            ;# 
   993  0FE7                            ;# 
   994  0FE8                            ;# 
   995  0FE9                            ;# 
   996  0FEA                            ;# 
   997  0FEB     ä                   ;# 
   998  0FED                            ;# 
   999  0FEE                            ;# 
  1000  0FEF                            ;# 
  1001                           
  1002                                  psect   idataBANK0
  1003  4idataBANK0Π                    __pidataBANK0:  
  1004                           
  1005                           ;initializer for main@F3130
  1006  4idataBANK0&  3400                retlw   0
  1007  4idataBANK0&  3400                  retlw   0
  1008  4idataBANK0&  3400                  retlw   0
  1009  4idataBANK0&  3400                  retlw   0
  1010  4idataBANK0&  3400                  retlw   0
  1011  4idataBANK0&  3400                  retlw   0
  1012  4idataBANK0&  3400                  retlw   0
  1013  4idataBANK0&  3400                  retlw   0
  1014  4idataBANK0'  3410                  retlw   16
  1015  4idataBANK0 '  3410                  retlw   16
  1016  4idataBANK0
'  3410                  retlw   16
  1017  4idataBANK0'  3410                  retlw   16
  1018  4idataBANK0'  3410                  retlw   16
  1019  4idataBANK0
'  3410                  retlw   16
  1020  4idataBANK0'  3410                  retlw   16
  1021  4idataBANK0  3410                 retlw   16
  1022                           
  1023                           ;initializer for MCP23009_Query@F3053
  1024  4idataBANK0&  3409                  retlw   9
  1025  4idataBANK0y  3400                  retlw   0
  1026                           
  1027                                  psect   nvCOMMON
  1028  4nvCOMMON+                     __pnvCOMMON:       
  1029  4nvCOMMON#                     _i2c_data_p:       
Microchip PIC  1030  4nvCOMMONu                            ds      1
  1031                           
  1032                                  psect   nvBANK0
  1033  4nvBANK0*                     __pnvBANK0: 
  1034  4nvBANK0'                     I2C2@i2c_data_p:    
Microchip PIC  1035  4nvBANK0ý                            ds      1
  1036  000B                     _INTCONbits    set     11
  1037  0011                     _PIR1bits      set     17
  1038  0014                     _PIR4bits      set     20
  1039  0095                     _OPTION_REGbits        set     149
  1040  0099                     _OSCCONbits    set     153
  1041  0091                     _PIE1bits      set     145
  1042  0094                     _PIE4bits      set     148
  1043  008C                     _TRISAbits     set     140
  1044  008D                     _TRISBbits     set     141
  1045  008E  ý                   _TRISCbits set     142
  1046  010E                     _LATCbits      set     270
  1047  018C                     _ANSELA        set     396
  1048  018D                     _ANSELB        set     397
  1049  018E                     _ANSELC        set     398
  1050  0212                     _SSP1ADD       set     530
  1051  0211                     _SSP1BUF       set     529
  1052  0215                     _SSP1CON1      set     533
  1053  0215                     _SSP1CON1bits  set     533
  1054  0216                     _SSP1CON2      set     534
  1055  0216    ý                 _SSP1CON2bits      set     534
  1056  0214                     _SSP1STAT      set     532
  1057  0214                     _SSP1STATbits  set     532
  1058  021A                     _SSP2ADD       set     538
  1059  0219                     _SSP2BUF       set     537
  1060  021D                     _SSP2CON1      set     541
  1061  021D                     _SSP2CON1bits  set     541
  1062  021E                     _SSP2CON2      set     542
  1063  021E                     _SSP2CON2bits  set     542
  1064  021C                     _SSP2STAT      set     540
 H 1065  021C                     _SSP2STATbits       set     540
  1066  0212                     _SSPADD        set     530
  1067  020E                     _WPUCbits      set     526
  1068                           
  1069                           ; #config settings
  1070  0000                     
  1071                                  psect   cinit
  1072  4cinit4                     start_initialization: 
  1073  4cinit›                     __initialization:    
  1074                           
  1075                           ; Initialize objects allocated to BANK0
  1076  4cinit  01idataBANK00                      movlw   low __pidataBANK0
  1077  4cinit&  0084                       movwf   4
  1078  4cinit  01€idataBANK0<                 movlw   (high __pidataBANK0)| (0+128)
  1079  4cinit&  0085                       movwf   5
  1080  4cinit  01dataBANK0/                 movlw   low __pdataBANK0
  1081  4cinit&  0086                       movwf   6
  1082  4cinit  01dataBANK00                 movlw   high __pdataBANK0
  1083  4cinit&  0087                       movwf   7
  1084  4cinit'  3012                       movlw   18
  1085  4cinit        €1÷inittext      
   ûÿinittext
!            fcall   init_ram
  1086  4cinit§                     end_of_initialization: 
  1087                           ;End of C runtime variable initialization code
  1088                           
  1089  4cinit8                     __end_of__initialization:       
  1090  4cinit&  0020                       movlb   0
  1091  4cinit  €1÷maintext   
  (ûÿmaintext
Π          ljmp    _main   ;jump to C main() function
  1092                           
  1093                                  psect   dataBANK0
  1094  4dataBANK0,                     __pdataBANK0:     
  1095  4dataBANK0"                     main@F3130:       
Microchip PIC  1096  4dataBANK0$                           ds      16
  1097  4dataBANK0,                     MCP23009_Query@F3053:       
Microchip PIC  1098  4dataBANK0v                             ds      2
  1099                           
  1100                                  psect   inittext
  1101  4inittext(                     init_ram:  
  1102  4inittext(  00FE                  movwf   126
  1103  4inittext(                     initloop:    
  1104  4inittext+  0012                    moviw fsr0++
  1105  4inittext+  001E                    movwi fsr1++
  1106  4inittext+  0BFE                    decfsz  126,f
  1107  4inittext  (ûÿinittext
&                    goto    initloop
  1108  4inittext|  3400                    retlw   0
  1109                           
  1110                                  psect   cstackBANK2
  1111  4cstackBANK2.                     __pcstackBANK2: 
  1112  4cstackBANK2z                     main@i2c2_data: 
  1113                           
  1114                           ; 77 bytes @ 0x0
Microchip PIC  1115  4cstackBANK2z                         ds      77
  1116                           
  1117                                  psect   cstackBANK1
  1118  4cstackBANK1.                     __pcstackBANK1: 
  1119  4cstackBANK1z                     main@i2c1_data: 
  1120                           
  1121                           ; 77 bytes @ 0x0
Microchip PIC  1122  4cstackBANK1{                         ds      77
  1123                           
  1124                                  psect   cstackCOMMON
  1125  4cstackCOMMON/                     __pcstackCOMMON:       
  1126  4cstackCOMMON+                     ?_I2C1_Init:   
  1127  4cstackCOMMON‰                     ?_I2C1_Configure_Slave:       
  1128                           ; 0 bytes @ 0x0
  1129                           
  1130  4cstackCOMMON~                     ?_I2C2_Init:   
  1131                           ; 0 bytes @ 0x0
  1132                           
  1133  4cstackCOMMONŠ                     ?_I2C2_Configure_Master:      
  1134                           ; 0 bytes @ 0x0
  1135                           
  1136  4cstackCOMMONƒ                     ?_Interrupt_Init:     
  1137                           ; 0 bytes @ 0x0
  1138                           
  1139  4cstackCOMMON…                     ?_Interrupt_Enable:   
  1140                           ; 0 bytes @ 0x0
  1141                           
  1142  4cstackCOMMON‚                     ?_TLC59116_Init:      
  1143                           ; 0 bytes @ 0x0
  1144                           
  1145  4cstackCOMMON‡                     ?_TLC59116_Write_All: 
  1146                           ; 0 bytes @ 0x0
  1147                           
  1148  4cstackCOMMON‚                     ?_MCP23009_Init:      
  1149                           ; 0 bytes @ 0x0
  1150                           
  1151  4cstackCOMMONŠ                     ?_I2C1_Interrupt_Master:      
  1152                           ; 0 bytes @ 0x0
  1153                           
  1154  4cstackCOMMON‹                     ??_I2C1_Interrupt_Master:     
  1155                           ; 0 bytes @ 0x0
  1156                           
  1157  4cstackCOMMON‰                     ?_I2C1_Interrupt_Slave:       
  1158                           ; 0 bytes @ 0x0
  1159                           
  1160  4cstackCOMMONŠ                     ??_I2C1_Process_Receive:      
  1161                           ; 0 bytes @ 0x0
  1162                           
  1163  4cstackCOMMON‹                     ?_I2C2_Interrupt_Handler:     
  1164                           ; 0 bytes @ 0x0
  1165                           
  1166  4cstackCOMMONŠ                     ?_I2C2_Interrupt_Master:      
  1167                           ; 0 bytes @ 0x0
  1168                           
  1169  4cstackCOMMON‹                     ??_I2C2_Interrupt_Master:     
  1170                           ; 0 bytes @ 0x0
  1171                           
  1172  4cstackCOMMON‰                     ?_I2C2_Interrupt_Slave:       
  1173                           ; 0 bytes @ 0x0
  1174                           
  1175  4cstackCOMMONŠ                     ??_I2C2_Process_Receive:      
  1176                           ; 0 bytes @ 0x0
  1177                           
  1178  4cstackCOMMON~                     ?_Pins_Init:   
  1179                           ; 0 bytes @ 0x0
  1180                           
  1181  4cstackCOMMON‹                     ?_I2C1_Interrupt_Handler:     
  1182                           ; 0 bytes @ 0x0
  1183                           
  1184  4cstackCOMMON…                     ?_InterruptHandler:   
  1185                           ; 0 bytes @ 0x0
  1186                           
  1187  4cstackCOMMONƒ                     ?_MCP23009_Query:     
  1188                           ; 0 bytes @ 0x0
  1189                           
  1190  4cstackCOMMON‰                     ?_I2C1_Process_Receive:       
  1191                           ; 1 bytes @ 0x0
  1192                           
  1193  4cstackCOMMON‰                     ?_I2C2_Process_Receive:       
  1194                           ; 1 bytes @ 0x0
  1195                           
  1196  4cstackCOMMON                     ?_Read_Address:       
  1197                           ; 1 bytes @ 0x0
  1198                           
  1199  4cstackCOMMON„                     ?_I2C2_Get_Status:    
  1200                           ; 1 bytes @ 0x0
  1201                           
  1202  4cstackCOMMON…                     ?_I2C2_Read_Buffer:   
  1203                           ; 1 bytes @ 0x0
  1204                           
  1205  4cstackCOMMONy                     ?_main:        
  1206                           ; 1 bytes @ 0x0
  1207                           
  1208  4cstackCOMMON‰                     I2C1_Process_Receive@c:       
  1209                           ; 2 bytes @ 0x0
  1210                           
  1211  4cstackCOMMONÔ                     I2C2_Process_Receive@c:       
  1212                           ; 1 bytes @ 0x0
  1213                           
  1214                           
  1215                           ; 1 bytes @ 0x0
Microchip PIC  1216  4cstackCOMMON#                        ds      1
  1217  4cstackCOMMON8                     I2C1_Process_Receive@ret:        
  1218  4cstackCOMMONÖ                     I2C2_Process_Receive@ret:       
  1219                           ; 1 bytes @ 0x1
  1220                           
  1221                           
  1222                           ; 1 bytes @ 0x1
Microchip PIC  1223  4cstackCOMMON#                          ds      1
  1224  4cstackCOMMON7                     ??_I2C1_Interrupt_Slave: 
  1225  4cstackCOMMONŠ                     ??_I2C2_Interrupt_Slave:        
  1226                           ; 0 bytes @ 0x2
  1227                           
  1228  4cstackCOMMONΠ                    I2C1_Interrupt_Master@tmp:      
  1229                           ; 0 bytes @ 0x2
  1230                           
  1231  4cstackCOMMON×                     I2C2_Interrupt_Master@tmp:      
  1232                           ; 1 bytes @ 0x2
  1233                           
  1234                           
  1235                           ; 1 bytes @ 0x2
Microchip PIC  1236  4cstackCOMMON#                          ds      1
  1237  4cstackCOMMON=                     I2C1_Interrupt_Master@tmp_611:   
  1238  4cstackCOMMONÛ                     I2C2_Interrupt_Master@tmp_923:  
  1239                           ; 1 bytes @ 0x3
  1240                           
  1241                           
  1242                           ; 1 bytes @ 0x3
Microchip PIC  1243  4cstackCOMMON#                          ds      1
  1244  4cstackCOMMONB                     I2C1_Interrupt_Slave@overrun_error:      
  1245  4cstackCOMMONà                     I2C2_Interrupt_Slave@overrun_error:     
  1246                           ; 1 bytes @ 0x4
  1247                           
  1248                           
  1249                           ; 1 bytes @ 0x4
Microchip PIC  1250  4cstackCOMMON#                          ds      1
  1251  4cstackCOMMONK                     I2C1_Interrupt_Slave@data_written_to_buffer:     
  1252  4cstackCOMMONé                     I2C2_Interrupt_Slave@data_written_to_buffer:    
  1253                           ; 1 bytes @ 0x5
  1254                           
  1255                           
  1256                           ; 1 bytes @ 0x5
Microchip PIC  1257  4cstackCOMMON#                          ds      1
  1258  4cstackCOMMONB                     I2C1_Interrupt_Slave@received_data:      
  1259  4cstackCOMMONà                     I2C2_Interrupt_Slave@received_data:     
  1260                           ; 1 bytes @ 0x6
  1261                           
  1262                           
  1263                           ; 1 bytes @ 0x6
Microchip PIC  1264  4cstackCOMMON#                          ds      1
  1265  4cstackCOMMONJ                     I2C1_Interrupt_Slave@data_read_from_buffer:      
  1266  4cstackCOMMONè                     I2C2_Interrupt_Slave@data_read_from_buffer:     
  1267                           ; 1 bytes @ 0x7
  1268                           
  1269                           
  1270                           ; 1 bytes @ 0x7
Microchip PIC  1271  4cstackCOMMON#                          ds      1
  1272  4cstackCOMMON9                     ??_I2C2_Interrupt_Handler:       
  1273  4cstackCOMMONΠ                    ??_I2C1_Interrupt_Handler:      
  1274                           ; 0 bytes @ 0x8
  1275                           
  1276  4cstackCOMMONÑ                     ??_InterruptHandler:    
  1277                           ; 0 bytes @ 0x8
  1278                           
  1279                           
  1280                           ; 0 bytes @ 0x8
Microchip PIC  1281  4cstackCOMMONy                          ds      1
  1282                           
  1283                                  psect   cstackBANK0
  1284  4cstackBANK0.                     __pcstackBANK0: 
  1285  4cstackBANK0,                     ??_I2C1_Init:   
  1286  4cstackBANK0Š                     ??_I2C1_Configure_Slave:       
  1287                           ; 0 bytes @ 0x0
  1288                           
  1289  4cstackBANK0                     ??_I2C2_Init:   
  1290                           ; 0 bytes @ 0x0
  1291                           
  1292  4cstackBANK0‹                     ??_I2C2_Configure_Master:      
  1293                           ; 0 bytes @ 0x0
  1294                           
  1295  4cstackBANK0„                     ??_Interrupt_Init:     
  1296                           ; 0 bytes @ 0x0
  1297                           
  1298  4cstackBANK0†                     ??_Interrupt_Enable:   
  1299                           ; 0 bytes @ 0x0
  1300                           
  1301  4cstackBANK0                     ??_Pins_Init:   
  1302                           ; 0 bytes @ 0x0
  1303                           
  1304  4cstackBANK0‚                     ??_Read_Address:       
  1305                           ; 0 bytes @ 0x0
  1306                           
  1307  4cstackBANK0…                     ?_I2C2_Master_Send:    
  1308                           ; 0 bytes @ 0x0
  1309                           
  1310  4cstackBANK0…                     ?_I2C2_Master_Recv:    
  1311                           ; 0 bytes @ 0x0
  1312                           
  1313  4cstackBANK0…                     ??_I2C2_Get_Status:    
  1314                           ; 0 bytes @ 0x0
  1315                           
  1316  4cstackBANK0†                     ??_I2C2_Read_Buffer:   
  1317                           ; 0 bytes @ 0x0
  1318                           
  1319  4cstackBANK0Š                     I2C2_Master_Send@length:       
  1320                           ; 0 bytes @ 0x0
  1321                           
  1322  4cstackBANK0Õ                     I2C2_Master_Recv@length:       
  1323                           ; 1 bytes @ 0x0
  1324                           
  1325                           
  1326                           ; 1 bytes @ 0x0
Microchip PIC  1327  4cstackBANK0#                         ds      1
  1328  4cstackBANK03                     ??_I2C2_Master_Recv:      
  1329  4cstackBANK0                     I2C1_Init@data:  
  1330                           ; 0 bytes @ 0x1
  1331                           
  1332  4cstackBANK0Π                    I2C1_Configure_Slave@addr:       
  1333                           ; 1 bytes @ 0x1
  1334                           
  1335  4cstackBANK0                     I2C2_Init@data:  
  1336                           ; 1 bytes @ 0x1
  1337                           
  1338  4cstackBANK0Ž                     I2C2_Configure_Master@speed:     
  1339                           ; 1 bytes @ 0x1
  1340                           
  1341  4cstackBANK0Ò                     I2C2_Master_Send@msg:    
  1342                           ; 1 bytes @ 0x1
  1343                           
  1344                           
  1345                           ; 1 bytes @ 0x1
Microchip PIC  1346  4cstackBANK0#                           ds      1
  1347  4cstackBANK03                     ??_I2C2_Master_Send:      
  1348  4cstackBANK0Ö                     I2C2_Master_Recv@address:        
  1349                           ; 0 bytes @ 0x2
  1350                           
  1351                           
  1352                           ; 1 bytes @ 0x2
Microchip PIC  1353  4cstackBANK0#                           ds      1
  1354  4cstackBANK00                     Read_Address@ret: 
  1355  4cstackBANK0Õ                     I2C2_Read_Buffer@buffer: 
  1356                           ; 1 bytes @ 0x3
  1357                           
  1358                           
  1359                           ; 1 bytes @ 0x3
Microchip PIC  1360  4cstackBANK0#                           ds      1
  1361  4cstackBANK0}                     I2C2_Read_Buffer@i:       
  1362                           
  1363                           ; 1 bytes @ 0x4
Microchip PIC  1364  4cstackBANK0#                           ds      1
  1365  4cstackBANK0ƒ                     I2C2_Master_Send@address:        
  1366                           
  1367                           ; 1 bytes @ 0x5
Microchip PIC  1368  4cstackBANK0#                           ds      1
  1369  4cstackBANK0}                     I2C2_Master_Send@i:       
  1370                           
  1371                           ; 1 bytes @ 0x6
Microchip PIC  1372  4cstackBANK0#                           ds      1
  1373  4cstackBANK00                     ??_TLC59116_Init: 
  1374  4cstackBANK0ˆ                     ??_TLC59116_Write_All:   
  1375                           ; 0 bytes @ 0x7
  1376                           
  1377  4cstackBANK0ƒ                     ??_MCP23009_Init:        
  1378                           ; 0 bytes @ 0x7
  1379                           
  1380  4cstackBANK0Ï                     ??_MCP23009_Query:       
  1381                           ; 0 bytes @ 0x7
  1382                           
  1383                           
  1384                           ; 0 bytes @ 0x7
Microchip PIC  1385  4cstackBANK0#                           ds      1
  1386  4cstackBANK0€                     MCP23009_Query@buffer:   
  1387                           
  1388                           ; 2 bytes @ 0x8
Microchip PIC  1389  4cstackBANK0#                           ds      1
  1390  4cstackBANK0        4                     MCP23009_Init@buffer:      
  1391  4cstackBANK0        Π                    TLC59116_Write_All@buffer:        
  1392                           ; 8 bytes @ 0x9
  1393                           
  1394  4cstackBANK0        Ô                     TLC59116_Init@buffer:     
  1395                           ; 17 bytes @ 0x9
  1396                           
  1397                           
  1398                           ; 25 bytes @ 0x9
Microchip PIC  1399  4cstackBANK0    #                        ds      1
  1400  4cstackBANK0
€                     MCP23009_Query@result:    
  1401                           
  1402                           ; 1 bytes @ 0xA
Microchip PIC  1403  4cstackBANK0
#                        ds      7
  1404  4cstackBANK0€                     MCP23009_Init@result:    
  1405                           
  1406                           ; 1 bytes @ 0x11
Microchip PIC  1407  4cstackBANK0#                           ds      9
  1408  4cstackBANK0…                     TLC59116_Write_All@result:       
  1409                           
  1410                           ; 1 bytes @ 0x1A
Microchip PIC  1411  4cstackBANK0#                           ds      1
  1412  4cstackBANK0…                     TLC59116_Write_All@values:       
  1413                           
  1414                           ; 1 bytes @ 0x1B
Microchip PIC  1415  4cstackBANK0#                           ds      7
  1416  4cstackBANK0"€                     TLC59116_Init@result:    
  1417                           
  1418                           ; 1 bytes @ 0x22
Microchip PIC  1419  4cstackBANK0"#                           ds      1
  1420  4cstackBANK0#s                     ??_main:  
  1421                           
  1422                           ; 0 bytes @ 0x23
Microchip PIC  1423  4cstackBANK0##                           ds      1
  1424  4cstackBANK0$v                     main@leds:        
  1425                           
  1426                           ; 16 bytes @ 0x24
Microchip PIC  1427  4cstackBANK0$$                           ds      16
  1428  4cstackBANK04                     main@i2c_slave_addr:      
  1429                           
  1430                           ; 1 bytes @ 0x34
Microchip PIC  1431  4cstackBANK04#                           ds      1
  1432  4cstackBANK05z                     main@btn_value:   
  1433                           
  1434                           ; 1 bytes @ 0x35
Microchip PIC  1435  4cstackBANK05#                           ds      1
  1436  4cstackBANK06r                     main@i:   
  1437                           
  1438                           ; 1 bytes @ 0x36
Microchip PIC  1439  4cstackBANK06v                           ds      1
  1440                           
  1441                                  psect   maintext
  1442  4maintextý                     __pmaintext:      
  1443 ;;
  1444 ;;Main: autosize = 0, tempsize = 1, incstack = 0, save=0
  1445 ;;
  1446 ;; *************** function _main *****************
  1447 ;; Defined at:
  1448 ;;               line 87 in file "main.c"
  1449 ;; Parameters:    Size  Location     Type
  1450 ;;               None
  1451 ;; Auto vars:     Size  Location     Type
  1452 ;;  i               1   54[BANK0 ] unsigned char 
  1453 ;;  btn_value       1   53[BANK0 ] unsigned char 
  1454 ;;  i2c2_data      77    0[BANK2 ] strýuct .
  1455 ;;  i2c1_data      77    0[BANK1 ] struct .
  1456 ;;  buffer         32    0        unsigned char [32]
  1457 ;;  leds           16   36[BANK0 ] unsigned char [16]
  1458 ;;  i2c_slave_ad    1   52[BANK0 ] unsigned char 
  1459 ;;  length          1    0        unsigned char 
  1460 ;;  result          1    0        unsigned char 
  1461 ;; Return value:  Size  Location     Type
  1462 ;;                  2   54[COMMON] int 
  1463 ;; Registers used:
  1464 ;;               wreg, fsr0l, fsr0h, fsr1l, fsýr1h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  1465 ;; Tracked objects:
  1466 ;;               On entry : 17F/0
  1467 ;;               On exit  : 0/0
  1468 ;;               Unchanged: 0/0
  1469 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  1470 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1471 ;;      Locals:         0      19      77 ý     77       0       0       0       0       0       0       0       0       
      +0       0
  1472 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1473 ;;      Totals:         0      20      77      77       0       0       0       0       0       0       0       0       
      +0       0
  1474 ;;Total ram usage:      174 bytes
  1475 ;; Hardware stack levels required when called:    6
  1476 ;; This functioný calls:
  1477 ;;               _Pins_Init
  1478 ;;               _Read_Address
  1479 ;;               _I2C1_Init
  1480 ;;               _I2C1_Configure_Slave
  1481 ;;               _I2C2_Init
  1482 ;;               _I2C2_Configure_Master
  1483 ;;               _Interrupt_Init
  1484 ;;               _Interrupt_Enable
  1485 ;;               _TLC59116_Init
  1486 ;;               _TLC59116_Write_All
  1487 ;;               _MCP23009_Init
  1488 ;;               _MCP23009_Query
  1489 ;; This function is called by:
  1490 ;;               Startup code after reset
  1491 ;; This function uses a non-reentrant model
  1492 ;;
  1493                           
  1494  ]                         
  1495                           ;psect for function _main
  1496  4maintextë                     _main:    
  1497                           
  1498                           ;main.c: 88: uint8_t buffer[32];
  1499                           ;main.c: 89: uint8_t result, length;
  1500                           ;main.c: 90: uint8_t i2c_slave_addr;
  1501                           ;main.c: 93: OSCCONbits.SPLLEN = 1;
  1502                           
  1503                           ;incstack = 0
  1504                           ; Regs used in _main: [allreg]
  1505  4maintext5  0021                  movlb   1       ; select bank1
  1506  4maintext˜  1799                   bsf     25,7    ;volatile
  1507                           
  1508                           ;main.c: 94: OSCCONbits.IRCF = 0xE;
  1509  4maintext2  0819                    movf    25,w    ;volatile
  1510  4maintext)  3987                    andlw   -121
  1511  4maintext(  3870                    iorlw   112
  1512  4maintext˜  0099                   movwf   25      ;volatile
  1513                           
  1514                           ;main.c: 95: OSCCONbits.SCS = 0b00;
  1515  4maintext'  30FC                    movlw   -4
  1516  4maintext‘  0599                   andwf   25,f    ;volatile
  1517                           
  1518                           ;main.c: 102: Pins_Init();
  1519  4maintext  €1÷text16  
   ûÿtext16
  €1÷maintext  
           fcall   _Pins_Init
  1520                           
  1521                           ;main.c: 104: i2c_slave_addr = Read_Address();
  1522  4maintext  €1÷text15  
   ûÿtext15
  €1÷maintext  
     fcall   _Read_Address
  1523  4maintext5  0020                    movlb   0        ; select bank0
  1524  4maintext  €÷cstackBANK0#&                     movwf   ??_main
  1525  4maintext  ÷cstackBANK0#'                      movf    ??_main,w
  1526  4maintext  €÷cstackBANK04Þ                    movwf   main@i2c_slave_addr
  1527                           
  1528                           ;main.c: 107: I2C1_DATA i2c1_data;
  1529                           ;main.c: 108: I2C1_Init(&i2c1_data);
  1530  4maintext  01ÿcstackBANK1
6                    movlw   main@i2c1_data& (0+255)
  1531  4maintext  €1÷text14  
   ûÿtext14
  €1÷maintext  
”           fcall   _I2C1_Init
  1532                           
  1533                           ;main.c: 109: I2C1_Configure_Slave(i2c_slave_addr);
  1534  4maintext5  0020                    movlb   0        ; select bank0
  1535  4maintext  ÷cstackBANK043                      movf    main@i2c_slave_addr,w
  1536  4maintext  €1÷text13  
   ûÿtext13
  €1÷maintext  
Ô           fcall   _I2C1_Configure_Slave
  1537                           
  1538                           ;main.c: 112: I2C2_DATA i2c2_data;
  1539                           ;main.c: 113: I2C2_Init(&i2c2_data);
  1540  4maintext  01ÿcstackBANK2
6                    movlw   main@i2c2_data& (0+255)
  1541  4maintext  €1÷text12  
   ûÿtext12
  €1÷maintext  
Š           fcall   _I2C2_Init
  1542                           
  1543                           ;main.c: 114: I2C2_Configure_Master(0x0);
  1544  4maintext&  3000                    movlw   0
  1545  4maintext   €1÷text11  
   ûÿtext11
  €1÷maintext  
Π          fcall   _I2C2_Configure_Master
  1546                           
  1547                           ;main.c: 117: Interrupt_Init();
  1548  4maintext#  €1÷text10  
   ûÿtext10
  €1÷maintext  
‡           fcall   _Interrupt_Init
  1549                           
  1550                           ;main.c: 118: Interrupt_Enable();
  1551  4maintext&  €1÷text9   
   ûÿtext9
  €1÷maintext  
†           fcall   _Interrupt_Enable
  1552                           
  1553                           ;main.c: 120: TLC59116_Init();
  1554  4maintext)  €1÷text6   
   ûÿtext6
  €1÷maintext  
t    fcall   _TLC59116_Init
  1555                           
  1556                           ;main.c: 122: uint8_t leds[16] = {0x00, 0x00, 0x00, 0x00,
  1557                           ;main.c: 123: 0x00, 0x00, 0x00, 0x00,
  1558                           ;main.c: 124: 0x10, 0x10, 0x10, 0x10,
  1559                           ;main.c: 125: 0x10, 0x10, 0x10, 0x10};
  1560  4maintext,  01dataBANK0-                      movlw   low main@F3130
  1561  4maintext-&  0086                    movwf   6
  1562  4maintext.  01dataBANK0.                      movlw   high main@F3130
  1563  4maintext/&  0087                    movwf   7
  1564  4maintext0  01cstackBANK0$,                      movlw   low main@leds
  1565  4maintext1&  0084                    movwf   4
  1566  4maintext2  01cstackBANK0$-                      movlw   high main@leds
  1567  4maintext3&  0085                    movwf   5
  1568  4maintext4'  3010                    movlw   16
  1569  4maintext5(  00FF                    movwf   127
  1570  4maintext6%                     u1080:       
  1571  4maintext6+  0016                    moviw fsr1++
  1572  4maintext7+  001A                    movwi fsr0++
  1573  4maintext8+  0BFF                    decfsz  127,f
  1574  4maintext9  (ûÿmaintext6
Ž                   goto    u1080
  1575                           
  1576                           ;main.c: 126: TLC59116_Write_All(leds);
  1577  4maintext:  !01ÿcstackBANK0$
1                    movlw   main@leds& (0+255)
  1578  4maintext;  €1÷text5   
   ûÿtext5
  €1÷maintext  
ˆ           fcall   _TLC59116_Write_All
  1579                           
  1580                           ;main.c: 128: MCP23009_Init();
  1581  4maintext>  €1÷text4   
   ûÿtext4
  €1÷maintext  
!    fcall   _MCP23009_Init
  1582  4maintextAù                     l2157:      
  1583                           ;main.c: 131: while (1) {
  1584                           
  1585                           
  1586                           ;main.c: 132: uint8_t btn_value = MCP23009_Query();
  1587  4maintextA  €1÷text1   
   ûÿtext1
  €1÷maintext  
"    fcall   _MCP23009_Query
  1588  4maintextD5  0020                    movlb   0        ; select bank0
  1589  4maintextE  €÷cstackBANK0#&                     movwf   ??_main
  1590  4maintextF  ÷cstackBANK0#'                      movf    ??_main,w
  1591  4maintextG  €÷cstackBANK05Ò                    movwf   main@btn_value
  1592                           
  1593                           ;main.c: 133: uint8_t i;
  1594                           ;main.c: 134: for (i = 0; i < 8; i++) {
  1595  4maintextH  €÷cstackBANK06$                     clrf    main@i
  1596  4maintextI&  3008                    movlw   8
  1597  4maintextJ  ÷cstackBANK06'                      subwf   main@i,w
  1598  4maintextK(  1803                    btfsc   3,0
  1599  4maintextL  (ûÿmaintextl
#                    goto    l2175
  1600  4maintextM”                     l2165:      
  1601                           
  1602                           ;main.c: 135: if ((btn_value >> i) & 0x1) {
  1603  4maintextM  ÷cstackBANK05.                      movf    main@btn_value,w
  1604  4maintextN  €÷cstackBANK0#&                     movwf   ??_main
  1605  4maintextO  
÷cstackBANK06&                   incf    main@i,w
  1606  4maintextP  )(ûøÿÿmaintext
maintextR#                   goto    u1104
  1607  4maintextQ%                     u1105:       
  1608  4maintextQ  €6÷cstackBANK0#'                     lsrf    ??_main,f
  1609  4maintextR%                     u1104:       
  1610  4maintextR)  0B89                    decfsz  9,f
  1611  4maintextS  (ûÿmaintextQ
#                    goto    u1105
  1612  4maintextT  ÷cstackBANK0#(                      btfss   ??_main,0
  1613  4maintextU  (ûÿmaintext\
„                   goto    l2169
  1614                           
  1615                           ;main.c: 136: leds[i] = 0x00;
  1616  4maintextV  ÷cstackBANK06&                      movf    main@i,w
  1617  4maintextW  !>1ÿcstackBANK0$
1                    addlw   main@leds& (0+255)
  1618  4maintextX&  0086                    movwf   6
  1619  4maintextY%  0187                    clrf    7
  1620  4maintextZ  0181                    clrf    1
  1621                           
  1622                           ;main.c: 137: } else {
  1623  4maintext[  )(ûøÿÿmaintext
maintextd#                   goto    l2171
  1624  4maintext\†                     l2169:      
  1625                           
  1626                           ;main.c: 138: leds[i] = 0x10;
  1627  4maintext\'  3010                    movlw   16
  1628  4maintext]  €÷cstackBANK0#&                     movwf   ??_main
  1629  4maintext^  ÷cstackBANK06&                      movf    main@i,w
  1630  4maintext_  !>1ÿcstackBANK0$
1                    addlw   main@leds& (0+255)
  1631  4maintext`&  0086                    movwf   6
  1632  4maintexta%  0187                    clrf    7
  1633  4maintextb  ÷cstackBANK0#'                      movf    ??_main,w
  1634  4maintextc&  0081                    movwf   1
  1635  4maintextd%                     l2171:       
  1636  4maintextd&  3001                    movlw   1
  1637  4maintexte  €÷cstackBANK0#&                     movwf   ??_main
  1638  4maintextf  ÷cstackBANK0#'                      movf    ??_main,w
  1639  4maintextg  €÷cstackBANK06'                     addwf   main@i,f
  1640  4maintexth&  3008                    movlw   8
  1641  4maintexti  ÷cstackBANK06'                      subwf   main@i,w
  1642  4maintextj$  1C03                    skipc
  1643  4maintextk  (ûÿmaintextM
#                    goto    l2165
  1644  4maintextlò                     l2175:      
  1645                           
  1646                           ;main.c: 139: }
  1647                           ;main.c: 140: }
  1648                           ;main.c: 141: TLC59116_Write_All(leds);
  1649  4maintextl  !01ÿcstackBANK0$
1                    movlw   main@leds& (0+255)
  1650  4maintextm  €1÷text5   
   ûÿtext5
  €1÷maintext  
&    fcall   _TLC59116_Write_All
  1651  4maintextp  )(ûøÿÿmaintext
maintextA#                   goto    l2157
  1652  4maintextq}                     __end_of_main:       
  1653                           
  1654                                  psect   text1
  1655  4text1ý                     __ptext1:    
  1656 ;; *************** function _MCP23009_Query *****************
  1657 ;; Defined at:
  1658 ;;               line 25 in file "MCP23009.c"
  1659 ;; Parameters:    Size  Location     Type
  1660 ;;               None
  1661 ;; Auto vars:     Size  Location     Type
  1662 ;;  buffer          2    8[BANK0 ] unsigned char [2]
  1663 ;;  result          1   10[BANK0 ] unsigned char 
  1664 ;; Return value:  Size  Location     Type
  1665 ;;                  1    wreg      unsigned char 
  1666 ;;ý Registers used:
  1667 ;;               wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  1668 ;; Tracked objects:
  1669 ;;               On entry : 0/0
  1670 ;;               On exit  : 0/0
  1671 ;;               Unchanged: 0/0
  1672 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  1673 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1674 ;;      Locals:         ý0       3       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1675 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1676 ;;      Totals:         0       4       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1677 ;;Total ram usage:        4 bytes
  1678 ;; Hardware stack levels used:    1
  1679 ;; Hardware st½ack levels required when called:    5
  1680 ;; This function calls:
  1681 ;;               _I2C2_Master_Send
  1682 ;;               _I2C2_Master_Recv
  1683 ;;               _I2C2_Get_Status
  1684 ;;               _I2C2_Read_Buffer
  1685 ;; This function is called by:
  1686 ;;               _main
  1687 ;; This function uses a non-reentrant model
  1688 ;;
  1689                           
  1690                           
  1691                           ;psect for function _MCP23009_Query
  1692  4text1d                     _MCP23009_Query:      
  1693                           
  1694                           ;MCP23009.c: 26: uint8_t buffer[2] = {0x09};
  1695                           
  1696                           ;incstack = 0
  1697                           ; Regs used in _MCP23009_Query: [wreg+fsr1l+fsr1h+status,2+status,0+pclath+cstack]
  1698  4text15  0020                     movlb   0        ; select bank0
  1699  4text1  ÷dataBANK06                   movf    MCP23009_Query@F3053+1,w
  1700  4text1  €÷cstackBANK0 5                clrf    MCP23009_Query@buffer+1
  1701  4text1  €÷cstackBANK0 8                addwf   MCP23009_Query@buffer+1,f
  1702  4text1  ÷dataBANK04                   movf    MCP23009_Query@F3053,w
  1703  4text1  €÷cstackBANK03                clrf    MCP23009_Query@buffer
  1704  4text1  €÷cstackBANK0­                       addwf   MCP23009_Query@buffer,f
  1705                           
  1706                           ;MCP23009.c: 28: I2C2_Master_Send(0x20, 1, buffer);
  1707  4text1  €÷cstackBANK00                      clrf    ?_I2C2_Master_Send
  1708  4text1  €
÷cstackBANK02                 incf    ?_I2C2_Master_Send,f
  1709  4text1        !01ÿcstackBANK0
=                    movlw   MCP23009_Query@buffer& (0+255)
  1710  4text1
  €÷cstackBANK00                   movwf   ??_MCP23009_Query
  1711  4text1  ÷cstackBANK01                 movf    ??_MCP23009_Query,w
  1712  4text1  €÷cstackBANK03                movwf   ?_I2C2_Master_Send+1
  1713  4text1
'  3020                       movlw   32
  1714  4text1  €1÷text8      
   ûÿtext8
  €1÷text1     
$    fcall   _I2C2_Master_Send
  1715  4text10                     l2393:  
  1716                           ;MCP23009.c: 29: uint8_t result;
  1717                           ;MCP23009.c: 30: do {
  1718                           
  1719                           
  1720                           ;MCP23009.c: 31: result = I2C2_Get_Status();
  1721  4text1  €1÷text7      
   ûÿtext7
  €1÷text1     
#    fcall   _I2C2_Get_Status
  1722  4text15  0020                       movlb   0        ; select bank0
  1723  4text1  €÷cstackBANK00                movwf   ??_MCP23009_Query
  1724  4text1  ÷cstackBANK01                 movf    ??_MCP23009_Query,w
  1725  4text1  €÷cstackBANK0
›                       movwf   MCP23009_Query@result
  1726                           
  1727                           ;MCP23009.c: 32: } while (!result);
  1728  4text1  ÷cstackBANK0
5                movf    MCP23009_Query@result,w
  1729  4text1(  1903                       btfsc   3,2
  1730  4text1  (ûÿtext1
’                   goto    l2393
  1731                           
  1732                           ;MCP23009.c: 34: I2C2_Master_Recv(0x20, 1);
  1733  4text1  €÷cstackBANK00                      clrf    ?_I2C2_Master_Recv
  1734  4text1  €
÷cstackBANK02                 incf    ?_I2C2_Master_Recv,f
  1735  4text1'  3020                       movlw   32
  1736  4text1  €1÷text3      
   ûÿtext3
  €1÷text1     
$    fcall   _I2C2_Master_Recv
  1737  4text1!/                     l500:   
  1738                           ;MCP23009.c: 35: uint8_t result;
  1739                           ;MCP23009.c: 36: do {
  1740                           
  1741                           
  1742                           ;MCP23009.c: 37: result = I2C2_Get_Status();
  1743  4text1!  €1÷text7      
   ûÿtext7
  €1÷text1     
#    fcall   _I2C2_Get_Status
  1744  4text1$5  0020                       movlb   0        ; select bank0
  1745  4text1%  €÷cstackBANK00                movwf   ??_MCP23009_Query
  1746  4text1&  ÷cstackBANK01                 movf    ??_MCP23009_Query,w
  1747  4text1'  €÷cstackBANK0
›                       movwf   MCP23009_Query@result
  1748                           
  1749                           ;MCP23009.c: 38: } while (!result);
  1750  4text1(  ÷cstackBANK0
5                movf    MCP23009_Query@result,w
  1751  4text1)(  1903                       btfsc   3,2
  1752  4text1*  (ûÿtext1!
                   goto    l500
  1753                           
  1754                           ;MCP23009.c: 39: I2C2_Read_Buffer(buffer);
  1755  4text1+  !01ÿcstackBANK0
=                    movlw   MCP23009_Query@buffer& (0+255)
  1756  4text1,  €1÷text2      
   ûÿtext2
           fcall   _I2C2_Read_Buffer
  1757                           
  1758                           ;MCP23009.c: 41: return buffer[0];
  1759  4text1.5  0020                       movlb   0        ; select bank0
  1760  4text1/  ÷cstackBANK05                 movf    MCP23009_Query@buffer,w
  1761  4text10%  0008                       return
  1762  4text11‡                     __end_of_MCP23009_Query:       
  1763                           
  1764                                  psect   text2
  1765  4text2ý                     __ptext2:    
  1766 ;; *************** function _I2C2_Read_Buffer *****************
  1767 ;; Defined at:
  1768 ;;               line 506 in file "I2C2.c"
  1769 ;; Parameters:    Size  Location     Type
  1770 ;;  buffer          1    wreg     PTR unsigned char 
  1771 ;;                -> MCP23009_Query@buffer(2), 
  1772 ;; Auto vars:     Size  Location     Type
  1773 ;;  buffer          1    3[BANK0 ] PTR unsigned char 
  1774 ;;                -> MCP23009_Query@buffer(2), 
  1775 ;;  i               1    4[BANK0 ] unýsigned char 
  1776 ;; Return value:  Size  Location     Type
  1777 ;;                  1    wreg      unsigned char 
  1778 ;; Registers used:
  1779 ;;               wreg, fsr1l, fsr1h, status,2, status,0
  1780 ;; Tracked objects:
  1781 ;;               On entry : 0/0
  1782 ;;               On exit  : 0/0
  1783 ;;               Unchanged: 0/0
  1784 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  1785 ;;      Params:         0       0       0       0       0ý       0       0       0       0       0       0       0       
      +0       0
  1786 ;;      Locals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1787 ;;      Temps:          0       3       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1788 ;;      Totals:         0       5       0       0       0       0       0       0       0       0       0       0       
      +0  Ù     0
  1789 ;;Total ram usage:        5 bytes
  1790 ;; Hardware stack levels used:    1
  1791 ;; Hardware stack levels required when called:    4
  1792 ;; This function calls:
  1793 ;;               Nothing
  1794 ;; This function is called by:
  1795 ;;               _MCP23009_Query
  1796 ;; This function uses a non-reentrant model
  1797 ;;
  1798                           
  1799                           
  1800                           ;psect for function _I2C2_Read_Buffer
  1801  4text25                     _I2C2_Read_Buffer:    
  1802                           
  1803                           ;incstack = 0
  1804                           ; Regs used in _I2C2_Read_Buffer: [wreg+fsr1l+fsr1h+status,2+status,0]
  1805                           ;I2C2_Read_Buffer@buffer stored from wreg
  1806  4text25  0020                     movlb   0        ; select bank0
  1807  4text2  €÷cstackBANK0–                       movwf   I2C2_Read_Buffer@buffer
  1808                           
  1809                           ;I2C2.c: 507: uint8_t i = 0;
  1810  4text2  €÷cstackBANK00                clrf    I2C2_Read_Buffer@i
  1811  4text2ž                     l445:  
  1812                           ;I2C2.c: 508: while (i2c_data_p->buffer_in_len != 0) {
  1813                           
  1814  4text2  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1815  4text2'  3E20                       addlw   32
  1816  4text2&  0086                       movwf   6
  1817  4text27  3001                       movlw   1       ; select bank2/3
  1818  4text2&  0087                       movwf   7
  1819  4text2'  0881                       movf    1,f
  1820  4text2      (  1903                  btfsc   3,2
  1821  4text2
¹  0008                 return
  1822                           
  1823                           ;I2C2.c: 509: buffer[i] = i2c_data_p->buffer_in[i2c_data_p->buffer_in_read_ind];
  1824  4text2  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1825  4text2'  3E22                       addlw   34
  1826  4text2
&  0086                       movwf   6
  1827  4text27  3001                       movlw   1       ; select bank2/3
  1828  4text2&  0087                       movwf   7
  1829  4text2'  0801                       movf    1,w
  1830  4text2  ÷nvBANK00                   addwf   I2C2@i2c_data_p,w
  1831  4text2  €÷cstackBANK02                      movwf   ??_I2C2_Read_Buffer
  1832  4text2  ÷cstackBANK03                       movf    ??_I2C2_Read_Buffer,w
  1833  4text2&  0086                       movwf   6
  1834  4text27  3001                       movlw   1       ; select bank2/3
  1835  4text2&  0087                       movwf   7
  1836  4text2'  0801                       movf    1,w
  1837  4text2  €÷cstackBANK04                movwf   ??_I2C2_Read_Buffer+1
  1838  4text2  ÷cstackBANK02                 movf    I2C2_Read_Buffer@i,w
  1839  4text2  ÷cstackBANK08                 addwf   I2C2_Read_Buffer@buffer,w
  1840  4text2  €÷cstackBANK04                movwf   ??_I2C2_Read_Buffer+2
  1841  4text2  ÷cstackBANK05                 movf    ??_I2C2_Read_Buffer+2,w
  1842  4text2&  0086                       movwf   6
  1843  4text2%  0187                       clrf    7
  1844  4text2  ÷cstackBANK05                 movf    ??_I2C2_Read_Buffer+1,w
  1845  4text2 |  0081                       movwf   1
  1846                           
  1847                           ;I2C2.c: 510: i++;
  1848  4text2!&  3001                       movlw   1
  1849  4text2"  €÷cstackBANK02                      movwf   ??_I2C2_Read_Buffer
  1850  4text2#  ÷cstackBANK03                       movf    ??_I2C2_Read_Buffer,w
  1851  4text2$  €÷cstackBANK0²                       addwf   I2C2_Read_Buffer@i,f
  1852                           
  1853                           ;I2C2.c: 511: if (i2c_data_p->buffer_in_read_ind == 32-1) {
  1854  4text2%  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1855  4text2&'  3E22                       addlw   34
  1856  4text2'&  0086                       movwf   6
  1857  4text2(7  3001                       movlw   1       ; select bank2/3
  1858  4text2)&  0087                       movwf   7
  1859  4text2*'  0801                       movf    1,w
  1860  4text2+'  3A1F                       xorlw   31
  1861  4text2,$  1D03                       skipz
  1862  4text2-  (ûÿtext25
˜                   goto    l2909
  1863                           
  1864                           ;I2C2.c: 512: i2c_data_p->buffer_in_read_ind = 0;
  1865  4text2.  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1866  4text2/'  3E22                       addlw   34
  1867  4text20&  0086                       movwf   6
  1868  4text217  3001                       movlw   1       ; select bank2/3
  1869  4text22&  0087                       movwf   7
  1870  4text23  0181                       clrf    1
  1871                           
  1872                           ;I2C2.c: 513: } else {
  1873  4text24  #(ûøÿÿtext2
text2>"                      goto    l448
  1874  4text25˜                     l2909: 
  1875                           
  1876                           ;I2C2.c: 514: i2c_data_p->buffer_in_read_ind++;
  1877  4text25&  3001                       movlw   1
  1878  4text26  €÷cstackBANK02                      movwf   ??_I2C2_Read_Buffer
  1879  4text27  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1880  4text28'  3E22                       addlw   34
  1881  4text29&  0086                       movwf   6
  1882  4text2:7  3001                       movlw   1       ; select bank2/3
  1883  4text2;&  0087                       movwf   7
  1884  4text2<  ÷cstackBANK03                       movf    ??_I2C2_Read_Buffer,w
  1885  4text2=(  0781                       addwf   1,f
  1886  4text2>Ã                     l448:  
  1887                           
  1888                           ;I2C2.c: 515: }
  1889                           ;I2C2.c: 516: i2c_data_p->buffer_in_len--;
  1890  4text2>  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1891  4text2?'  3E20                       addlw   32
  1892  4text2@&  0086                       movwf   6
  1893  4text2A7  3001                       movlw   1       ; select bank2/3
  1894  4text2B&  0087                       movwf   7
  1895  4text2C&  3001                       movlw   1
  1896  4text2D(  0281                       subwf   1,f
  1897  4text2E  #(ûøÿÿtext2
text2"                      goto    l445
  1898  4text2Fh                     __end_of_I2C2_Read_Buffer:      
  1899                           ;I2C2.c: 517: }
  1900                           ;I2C2.c: 518: return i;
  1901                           ;      Return value of _I2C2_Read_Buffer is never used
  1902                           
  1903                           
  1904                                  psect   text3
  1905  4text3ý                     __ptext3:    
  1906 ;; *************** function _I2C2_Master_Recv *****************
  1907 ;; Defined at:
  1908 ;;               line 77 in file "I2C2.c"
  1909 ;; Parameters:    Size  Location     Type
  1910 ;;  address         1    wreg     unsigned char 
  1911 ;;  length          1    0[BANK0 ] unsigned char 
  1912 ;; Auto vars:     Size  Location     Type
  1913 ;;  address         1    2[BANK0 ] unsigned char 
  1914 ;; Return value:  Size  Location     Type
  1915 ;;               None               výoid
  1916 ;; Registers used:
  1917 ;;               wreg, fsr1l, fsr1h, status,2, status,0
  1918 ;; Tracked objects:
  1919 ;;               On entry : 0/0
  1920 ;;               On exit  : 0/0
  1921 ;;               Unchanged: 0/0
  1922 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  1923 ;;      Params:         0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1924 ;;      Locals:         0  ý     1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1925 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1926 ;;      Totals:         0       3       0       0       0       0       0       0       0       0       0       0       
      +0       0
  1927 ;;Total ram usage:        3 bytes
  1928 ;; Hardware stack levels used:    1
  1929 ;; Hardware stackf levels required when called:    4
  1930 ;; This function calls:
  1931 ;;               Nothing
  1932 ;; This function is called by:
  1933 ;;               _MCP23009_Query
  1934 ;; This function uses a non-reentrant model
  1935 ;;
  1936                           
  1937                           
  1938                           ;psect for function _I2C2_Master_Recv
  1939  4text36                     _I2C2_Master_Recv:    
  1940                           
  1941                           ;incstack = 0
  1942                           ; Regs used in _I2C2_Master_Recv: [wreg+fsr1l+fsr1h+status,2+status,0]
  1943                           ;I2C2_Master_Recv@address stored from wreg
  1944  4text35  0020                     movlb   0        ; select bank0
  1945  4text3  €÷cstackBANK0˜                       movwf   I2C2_Master_Recv@address
  1946                           
  1947                           ;I2C2.c: 78: if (length == 0)
  1948  4text3  €÷cstackBANK07                      movf    I2C2_Master_Recv@length,f
  1949  4text3(  1903                       btfsc   3,2
  1950  4text3ñ  0008                      return
  1951                           
  1952                           ;I2C2.c: 82: i2c_data_p->buffer_in_len = length;
  1953                           
  1954                           ;I2C2.c: 79: return;
  1955  4text3  ÷cstackBANK07                       movf    I2C2_Master_Recv@length,w
  1956  4text3  €÷cstackBANK02                movwf   ??_I2C2_Master_Recv
  1957  4text3  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1958  4text3'  3E20                       addlw   32
  1959  4text3      &  0086                  movwf   6
  1960  4text3
7  3001                  movlw   1       ; select bank2/3
  1961  4text3&  0087                       movwf   7
  1962  4text3  ÷cstackBANK03                 movf    ??_I2C2_Master_Recv,w
  1963  4text3
ž  0081                      movwf   1
  1964                           
  1965                           ;I2C2.c: 83: i2c_data_p->master_dest_addr = address;
  1966  4text3  ÷cstackBANK08                 movf    I2C2_Master_Recv@address,w
  1967  4text3  €÷cstackBANK02                movwf   ??_I2C2_Master_Recv
  1968  4text3  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1969  4text3'  3E49                       addlw   73
  1970  4text3&  0086                       movwf   6
  1971  4text37  3001                       movlw   1       ; select bank2/3
  1972  4text3&  0087                       movwf   7
  1973  4text3  ÷cstackBANK03                 movf    ??_I2C2_Master_Recv,w
  1974  4text3š  0081                      movwf   1
  1975                           
  1976                           ;I2C2.c: 84: i2c_data_p->buffer_in_read_ind = 0;
  1977  4text3  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1978  4text3'  3E22                       addlw   34
  1979  4text3&  0086                       movwf   6
  1980  4text37  3001                       movlw   1       ; select bank2/3
  1981  4text3&  0087                       movwf   7
  1982  4text3š  0181                      clrf    1
  1983                           
  1984                           ;I2C2.c: 85: i2c_data_p->buffer_in_write_ind = 0;
  1985  4text3  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1986  4text3'  3E23                       addlw   35
  1987  4text3&  0086                       movwf   6
  1988  4text3 7  3001                       movlw   1       ; select bank2/3
  1989  4text3!&  0087                       movwf   7
  1990  4text3"˜  0181                      clrf    1
  1991                           
  1992                           ;I2C2.c: 88: i2c_data_p->operating_state = 0x5;
  1993  4text3#&  3005                       movlw   5
  1994  4text3$  €÷cstackBANK02                movwf   ??_I2C2_Master_Recv
  1995  4text3%  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  1996  4text3&'  3E47                       addlw   71
  1997  4text3'&  0086                       movwf   6
  1998  4text3(7  3001                       movlw   1       ; select bank2/3
  1999  4text3)&  0087                       movwf   7
  2000  4text3*  ÷cstackBANK03                 movf    ??_I2C2_Master_Recv,w
  2001  4text3+˜  0081                      movwf   1
  2002                           
  2003                           ;I2C2.c: 89: i2c_data_p->master_status = 0x21;
  2004  4text3,'  3021                       movlw   33
  2005  4text3-  €÷cstackBANK02                movwf   ??_I2C2_Master_Recv
  2006  4text3.  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2007  4text3/'  3E4A                       addlw   74
  2008  4text30&  0086                       movwf   6
  2009  4text317  3001                       movlw   1       ; select bank2/3
  2010  4text32&  0087                       movwf   7
  2011  4text33  ÷cstackBANK03                 movf    ??_I2C2_Master_Recv,w
  2012  4text34Π 0081                      movwf   1
  2013                           
  2014                           ;I2C2.c: 92: SSP2CON2bits.SEN = 1;
  2015  4text355  0024                       movlb   4       ; select bank4
  2016  4text361  141E                       bsf     30,0    ;volatile
  2017  4text37%  0008                       return
  2018  4text38‰                     __end_of_I2C2_Master_Recv:     
  2019                           
  2020                                  psect   text4
  2021  4text4ý                     __ptext4:    
  2022 ;; *************** function _MCP23009_Init *****************
  2023 ;; Defined at:
  2024 ;;               line 6 in file "MCP23009.c"
  2025 ;; Parameters:    Size  Location     Type
  2026 ;;               None
  2027 ;; Auto vars:     Size  Location     Type
  2028 ;;  buffer          8    9[BANK0 ] unsigned char [8]
  2029 ;;  result          1   17[BANK0 ] unsigned char 
  2030 ;; Return value:  Size  Location     Type
  2031 ;;               None               void
  2032 ;; Registers used:
  2033 ý;;           wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  2034 ;; Tracked objects:
  2035 ;;               On entry : 0/0
  2036 ;;               On exit  : 0/0
  2037 ;;               Unchanged: 0/0
  2038 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2039 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2040 ;;      Locals:         0       9       0       ý0       0       0       0       0       0       0       0       0       
      +0       0
  2041 ;;      Temps:          0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2042 ;;      Totals:         0      11       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2043 ;;Total ram usage:       11 bytes
  2044 ;; Hardware stack levels used:    1
  2045 ;; Hardware stack levels required whenj called:    5
  2046 ;; This function calls:
  2047 ;;               _I2C2_Master_Send
  2048 ;;               _I2C2_Get_Status
  2049 ;; This function is called by:
  2050 ;;               _main
  2051 ;; This function uses a non-reentrant model
  2052 ;;
  2053                           
  2054                           
  2055                           ;psect for function _MCP23009_Init
  2056  4text4›                     _MCP23009_Init:      
  2057                           
  2058                           ;MCP23009.c: 7: uint8_t buffer[8];
  2059                           ;MCP23009.c: 9: buffer[0] = 0x00;
  2060                           
  2061                           ;incstack = 0
  2062                           ; Regs used in _MCP23009_Init: [wreg+fsr1l+fsr1h+status,2+status,0+pclath+cstack]
  2063  4text45  0020                     movlb   0        ; select bank0
  2064  4text4  €÷cstackBANK0 ˜                       clrf    MCP23009_Init@buffer
  2065                           
  2066                           ;MCP23009.c: 10: buffer[1] = 0xFF;
  2067  4text4(  30FF                       movlw   255
  2068  4text4  €÷cstackBANK0/                movwf   ??_MCP23009_Init
  2069  4text4  ÷cstackBANK00                 movf    ??_MCP23009_Init,w
  2070  4text4  €÷cstackBANK0
›                       movwf   MCP23009_Init@buffer+1
  2071                           
  2072                           ;MCP23009.c: 11: buffer[2] = 0xFF;
  2073  4text4(  30FF                       movlw   255
  2074  4text4  €÷cstackBANK0/                movwf   ??_MCP23009_Init
  2075  4text4  ÷cstackBANK00                 movf    ??_MCP23009_Init,w
  2076  4text4        €÷cstackBANK0›                  movwf   MCP23009_Init@buffer+2
  2077                           
  2078                           ;MCP23009.c: 12: buffer[3] = 0x00;
  2079  4text4
  €÷cstackBANK0š                  clrf    MCP23009_Init@buffer+3
  2080                           
  2081                           ;MCP23009.c: 13: buffer[4] = 0x00;
  2082  4text4  €÷cstackBANK0
š                       clrf    MCP23009_Init@buffer+4
  2083                           
  2084                           ;MCP23009.c: 14: buffer[5] = 0x00;
  2085  4text4  €÷cstackBANK0š                       clrf    MCP23009_Init@buffer+5
  2086                           
  2087                           ;MCP23009.c: 15: buffer[6] = 0x00;
  2088  4text4
  €÷cstackBANK0š                       clrf    MCP23009_Init@buffer+6
  2089                           
  2090                           ;MCP23009.c: 16: buffer[7] = 0xFF;
  2091  4text4(  30FF                       movlw   255
  2092  4text4  €÷cstackBANK0/                movwf   ??_MCP23009_Init
  2093  4text4  ÷cstackBANK00                 movf    ??_MCP23009_Init,w
  2094  4text4  €÷cstackBANK0¬                       movwf   MCP23009_Init@buffer+7
  2095                           
  2096                           ;MCP23009.c: 18: I2C2_Master_Send(0x20, 8, buffer);
  2097  4text4&  3008                       movlw   8
  2098  4text4  €÷cstackBANK0/                movwf   ??_MCP23009_Init
  2099  4text4  ÷cstackBANK00                 movf    ??_MCP23009_Init,w
  2100  4text4  €÷cstackBANK01                      movwf   ?_I2C2_Master_Send
  2101  4text4  !01ÿcstackBANK0     
<                    movlw   MCP23009_Init@buffer& (0+255)
  2102  4text4  €÷cstackBANK01                movwf   ??_MCP23009_Init+1
  2103  4text4  ÷cstackBANK02                 movf    ??_MCP23009_Init+1,w
  2104  4text4  €÷cstackBANK03                movwf   ?_I2C2_Master_Send+1
  2105  4text4'  3020                       movlw   32
  2106  4text4  €1÷text8      
   ûÿtext8
  €1÷text4     
$    fcall   _I2C2_Master_Send
  2107  4text40                     l2385:  
  2108                           ;MCP23009.c: 19: uint8_t result;
  2109                           ;MCP23009.c: 20: do {
  2110                           
  2111                           
  2112                           ;MCP23009.c: 21: result = I2C2_Get_Status();
  2113  4text4  €1÷text7      
   ûÿtext7
  €1÷text4     
#    fcall   _I2C2_Get_Status
  2114  4text4!5  0020                       movlb   0        ; select bank0
  2115  4text4"  €÷cstackBANK0/                movwf   ??_MCP23009_Init
  2116  4text4#  ÷cstackBANK00                 movf    ??_MCP23009_Init,w
  2117  4text4$  €÷cstackBANK0š                       movwf   MCP23009_Init@result
  2118                           
  2119                           ;MCP23009.c: 22: } while (!result);
  2120  4text4%  ÷cstackBANK04                 movf    MCP23009_Init@result,w
  2121  4text4&$  1D03                       skipz
  2122  4text4'%  0008                       return
  2123  4text4(  #(ûøÿÿtext4
text4#                      goto    l2385
  2124  4text4)†                     __end_of_MCP23009_Init:        
  2125                           
  2126                                  psect   text5
  2127  4text5ý                     __ptext5:    
  2128 ;; *************** function _TLC59116_Write_All *****************
  2129 ;; Defined at:
  2130 ;;               line 54 in file "TLC59116.c"
  2131 ;; Parameters:    Size  Location     Type
  2132 ;;  values          1    wreg     PTR unsigned char 
  2133 ;;                -> main@leds(16), 
  2134 ;; Auto vars:     Size  Location     Type
  2135 ;;  values          1   27[BANK0 ] PTR unsigned char 
  2136 ;;                -> main@leds(16), 
  2137 ;;  buffer         17    9[BANK0 ] unsigned char [17]
ý  2138 ;;  result          1   26[BANK0 ] unsigned char 
  2139 ;;  i               1    0        unsigned char 
  2140 ;; Return value:  Size  Location     Type
  2141 ;;               None               void
  2142 ;; Registers used:
  2143 ;;               wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  2144 ;; Tracked objects:
  2145 ;;               On entry : 0/0
  2146 ;;               On exit  : 0/0
  2147 ;;               Unchanged: 0/0
  2148 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BýANK10  BANK1
      +1  BANK12
  2149 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2150 ;;      Locals:         0      19       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2151 ;;      Temps:          0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2152 ;;      Totals:         0      21    ý   0       0       0       0       0       0       0       0       0       0       
      +0       0
  2153 ;;Total ram usage:       21 bytes
  2154 ;; Hardware stack levels used:    1
  2155 ;; Hardware stack levels required when called:    5
  2156 ;; This function calls:
  2157 ;;               _I2C2_Master_Send
  2158 ;;               _I2C2_Get_Status
  2159 ;; This function is called by:
  2160 ;;               _main
  2161 ;; This function uses a non-reentrant model
  2162 ;;
  2163                           
  2164                     X      
  2165                           ;psect for function _TLC59116_Write_All
  2166  4text5I                     _TLC59116_Write_All:  
  2167                           
  2168                           ;incstack = 0
  2169                           ; Regs used in _TLC59116_Write_All: [wreg+fsr1l+fsr1h+status,2+status,0+pclath+cstack]
  2170                           ;TLC59116_Write_All@values stored from wreg
  2171  4text55  0020                     movlb   0        ; select bank0
  2172  4text5  €÷cstackBANK04                movwf   TLC59116_Write_All@values
  2173                           
  2174                           ;TLC59116.c: 55: uint8_t buffer[17];
  2175                           ;TLC59116.c: 56: uint8_t i;
  2176                           ;TLC59116.c: 58: buffer[0] = buffer[0] = 0x80 | 0x02;
  2177  4text5(  3082                       movlw   130
  2178  4text5  €÷cstackBANK0 8                movwf   TLC59116_Write_All@buffer
  2179  4text5  €÷cstackBANK04                movwf   ??_TLC59116_Write_All
  2180  4text5  ÷cstackBANK05                 movf    ??_TLC59116_Write_All,w
  2181  4text5  €÷cstackBANK0 £                       movwf   TLC59116_Write_All@buffer
  2182                           
  2183                           ;TLC59116.c: 59: buffer[1] = values[0];
  2184  4text5  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2185  4text5&  0086                       movwf   6
  2186  4text5      %  0187                  clrf    7
  2187  4text5
'  0801                  movf    1,w
  2188  4text5  €÷cstackBANK04                movwf   ??_TLC59116_Write_All
  2189  4text5  ÷cstackBANK05                 movf    ??_TLC59116_Write_All,w
  2190  4text5
  €÷cstackBANK0
¥                       movwf   TLC59116_Write_All@buffer+1
  2191                           
  2192                           ;TLC59116.c: 60: buffer[2] = values[1];
  2193  4text5  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2194  4text5&  0086                       movwf   6
  2195  4text5%  0187                       clrf    7
  2196  4text5,  3F41                       moviw [1]fsr1
  2197  4text5  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+2
  2198                           
  2199                           ;TLC59116.c: 61: buffer[3] = values[2];
  2200  4text5  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2201  4text5&  0086                       movwf   6
  2202  4text5%  0187                       clrf    7
  2203  4text5,  3F42                       moviw [2]fsr1
  2204  4text5  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+3
  2205                           
  2206                           ;TLC59116.c: 62: buffer[4] = values[3];
  2207  4text5  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2208  4text5&  0086                       movwf   6
  2209  4text5%  0187                       clrf    7
  2210  4text5,  3F43                       moviw [3]fsr1
  2211  4text5  €÷cstackBANK0
¥                       movwf   TLC59116_Write_All@buffer+4
  2212                           
  2213                           ;TLC59116.c: 63: buffer[5] = values[4];
  2214  4text5  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2215  4text5&  0086                       movwf   6
  2216  4text5%  0187                       clrf    7
  2217  4text5 ,  3F44                       moviw [4]fsr1
  2218  4text5!  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+5
  2219                           
  2220                           ;TLC59116.c: 64: buffer[6] = values[5];
  2221  4text5"  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2222  4text5#&  0086                       movwf   6
  2223  4text5$%  0187                       clrf    7
  2224  4text5%,  3F45                       moviw [5]fsr1
  2225  4text5&  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+6
  2226                           
  2227                           ;TLC59116.c: 65: buffer[7] = values[6];
  2228  4text5'  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2229  4text5(&  0086                       movwf   6
  2230  4text5)%  0187                       clrf    7
  2231  4text5*,  3F46                       moviw [6]fsr1
  2232  4text5+  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+7
  2233                           
  2234                           ;TLC59116.c: 66: buffer[8] = values[7];
  2235  4text5,  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2236  4text5-&  0086                       movwf   6
  2237  4text5.%  0187                       clrf    7
  2238  4text5/,  3F47                       moviw [7]fsr1
  2239  4text50  €÷cstackBANK0¥                       movwf   TLC59116_Write_All@buffer+8
  2240                           
  2241                           ;TLC59116.c: 67: buffer[9] = values[8];
  2242  4text51  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2243  4text52&  0086                       movwf   6
  2244  4text53%  0187                       clrf    7
  2245  4text54,  3F48                       moviw [8]fsr1
  2246  4text55  €÷cstackBANK0¦                       movwf   TLC59116_Write_All@buffer+9
  2247                           
  2248                           ;TLC59116.c: 68: buffer[10] = values[9];
  2249  4text56  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2250  4text57&  0086                       movwf   6
  2251  4text58%  0187                       clrf    7
  2252  4text59,  3F49                       moviw [9]fsr1
  2253  4text5:  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+10
  2254                           
  2255                           ;TLC59116.c: 69: buffer[11] = values[10];
  2256  4text5;  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2257  4text5<&  0086                       movwf   6
  2258  4text5=%  0187                       clrf    7
  2259  4text5>-  3F4A                       moviw [10]fsr1
  2260  4text5?  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+11
  2261                           
  2262                           ;TLC59116.c: 70: buffer[12] = values[11];
  2263  4text5@  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2264  4text5A&  0086                       movwf   6
  2265  4text5B%  0187                       clrf    7
  2266  4text5C-  3F4B                       moviw [11]fsr1
  2267  4text5D  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+12
  2268                           
  2269                           ;TLC59116.c: 71: buffer[13] = values[12];
  2270  4text5E  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2271  4text5F&  0086                       movwf   6
  2272  4text5G%  0187                       clrf    7
  2273  4text5H-  3F4C                       moviw [12]fsr1
  2274  4text5I  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+13
  2275                           
  2276                           ;TLC59116.c: 72: buffer[14] = values[13];
  2277  4text5J  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2278  4text5K&  0086                       movwf   6
  2279  4text5L%  0187                       clrf    7
  2280  4text5M-  3F4D                       moviw [13]fsr1
  2281  4text5N  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+14
  2282                           
  2283                           ;TLC59116.c: 73: buffer[15] = values[14];
  2284  4text5O  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2285  4text5P&  0086                       movwf   6
  2286  4text5Q%  0187                       clrf    7
  2287  4text5R-  3F4E                       moviw [14]fsr1
  2288  4text5S  €÷cstackBANK0¨                       movwf   TLC59116_Write_All@buffer+15
  2289                           
  2290                           ;TLC59116.c: 74: buffer[16] = values[15];
  2291  4text5T  ÷cstackBANK09                 movf    TLC59116_Write_All@values,w
  2292  4text5U&  0086                       movwf   6
  2293  4text5V%  0187                       clrf    7
  2294  4text5W-  3F4F                       moviw [15]fsr1
  2295  4text5X  €÷cstackBANK0³                       movwf   TLC59116_Write_All@buffer+16
  2296                           
  2297                           ;TLC59116.c: 76: I2C2_Master_Send(0x60, 17, buffer);
  2298  4text5Y'  3011                       movlw   17
  2299  4text5Z  €÷cstackBANK04                movwf   ??_TLC59116_Write_All
  2300  4text5[  ÷cstackBANK05                 movf    ??_TLC59116_Write_All,w
  2301  4text5\  €÷cstackBANK01                      movwf   ?_I2C2_Master_Send
  2302  4text5]  !01ÿcstackBANK0     
A                    movlw   TLC59116_Write_All@buffer& (0+255)
  2303  4text5^  €÷cstackBANK06                movwf   ??_TLC59116_Write_All+1
  2304  4text5_  ÷cstackBANK07                 movf    ??_TLC59116_Write_All+1,w
  2305  4text5`  €÷cstackBANK03                movwf   ?_I2C2_Master_Send+1
  2306  4text5a'  3060                       movlw   96
  2307  4text5b  €1÷text8      
   ûÿtext8
  €1÷text5     
$    fcall   _I2C2_Master_Send
  2308  4text5e0                     l2373:  
  2309                           ;TLC59116.c: 77: uint8_t result;
  2310                           ;TLC59116.c: 78: do {
  2311                           
  2312                           
  2313                           ;TLC59116.c: 79: result = I2C2_Get_Status();
  2314  4text5e  €1÷text7      
   ûÿtext7
  €1÷text5     
#    fcall   _I2C2_Get_Status
  2315  4text5h5  0020                       movlb   0        ; select bank0
  2316  4text5i  €÷cstackBANK04                movwf   ??_TLC59116_Write_All
  2317  4text5j  ÷cstackBANK05                 movf    ??_TLC59116_Write_All,w
  2318  4text5k  €÷cstackBANK0Ÿ                       movwf   TLC59116_Write_All@result
  2319                           
  2320                           ;TLC59116.c: 80: } while (!result);
  2321  4text5l  ÷cstackBANK09                 movf    TLC59116_Write_All@result,w
  2322  4text5m$  1D03                       skipz
  2323  4text5n%  0008                       return
  2324  4text5o  #(ûøÿÿtext5
text5e#                      goto    l2373
  2325  4text5p‹                     __end_of_TLC59116_Write_All:   
  2326                           
  2327                                  psect   text6
  2328  4text6ý                     __ptext6:    
  2329 ;; *************** function _TLC59116_Init *****************
  2330 ;; Defined at:
  2331 ;;               line 5 in file "TLC59116.c"
  2332 ;; Parameters:    Size  Location     Type
  2333 ;;               None
  2334 ;; Auto vars:     Size  Location     Type
  2335 ;;  buffer         25    9[BANK0 ] unsigned char [25]
  2336 ;;  result          1   34[BANK0 ] unsigned char 
  2337 ;; Return value:  Size  Location     Type
  2338 ;;               None               void
  2339 ;; Registers used:
  2340ý ;;           wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  2341 ;; Tracked objects:
  2342 ;;               On entry : 0/0
  2343 ;;               On exit  : 0/0
  2344 ;;               Unchanged: 0/0
  2345 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2346 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2347 ;;      Locals:         0      26       0      ý 0       0       0       0       0       0       0       0       0       
      +0       0
  2348 ;;      Temps:          0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2349 ;;      Totals:         0      28       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2350 ;;Total ram usage:       28 bytes
  2351 ;; Hardware stack levels used:    1
  2352 ;; Hardware stack levels required whekn called:    5
  2353 ;; This function calls:
  2354 ;;               _I2C2_Master_Send
  2355 ;;               _I2C2_Get_Status
  2356 ;; This function is called by:
  2357 ;;               _main
  2358 ;; This function uses a non-reentrant model
  2359 ;;
  2360                           
  2361                           
  2362                           ;psect for function _TLC59116_Init
  2363  4text6£                     _TLC59116_Init:      
  2364                           
  2365                           ;TLC59116.c: 6: uint8_t buffer[25];
  2366                           ;TLC59116.c: 8: buffer[0] = 0x80 | 0x00;
  2367                           
  2368                           ;incstack = 0
  2369                           ; Regs used in _TLC59116_Init: [wreg+fsr1l+fsr1h+status,2+status,0+pclath+cstack]
  2370  4text6(  3080                     movlw   128
  2371  4text65  0020                       movlb   0        ; select bank0
  2372  4text6  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2373  4text6  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2374  4text6  €÷cstackBANK0 Ÿ                       movwf   TLC59116_Init@buffer
  2375                           
  2376                           ;TLC59116.c: 9: buffer[1] = 0x80 | 0x00;
  2377  4text6(  3080                       movlw   128
  2378  4text6  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2379  4text6  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2380  4text6  €÷cstackBANK0
›                       movwf   TLC59116_Init@buffer+1
  2381                           
  2382                           ;TLC59116.c: 10: buffer[2] = 0x00;
  2383  4text6        €÷cstackBANK0š                  clrf    TLC59116_Init@buffer+2
  2384                           
  2385                           ;TLC59116.c: 11: buffer[3] = 0x00;
  2386  4text6
  €÷cstackBANK0š                  clrf    TLC59116_Init@buffer+3
  2387                           
  2388                           ;TLC59116.c: 12: buffer[4] = 0x00;
  2389  4text6  €÷cstackBANK0
š                       clrf    TLC59116_Init@buffer+4
  2390                           
  2391                           ;TLC59116.c: 13: buffer[5] = 0x00;
  2392  4text6  €÷cstackBANK0š                       clrf    TLC59116_Init@buffer+5
  2393                           
  2394                           ;TLC59116.c: 14: buffer[6] = 0x00;
  2395  4text6
  €÷cstackBANK0š                       clrf    TLC59116_Init@buffer+6
  2396                           
  2397                           ;TLC59116.c: 15: buffer[7] = 0x00;
  2398  4text6  €÷cstackBANK0š                       clrf    TLC59116_Init@buffer+7
  2399                           
  2400                           ;TLC59116.c: 16: buffer[8] = 0x00;
  2401  4text6  €÷cstackBANK0š                       clrf    TLC59116_Init@buffer+8
  2402                           
  2403                           ;TLC59116.c: 17: buffer[9] = 0x00;
  2404  4text6  €÷cstackBANK0›                       clrf    TLC59116_Init@buffer+9
  2405                           
  2406                           ;TLC59116.c: 18: buffer[10] = 0x00;
  2407  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+10
  2408                           
  2409                           ;TLC59116.c: 19: buffer[11] = 0x00;
  2410  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+11
  2411                           
  2412                           ;TLC59116.c: 20: buffer[12] = 0x00;
  2413  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+12
  2414                           
  2415                           ;TLC59116.c: 21: buffer[13] = 0x00;
  2416  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+13
  2417                           
  2418                           ;TLC59116.c: 22: buffer[14] = 0x00;
  2419  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+14
  2420                           
  2421                           ;TLC59116.c: 23: buffer[15] = 0x00;
  2422  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+15
  2423                           
  2424                           ;TLC59116.c: 24: buffer[16] = 0x00;
  2425  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+16
  2426                           
  2427                           ;TLC59116.c: 25: buffer[17] = 0x00;
  2428  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+17
  2429                           
  2430                           ;TLC59116.c: 26: buffer[18] = 0x00;
  2431  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+18
  2432                           
  2433                           ;TLC59116.c: 27: buffer[19] = 0xFF;
  2434  4text6(  30FF                       movlw   255
  2435  4text6  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2436  4text6  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2437  4text6  €÷cstackBANK0                       movwf   TLC59116_Init@buffer+19
  2438                           
  2439                           ;TLC59116.c: 28: buffer[20] = 0x00;
  2440  4text6  €÷cstackBANK0œ                       clrf    TLC59116_Init@buffer+20
  2441                           
  2442                           ;TLC59116.c: 29: buffer[21] = 0xFF;
  2443  4text6(  30FF                       movlw   255
  2444  4text6   €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2445  4text6!  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2446  4text6"  €÷cstackBANK0                       movwf   TLC59116_Init@buffer+21
  2447                           
  2448                           ;TLC59116.c: 30: buffer[22] = 0xFF;
  2449  4text6#(  30FF                       movlw   255
  2450  4text6$  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2451  4text6%  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2452  4text6&  €÷cstackBANK0                       movwf   TLC59116_Init@buffer+22
  2453                           
  2454                           ;TLC59116.c: 31: buffer[23] = 0xFF;
  2455  4text6'(  30FF                       movlw   255
  2456  4text6(  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2457  4text6)  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2458  4text6*  €÷cstackBANK0                        movwf   TLC59116_Init@buffer+23
  2459                           
  2460                           ;TLC59116.c: 32: buffer[24] = 0xFF;
  2461  4text6+(  30FF                       movlw   255
  2462  4text6,  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2463  4text6-  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2464  4text6.  €÷cstackBANK0!®                       movwf   TLC59116_Init@buffer+24
  2465                           
  2466                           ;TLC59116.c: 34: I2C2_Master_Send(0x60, 25, buffer);
  2467  4text6/'  3019                       movlw   25
  2468  4text60  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2469  4text61  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2470  4text62  €÷cstackBANK01                      movwf   ?_I2C2_Master_Send
  2471  4text63  !01ÿcstackBANK0     
<                    movlw   TLC59116_Init@buffer& (0+255)
  2472  4text64  €÷cstackBANK01                movwf   ??_TLC59116_Init+1
  2473  4text65  ÷cstackBANK02                 movf    ??_TLC59116_Init+1,w
  2474  4text66  €÷cstackBANK03                movwf   ?_I2C2_Master_Send+1
  2475  4text67'  3060                       movlw   96
  2476  4text68  €1÷text8      
   ûÿtext8
  €1÷text6     
$    fcall   _I2C2_Master_Send
  2477  4text6;0                     l2333:  
  2478                           ;TLC59116.c: 35: uint8_t result;
  2479                           ;TLC59116.c: 36: do {
  2480                           
  2481                           
  2482                           ;TLC59116.c: 37: result = I2C2_Get_Status();
  2483  4text6;  €1÷text7      
   ûÿtext7
  €1÷text6     
#    fcall   _I2C2_Get_Status
  2484  4text6>5  0020                       movlb   0        ; select bank0
  2485  4text6?  €÷cstackBANK0/                movwf   ??_TLC59116_Init
  2486  4text6@  ÷cstackBANK00                 movf    ??_TLC59116_Init,w
  2487  4text6A  €÷cstackBANK0"š                       movwf   TLC59116_Init@result
  2488                           
  2489                           ;TLC59116.c: 38: } while (!result);
  2490  4text6B  ÷cstackBANK0"4                 movf    TLC59116_Init@result,w
  2491  4text6C$  1D03                       skipz
  2492  4text6D%  0008                       return
  2493  4text6E  #(ûøÿÿtext6
text6;#                      goto    l2333
  2494  4text6F†                     __end_of_TLC59116_Init:        
  2495                           
  2496                                  psect   text7
  2497  4text7ý                     __ptext7:    
  2498 ;; *************** function _I2C2_Get_Status *****************
  2499 ;; Defined at:
  2500 ;;               line 485 in file "I2C2.c"
  2501 ;; Parameters:    Size  Location     Type
  2502 ;;               None
  2503 ;; Auto vars:     Size  Location     Type
  2504 ;;               None
  2505 ;; Return value:  Size  Location     Type
  2506 ;;                  1    wreg      unsigned char 
  2507 ;; Registers used:
  2508 ;;               wreg, fsr1l, fsr1h, status,2, status,0
  2509 ;; Tracked objects:
  2510 ;;ý           On entry : 0/0
  2511 ;;               On exit  : 0/0
  2512 ;;               Unchanged: 0/0
  2513 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2514 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2515 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  251ý6 ;;      Temps:          0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2517 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2518 ;;Total ram usage:        0 bytes
  2519 ;; Hardware stack levels used:    1
  2520 ;; Hardware stack levels required when called:    4
  2521 ;; This function calls:
  2522 ;;               Nothing
  2523 ;; This function is call}ed by:
  2524 ;;               _TLC59116_Init
  2525 ;;               _TLC59116_Write_All
  2526 ;;               _MCP23009_Init
  2527 ;;               _MCP23009_Query
  2528 ;;               _TLC59116_Write
  2529 ;;               _TLC59116_Write_BC
  2530 ;; This function uses a non-reentrant model
  2531 ;;
  2532                           
  2533                           
  2534                           ;psect for function _I2C2_Get_Status
  2535  4text7c                     _I2C2_Get_Status:     
  2536                           
  2537                           ;I2C2.c: 486: if (i2c_data_p->operating_mode == 0x11) {
  2538                           
  2539                           ;incstack = 0
  2540                           ; Regs used in _I2C2_Get_Status: [wreg+fsr1l+fsr1h+status,2+status,0]
  2541  4text75  0020                     movlb   0        ; select bank0
  2542  4text7  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2543  4text7'  3E46                       addlw   70
  2544  4text7&  0086                       movwf   6
  2545  4text77  3001                       movlw   1       ; select bank2/3
  2546  4text7&  0087                       movwf   7
  2547  4text7'  0801                       movf    1,w
  2548  4text7'  3A11                       xorlw   17
  2549  4text7$  1D03                       skipz
  2550  4text7        (ûÿtext7$
¿                   goto    l2885
  2551                           
  2552                           ;I2C2.c: 487: if (i2c_data_p->master_status != 0x23 || i2c_data_p->buffer_in_len == 0) {
  2553  4text7
  ÷nvBANK0/                      movf    I2C2@i2c_data_p,w
  2554  4text7'  3E4A                       addlw   74
  2555  4text7&  0086                       movwf   6
  2556  4text7
7  3001                       movlw   1       ; select bank2/3
  2557  4text7&  0087                       movwf   7
  2558  4text7'  0801                       movf    1,w
  2559  4text7'  3A23                       xorlw   35
  2560  4text7$  1D03                       skipz
  2561  4text7  (ûÿtext7
#                    goto    l2875
  2562  4text7  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2563  4text7'  3E20                       addlw   32
  2564  4text7&  0086                       movwf   6
  2565  4text77  3001                       movlw   1       ; select bank2/3
  2566  4text7&  0087                       movwf   7
  2567  4text7'  0881                       movf    1,f
  2568  4text7$  1D03                       skipz
  2569  4text7  (ûÿtext7
#                    goto    l2881
  2570  4text7€                     l2875: 
  2571                           
  2572                           ;I2C2.c: 488: return 0;
  2573  4text7€  3000                      movlw   0
  2574                           
  2575                           ;I2C2.c: 489: } else {
  2576  4text7%  0008                       return
  2577  4text7˜                     l2881: 
  2578                           
  2579                           ;I2C2.c: 490: return i2c_data_p->return_status;
  2580  4text7  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2581  4text7'  3E48                       addlw   72
  2582  4text7&  0086                       movwf   6
  2583  4text7 7  3001                       movlw   1       ; select bank2/3
  2584  4text7!&  0087                       movwf   7
  2585  4text7"²  0801                      movf    1,w
  2586                           
  2587                           ;I2C2.c: 491: }
  2588                           ;I2C2.c: 492: } else {
  2589  4text7#%  0008                       return
  2590  4text7$Â                     l2885: 
  2591                           
  2592                           ;I2C2.c: 493: if (i2c_data_p->operating_state != 0x1 || i2c_data_p->buffer_in_len == 0) {
  2593  4text7$  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2594  4text7%'  3E47                       addlw   71
  2595  4text7&&  0086                       movwf   6
  2596  4text7'7  3001                       movlw   1       ; select bank2/3
  2597  4text7(&  0087                       movwf   7
  2598  4text7)'  0801                       movf    1,w
  2599  4text7*&  3A01                       xorlw   1
  2600  4text7+$  1D03                       skipz
  2601  4text7,  (ûÿtext75
#                    goto    l2889
  2602  4text7-  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2603  4text7.'  3E20                       addlw   32
  2604  4text7/&  0086                       movwf   6
  2605  4text707  3001                       movlw   1       ; select bank2/3
  2606  4text71&  0087                       movwf   7
  2607  4text72'  0881                       movf    1,f
  2608  4text73$  1D03                       skipz
  2609  4text74  (ûÿtext77
#                    goto    l2895
  2610  4text75€                     l2889: 
  2611                           
  2612                           ;I2C2.c: 494: return 0;
  2613  4text75€  3000                      movlw   0
  2614                           
  2615                           ;I2C2.c: 495: } else {
  2616  4text76%  0008                       return
  2617  4text77˜                     l2895: 
  2618                           
  2619                           ;I2C2.c: 496: return i2c_data_p->return_status;
  2620  4text77  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2621  4text78'  3E48                       addlw   72
  2622  4text79&  0086                       movwf   6
  2623  4text7:7  3001                       movlw   1       ; select bank2/3
  2624  4text7;&  0087                       movwf   7
  2625  4text7<'  0801                       movf    1,w
  2626  4text7=%  0008                       return
  2627  4text7>ˆ                     __end_of_I2C2_Get_Status:      
  2628                           
  2629                                  psect   text8
  2630  4text8ý                     __ptext8:    
  2631 ;; *************** function _I2C2_Master_Send *****************
  2632 ;; Defined at:
  2633 ;;               line 54 in file "I2C2.c"
  2634 ;; Parameters:    Size  Location     Type
  2635 ;;  address         1    wreg     unsigned char 
  2636 ;;  length          1    0[BANK0 ] unsigned char 
  2637 ;;  msg             1    1[BANK0 ] PTR unsigned char 
  2638 ;;                -> MCP23009_Query@buffer(2), MCP23009_Init@buffer(8), TLC59116_Write_BC@buffer(2), TLC59116_Write_All@buffer(17),ý 
  2639 ;;                -> TLC59116_Write@buffer(2), TLC59116_Init@buffer(25), I2C2_Master_Restart@c(1), 
  2640 ;; Auto vars:     Size  Location     Type
  2641 ;;  address         1    5[BANK0 ] unsigned char 
  2642 ;;  i               1    6[BANK0 ] unsigned char 
  2643 ;; Return value:  Size  Location     Type
  2644 ;;               None               void
  2645 ;; Registers used:
  2646 ;;               wreg, fsr1l, fsr1h, status,2, status,0
  2647 ;; Tracked objects:
  2648 ;;               On entry : 0/0
  2649 ;;               On exit  : 0/0
  2650 ;;               ýUnchanged: 0/0
  2651 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2652 ;;      Params:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2653 ;;      Locals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2654 ;;      Temps:          0       3       0       0   ý    0       0       0       0       0       0       0       0       
      +0       0
  2655 ;;      Totals:         0       7       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2656 ;;Total ram usage:        7 bytes
  2657 ;; Hardware stack levels used:    1
  2658 ;; Hardware stack levels required when called:    4
  2659 ;; This function calls:
  2660 ;;               Nothing
  2661 ;; This function is called by:
  2662 ;;               _TLC59116_Init
  2663 ;;               _TLC59116_hWrite_All
  2664 ;;               _MCP23009_Init
  2665 ;;               _MCP23009_Query
  2666 ;;               _I2C2_Master_Restart
  2667 ;;               _TLC59116_Write
  2668 ;;               _TLC59116_Write_BC
  2669 ;; This function uses a non-reentrant model
  2670 ;;
  2671                           
  2672                           
  2673                           ;psect for function _I2C2_Master_Send
  2674  4text86                     _I2C2_Master_Send:    
  2675                           
  2676                           ;incstack = 0
  2677                           ; Regs used in _I2C2_Master_Send: [wreg+fsr1l+fsr1h+status,2+status,0]
  2678                           ;I2C2_Master_Send@address stored from wreg
  2679  4text85  0020                     movlb   0        ; select bank0
  2680  4text8  €÷cstackBANK0Ñ                       movwf   I2C2_Master_Send@address
  2681                           
  2682                           ;I2C2.c: 55: uint8_t i;
  2683                           ;I2C2.c: 56: if (length == 0)
  2684  4text8  €÷cstackBANK07                      movf    I2C2_Master_Send@length,f
  2685  4text8(  1903                       btfsc   3,2
  2686  4text8ì  0008                      return
  2687                           
  2688                           ;I2C2.c: 60: for (i = 0; i < length; i++) {
  2689                           
  2690                           ;I2C2.c: 57: return;
  2691  4text8  €÷cstackBANK00                clrf    I2C2_Master_Send@i
  2692  4text8%                     l2661:  
  2693  4text8  ÷cstackBANK07                       movf    I2C2_Master_Send@length,w
  2694  4text8  ÷cstackBANK03                 subwf   I2C2_Master_Send@i,w
  2695  4text8(  1803                       btfsc   3,0
  2696  4text8        (ûÿtext8 
–                   goto    l2663
  2697                           
  2698                           ;I2C2.c: 61: i2c_data_p->buffer_in[i] = msg[i];
  2699  4text8
  ÷cstackBANK02                    movf    I2C2_Master_Send@i,w
  2700  4text8  ÷cstackBANK05                 addwf   I2C2_Master_Send@msg,w
  2701  4text8  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2702  4text8
  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2703  4text8&  0086                       movwf   6
  2704  4text8%  0187                       clrf    7
  2705  4text8'  0801                       movf    1,w
  2706  4text8  €÷cstackBANK04                movwf   ??_I2C2_Master_Send+1
  2707  4text8  ÷cstackBANK02                 movf    I2C2_Master_Send@i,w
  2708  4text8  ÷nvBANK00                   addwf   I2C2@i2c_data_p,w
  2709  4text8  €÷cstackBANK04                movwf   ??_I2C2_Master_Send+2
  2710  4text8  ÷cstackBANK05                 movf    ??_I2C2_Master_Send+2,w
  2711  4text8&  0086                       movwf   6
  2712  4text87  3001                       movlw   1       ; select bank2/3
  2713  4text8&  0087                       movwf   7
  2714  4text8  ÷cstackBANK05                 movf    ??_I2C2_Master_Send+1,w
  2715  4text8&  0081                       movwf   1
  2716  4text8&  3001                       movlw   1
  2717  4text8  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2718  4text8  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2719  4text8  €÷cstackBANK03                addwf   I2C2_Master_Send@i,f
  2720  4text8  #(ûøÿÿtext8
text8#                      goto    l2661
  2721  4text8 É                     l2663: 
  2722                           
  2723                           ;I2C2.c: 62: }
  2724                           ;I2C2.c: 63: i2c_data_p->buffer_in_len = length;
  2725  4text8   ÷cstackBANK07                       movf    I2C2_Master_Send@length,w
  2726  4text8!  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2727  4text8"  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2728  4text8#'  3E20                       addlw   32
  2729  4text8$&  0086                       movwf   6
  2730  4text8%7  3001                       movlw   1       ; select bank2/3
  2731  4text8&&  0087                       movwf   7
  2732  4text8'  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2733  4text8(ž  0081                      movwf   1
  2734                           
  2735                           ;I2C2.c: 64: i2c_data_p->master_dest_addr = address;
  2736  4text8)  ÷cstackBANK08                 movf    I2C2_Master_Send@address,w
  2737  4text8*  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2738  4text8+  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2739  4text8,'  3E49                       addlw   73
  2740  4text8-&  0086                       movwf   6
  2741  4text8.7  3001                       movlw   1       ; select bank2/3
  2742  4text8/&  0087                       movwf   7
  2743  4text80  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2744  4text81š  0081                      movwf   1
  2745                           
  2746                           ;I2C2.c: 65: i2c_data_p->buffer_in_read_ind = 0;
  2747  4text82  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2748  4text83'  3E22                       addlw   34
  2749  4text84&  0086                       movwf   6
  2750  4text857  3001                       movlw   1       ; select bank2/3
  2751  4text86&  0087                       movwf   7
  2752  4text87š  0181                      clrf    1
  2753                           
  2754                           ;I2C2.c: 66: i2c_data_p->buffer_in_write_ind = 0;
  2755  4text88  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2756  4text89'  3E23                       addlw   35
  2757  4text8:&  0086                       movwf   6
  2758  4text8;7  3001                       movlw   1       ; select bank2/3
  2759  4text8<&  0087                       movwf   7
  2760  4text8=˜  0181                      clrf    1
  2761                           
  2762                           ;I2C2.c: 69: i2c_data_p->operating_state = 0x5;
  2763  4text8>&  3005                       movlw   5
  2764  4text8?  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2765  4text8@  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2766  4text8A'  3E47                       addlw   71
  2767  4text8B&  0086                       movwf   6
  2768  4text8C7  3001                       movlw   1       ; select bank2/3
  2769  4text8D&  0087                       movwf   7
  2770  4text8E  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2771  4text8F˜  0081                      movwf   1
  2772                           
  2773                           ;I2C2.c: 70: i2c_data_p->master_status = 0x20;
  2774  4text8G'  3020                       movlw   32
  2775  4text8H  €÷cstackBANK02                movwf   ??_I2C2_Master_Send
  2776  4text8I  ÷nvBANK0/                   movf    I2C2@i2c_data_p,w
  2777  4text8J'  3E4A                       addlw   74
  2778  4text8K&  0086                       movwf   6
  2779  4text8L7  3001                       movlw   1       ; select bank2/3
  2780  4text8M&  0087                       movwf   7
  2781  4text8N  ÷cstackBANK03                 movf    ??_I2C2_Master_Send,w
  2782  4text8OΠ 0081                      movwf   1
  2783                           
  2784                           ;I2C2.c: 73: SSP2CON2bits.SEN = 1;
  2785  4text8P5  0024                       movlb   4       ; select bank4
  2786  4text8Q1  141E                       bsf     30,0    ;volatile
  2787  4text8R%  0008                       return
  2788  4text8S‰                     __end_of_I2C2_Master_Send:     
  2789                           
  2790                                  psect   text9
  2791  4text9ý                     __ptext9:    
  2792 ;; *************** function _Interrupt_Enable *****************
  2793 ;; Defined at:
  2794 ;;               line 10 in file "INTERRUPTS.c"
  2795 ;; Parameters:    Size  Location     Type
  2796 ;;               None
  2797 ;; Auto vars:     Size  Location     Type
  2798 ;;               None
  2799 ;; Return value:  Size  Location     Type
  2800 ;;               None               void
  2801 ;; Registers used:
  2802 ;;               None
  2803 ;; Tracked objects:
  2804 ;;               On entry : 0/0
  2805 ;;               On exit  : 0/0
  2806 ý;;           Unchanged: 0/0
  2807 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2808 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2809 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2810 ;;      Temps:          0       0       0       ý0       0       0       0       0       0       0       0       0       
      +0       0
  2811 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2812 ;;Total ram usage:        0 bytes
  2813 ;; Hardware stack levels used:    1
  2814 ;; Hardware stack levels required when called:    4
  2815 ;; This function calls:
  2816 ;;               Nothing
  2817 ;; This function is called by:
  2818 ;;               _main
  2819 ;; This function us¶es a non-reentrant model
  2820 ;;
  2821                           
  2822                           
  2823                           ;psect for function _Interrupt_Enable
  2824  4text93                     _Interrupt_Enable:    
  2825                           
  2826                           ;INTERRUPTS.c: 12: INTCONbits.PEIE = 1;
  2827                           
  2828                           ;incstack = 0
  2829                           ; Regs used in _Interrupt_Enable: []
  2830  4text9›  170B                    bsf     11,6    ;volatile
  2831                           
  2832                           ;INTERRUPTS.c: 13: INTCONbits.GIE = 1;
  2833  4text91  178B                       bsf     11,7    ;volatile
  2834  4text9%  0008                       return
  2835  4text9Š                     __end_of_Interrupt_Enable:     
  2836                           
  2837                                  psect   text10
  2838  4text10ý                     __ptext10:  
  2839 ;; *************** function _Interrupt_Init *****************
  2840 ;; Defined at:
  2841 ;;               line 6 in file "INTERRUPTS.c"
  2842 ;; Parameters:    Size  Location     Type
  2843 ;;               None
  2844 ;; Auto vars:     Size  Location     Type
  2845 ;;               None
  2846 ;; Return value:  Size  Location     Type
  2847 ;;               None               void
  2848 ;; Registers used:
  2849 ;;               None
  2850 ;; Tracked objects:
  2851 ;;               On entry : 0/0
  2852 ;;               On exit  : 0/0
  2853 ;;ý           Unchanged: 0/0
  2854 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2855 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2856 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2857 ;;      Temps:          0       0       0       0 ý      0       0       0       0       0       0       0       0       
      +0       0
  2858 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2859 ;;Total ram usage:        0 bytes
  2860 ;; Hardware stack levels used:    1
  2861 ;; Hardware stack levels required when called:    4
  2862 ;; This function calls:
  2863 ;;               Nothing
  2864 ;; This function is called by:
  2865 ;;               _main
  2866 ;; This function uses² a non-reentrant model
  2867 ;;
  2868                           
  2869                           
  2870                           ;psect for function _Interrupt_Init
  2871  4text10Ä                     _Interrupt_Init:    
  2872                           
  2873                           ;incstack = 0
  2874                           ; Regs used in _Interrupt_Init: []
  2875  4text10%  0008                    return
  2876  4text10ˆ                     __end_of_Interrupt_Init:      
  2877                           
  2878                                  psect   text11
  2879  4text11ý                     __ptext11:  
  2880 ;; *************** function _I2C2_Configure_Master *****************
  2881 ;; Defined at:
  2882 ;;               line 34 in file "I2C2.c"
  2883 ;; Parameters:    Size  Location     Type
  2884 ;;  speed           1    wreg     unsigned char 
  2885 ;; Auto vars:     Size  Location     Type
  2886 ;;  speed           1    1[BANK0 ] unsigned char 
  2887 ;; Return value:  Size  Location     Type
  2888 ;;               None               void
  2889 ;; Registers used:
  2890 ;;               wreg, fsr1ýl, fsr1h, status,2, status,0
  2891 ;; Tracked objects:
  2892 ;;               On entry : 0/0
  2893 ;;               On exit  : 0/0
  2894 ;;               Unchanged: 0/0
  2895 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  2896 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2897 ;;      Locals:         0       1       0       0       0       0       0     ý  0       0       0       0       0       
      +0       0
  2898 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2899 ;;      Totals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  2900 ;;Total ram usage:        2 bytes
  2901 ;; Hardware stack levels used:    1
  2902 ;; Hardware stack levels required when called:    4
  2903 ;; This f.unction calls:
  2904 ;;               Nothing
  2905 ;; This function is called by:
  2906 ;;               _main
  2907 ;; This function uses a non-reentrant model
  2908 ;;
  2909                           
  2910                           
  2911                           ;psect for function _I2C2_Configure_Master
  2912  4text11C                     _I2C2_Configure_Master:      
  2913                           
  2914                           ;incstack = 0
  2915                           ; Regs used in _I2C2_Configure_Master: [wreg+fsr1l+fsr1h+status,2+status,0]
  2916                           ;I2C2_Configure_Master@speed stored from wreg
  2917  4text115  0020                    movlb   0        ; select bank0
  2918  4text11  €÷cstackBANK0­                      movwf   I2C2_Configure_Master@speed
  2919                           
  2920                           ;I2C2.c: 35: i2c_data_p->operating_mode = 0x11;
  2921  4text11'  3011                      movlw   17
  2922  4text11  €÷cstackBANK07                     movwf   ??_I2C2_Configure_Master
  2923  4text11  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  2924  4text11'  3E46                      addlw   70
  2925  4text11&  0086                      movwf   6
  2926  4text117  3001                      movlw   1       ; select bank2/3
  2927  4text11&  0087                      movwf   7
  2928  4text11       ÷cstackBANK08                  movf    ??_I2C2_Configure_Master,w
  2929  4text11
Π 0081                 movwf   1
  2930                           
  2931                           ;I2C2.c: 37: TRISBbits.TRISB7 = 1;
  2932  4text115  0021                      movlb   1       ; select bank1
  2933  4text11—  178D                     bsf     13,7    ;volatile
  2934                           
  2935                           ;I2C2.c: 38: TRISBbits.TRISB5 = 1;
  2936  4text11
‘  168D                     bsf     13,5    ;volatile
  2937                           
  2938                           ;I2C2.c: 40: SSP2STAT = 0x0;
  2939  4text115  0024                      movlb   4       ; select bank4
  2940  4text11  019C                     clrf    28      ;volatile
  2941                           
  2942                           ;I2C2.c: 41: SSP2CON1 = 0x0;
  2943  4text11  019D                     clrf    29      ;volatile
  2944                           
  2945                           ;I2C2.c: 42: SSP2CON2 = 0x0;
  2946  4text11™  019E                     clrf    30      ;volatile
  2947                           
  2948                           ;I2C2.c: 43: SSP2CON1bits.SSPM = 0x8;
  2949  4text112  081D                      movf    29,w    ;volatile
  2950  4text11(  39F0                      andlw   -16
  2951  4text11&  3808                      iorlw   8
  2952  4text11  009D                     movwf   29      ;volatile
  2953                           
  2954                           ;I2C2.c: 44: if (!speed) {
  2955  4text115  0020                      movlb   0        ; select bank0
  2956  4text11  €÷cstackBANK0;                       movf    I2C2_Configure_Master@speed,f
  2957  4text11$  1D03                      skipz
  2958  4text11  (ûÿtext11
ƒ                   goto    l2277
  2959                           
  2960                           ;I2C2.c: 45: SSP2ADD = 0x13;
  2961  4text11'  3013                      movlw   19
  2962  4text11  %(ûøÿÿtext11
text11                      goto    L1
  2963  4text11Þ                     l2277:        
  2964                           ;I2C2.c: 46: } else {
  2965                           
  2966                           
  2967                           ;I2C2.c: 47: SSP2ADD = 0x4F;
  2968  4text11'  304F                      movlw   79
  2969  4text11"                     L1:    
  2970  4text115  0024                      movlb   4       ; select bank4
  2971  4text11Ç  009A                     movwf   26      ;volatile
  2972                           
  2973                           ;I2C2.c: 48: }
  2974                           ;I2C2.c: 49: SSP2STATbits.SMP = 1;
  2975  4text11™  179C                     bsf     28,7    ;volatile
  2976                           
  2977                           ;I2C2.c: 50: SSP2CON1bits.SSPEN = 1;
  2978  4text11 1  169D                      bsf     29,5    ;volatile
  2979  4text11!%  0008                      return
  2980  4text11"                     __end_of_I2C2_Configure_Master:       
  2981                           
  2982                                  psect   text12
  2983  4text12ý                     __ptext12:  
  2984 ;; *************** function _I2C2_Init *****************
  2985 ;; Defined at:
  2986 ;;               line 8 in file "I2C2.c"
  2987 ;; Parameters:    Size  Location     Type
  2988 ;;  data            1    wreg     PTR struct .
  2989 ;;                -> main@i2c2_data(77), 
  2990 ;; Auto vars:     Size  Location     Type
  2991 ;;  data            1    1[BANK0 ] PTR struct .
  2992 ;;                -> main@i2c2_data(77), 
  2993 ;; Return value:  Size  Location     Type
  2994 ;;               None            ý   void
  2995 ;; Registers used:
  2996 ;;               wreg, fsr1l, fsr1h, status,2
  2997 ;; Tracked objects:
  2998 ;;               On entry : 0/0
  2999 ;;               On exit  : 0/0
  3000 ;;               Unchanged: 0/0
  3001 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3002 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3003 ;;      Locals:         0       1ý       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3004 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3005 ;;      Totals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3006 ;;Total ram usage:        2 bytes
  3007 ;; Hardware stack levels used:    1
  3008 ;; Hardware stack levelOs required when called:    4
  3009 ;; This function calls:
  3010 ;;               Nothing
  3011 ;; This function is called by:
  3012 ;;               _main
  3013 ;; This function uses a non-reentrant model
  3014 ;;
  3015                           
  3016                           
  3017                           ;psect for function _I2C2_Init
  3018  4text12                     _I2C2_Init:  
  3019                           
  3020                           ;incstack = 0
  3021                           ; Regs used in _I2C2_Init: [wreg+fsr1l+fsr1h+status,2]
  3022                           ;I2C2_Init@data stored from wreg
  3023  4text125  0020                    movlb   0        ; select bank0
  3024  4text12  €÷cstackBANK0                      movwf   I2C2_Init@data
  3025                           
  3026                           ;I2C2.c: 9: i2c_data_p = data;
  3027  4text12  ÷cstackBANK0.                movf    I2C2_Init@data,w
  3028  4text12  €÷cstackBANK0+                     movwf   ??_I2C2_Init
  3029  4text12  ÷cstackBANK0,                      movf    ??_I2C2_Init,w
  3030  4text12  €÷nvBANK0                movwf   I2C2@i2c_data_p
  3031                           
  3032                           ;I2C2.c: 11: i2c_data_p->buffer_in_len = 0;
  3033  4text12  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3034  4text12'  3E20                      addlw   32
  3035  4text12&  0086                      movwf   6
  3036  4text12     7  3001                  movlw   1       ; select bank2/3
  3037  4text12
&  0087                  movwf   7
  3038  4text12˜  0181                     clrf    1
  3039                           
  3040                           ;I2C2.c: 12: i2c_data_p->buffer_in_len_tmp = 0;
  3041  4text12  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3042  4text12
'  3E21                      addlw   33
  3043  4text12&  0086                      movwf   6
  3044  4text127  3001                      movlw   1       ; select bank2/3
  3045  4text12&  0087                      movwf   7
  3046  4text12™  0181                     clrf    1
  3047                           
  3048                           ;I2C2.c: 13: i2c_data_p->buffer_in_read_ind = 0;
  3049  4text12  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3050  4text12'  3E22                      addlw   34
  3051  4text12&  0086                      movwf   6
  3052  4text127  3001                      movlw   1       ; select bank2/3
  3053  4text12&  0087                      movwf   7
  3054  4text12š  0181                     clrf    1
  3055                           
  3056                           ;I2C2.c: 14: i2c_data_p->buffer_in_write_ind = 0;
  3057  4text12  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3058  4text12'  3E23                      addlw   35
  3059  4text12&  0086                      movwf   6
  3060  4text127  3001                      movlw   1       ; select bank2/3
  3061  4text12&  0087                      movwf   7
  3062  4text12•  0181                     clrf    1
  3063                           
  3064                           ;I2C2.c: 16: i2c_data_p->buffer_out_ind = 0;
  3065  4text12  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3066  4text12'  3E45                      addlw   69
  3067  4text12 &  0086                      movwf   6
  3068  4text12!7  3001                      movlw   1       ; select bank2/3
  3069  4text12"&  0087                      movwf   7
  3070  4text12#•  0181                     clrf    1
  3071                           
  3072                           ;I2C2.c: 17: i2c_data_p->buffer_out_len = 0;
  3073  4text12$  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3074  4text12%'  3E44                      addlw   68
  3075  4text12&&  0086                      movwf   6
  3076  4text12'7  3001                      movlw   1       ; select bank2/3
  3077  4text12(&  0087                      movwf   7
  3078  4text12)•  0181                     clrf    1
  3079                           
  3080                           ;I2C2.c: 19: i2c_data_p->operating_mode = 0;
  3081  4text12*  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3082  4text12+'  3E46                      addlw   70
  3083  4text12,&  0086                      movwf   6
  3084  4text12-7  3001                      movlw   1       ; select bank2/3
  3085  4text12.&  0087                      movwf   7
  3086  4text12/˜  0181                     clrf    1
  3087                           
  3088                           ;I2C2.c: 20: i2c_data_p->operating_state = 0x1;
  3089  4text120  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3090  4text121'  3E47                      addlw   71
  3091  4text122&  0086                      movwf   6
  3092  4text1237  3001                      movlw   1       ; select bank2/3
  3093  4text124&  0087                      movwf   7
  3094  4text125%  0181                      clrf    1
  3095  4text126–  0A81                     incf    1,f
  3096                           
  3097                           ;I2C2.c: 21: i2c_data_p->return_status = 0;
  3098  4text127  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3099  4text128'  3E48                      addlw   72
  3100  4text129&  0086                      movwf   6
  3101  4text12:7  3001                      movlw   1       ; select bank2/3
  3102  4text12;&  0087                      movwf   7
  3103  4text12<™  0181                     clrf    1
  3104                           
  3105                           ;I2C2.c: 23: i2c_data_p->slave_in_last_byte = 0;
  3106  4text12=  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3107  4text12>'  3E4B                      addlw   75
  3108  4text12?&  0086                      movwf   6
  3109  4text12@7  3001                      movlw   1       ; select bank2/3
  3110  4text12A&  0087                      movwf   7
  3111  4text12B™  0181                     clrf    1
  3112                           
  3113                           ;I2C2.c: 24: i2c_data_p->slave_sending_data = 0;
  3114  4text12C  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3115  4text12D'  3E4C                      addlw   76
  3116  4text12E&  0086                      movwf   6
  3117  4text12F7  3001                      movlw   1       ; select bank2/3
  3118  4text12G&  0087                      movwf   7
  3119  4text12H—  0181                     clrf    1
  3120                           
  3121                           ;I2C2.c: 26: i2c_data_p->master_dest_addr = 0;
  3122  4text12I  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3123  4text12J'  3E49                      addlw   73
  3124  4text12K&  0086                      movwf   6
  3125  4text12L7  3001                      movlw   1       ; select bank2/3
  3126  4text12M&  0087                      movwf   7
  3127  4text12N—  0181                     clrf    1
  3128                           
  3129                           ;I2C2.c: 27: i2c_data_p->master_status = 0x23;
  3130  4text12O'  3023                      movlw   35
  3131  4text12P  €÷cstackBANK0+                     movwf   ??_I2C2_Init
  3132  4text12Q  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3133  4text12R'  3E4A                      addlw   74
  3134  4text12S&  0086                      movwf   6
  3135  4text12T7  3001                      movlw   1       ; select bank2/3
  3136  4text12U&  0087                      movwf   7
  3137  4text12V  ÷cstackBANK0,                      movf    ??_I2C2_Init,w
  3138  4text12W‹  0081                     movwf   1
  3139                           
  3140                           ;I2C2.c: 30: PIE4bits.SSP2IE = 1;
  3141  4text12X5  0021                      movlb   1       ; select bank1
  3142  4text12Y1  1414                      bsf     20,0    ;volatile
  3143  4text12Z%  0008                      return
  3144  4text12[ƒ                     __end_of_I2C2_Init:   
  3145                           
  3146                                  psect   text13
  3147  4text13ý                     __ptext13:  
  3148 ;; *************** function _I2C1_Configure_Slave *****************
  3149 ;; Defined at:
  3150 ;;               line 120 in file "I2C1.c"
  3151 ;; Parameters:    Size  Location     Type
  3152 ;;  addr            1    wreg     unsigned char 
  3153 ;; Auto vars:     Size  Location     Type
  3154 ;;  addr            1    1[BANK0 ] unsigned char 
  3155 ;; Return value:  Size  Location     Type
  3156 ;;               None               void
  3157 ;; Registers used:
  3158 ;;               wreg, fsr1ýl, fsr1h, status,2, status,0
  3159 ;; Tracked objects:
  3160 ;;               On entry : 0/0
  3161 ;;               On exit  : 0/0
  3162 ;;               Unchanged: 0/0
  3163 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3164 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3165 ;;      Locals:         0       1       0       0       0       0       0     ý  0       0       0       0       0       
      +0       0
  3166 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3167 ;;      Totals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3168 ;;Total ram usage:        2 bytes
  3169 ;; Hardware stack levels used:    1
  3170 ;; Hardware stack levels required when called:    4
  3171 ;; This f-unction calls:
  3172 ;;               Nothing
  3173 ;; This function is called by:
  3174 ;;               _main
  3175 ;; This function uses a non-reentrant model
  3176 ;;
  3177                           
  3178                           
  3179                           ;psect for function _I2C1_Configure_Slave
  3180  4text13?                     _I2C1_Configure_Slave:       
  3181                           
  3182                           ;incstack = 0
  3183                           ; Regs used in _I2C1_Configure_Slave: [wreg+fsr1l+fsr1h+status,2+status,0]
  3184                           ;I2C1_Configure_Slave@addr stored from wreg
  3185  4text135  0020                    movlb   0        ; select bank0
  3186  4text13  €÷cstackBANK0¬                      movwf   I2C1_Configure_Slave@addr
  3187                           
  3188                           ;I2C1.c: 121: i2c_data_p->operating_mode = 0x10;
  3189  4text13'  3010                      movlw   16
  3190  4text13  €÷cstackBANK06                     movwf   ??_I2C1_Configure_Slave
  3191  4text13  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3192  4text13'  3E46                      addlw   70
  3193  4text13&  0086                      movwf   6
  3194  4text13%  0187                      clrf    7
  3195  4text13  ÷cstackBANK07                      movf    ??_I2C1_Configure_Slave,w
  3196  4text13       0081                 movwf   1
  3197                           
  3198                           ;I2C1.c: 124: TRISBbits.TRISB6 = 1;
  3199  4text13
5  0021                  movlb   1       ; select bank1
  3200  4text13˜  170D                     bsf     13,6    ;volatile
  3201                           
  3202                           ;I2C1.c: 125: TRISBbits.TRISB4 = 1;
  3203  4text13—  160D                     bsf     13,4    ;volatile
  3204                           
  3205                           ;I2C1.c: 127: SSP1ADD = addr << 1;
  3206  4text13
5  0020                      movlb   0        ; select bank0
  3207  4text13  5÷cstackBANK09                lslf    I2C1_Configure_Slave@addr,w
  3208  4text135  0024                      movlb   4       ; select bank4
  3209  4text13’  0092                     movwf   18      ;volatile
  3210                           
  3211                           ;I2C1.c: 129: SSP1STAT = 0x0;
  3212  4text13‘  0194                     clrf    20      ;volatile
  3213                           
  3214                           ;I2C1.c: 130: SSP1CON1 = 0x0;
  3215  4text13‘  0195                     clrf    21      ;volatile
  3216                           
  3217                           ;I2C1.c: 131: SSP1CON2 = 0x0;
  3218  4text13š  0196                     clrf    22      ;volatile
  3219                           
  3220                           ;I2C1.c: 132: SSP1CON1bits.SSPM = 0xE;
  3221  4text132  0815                      movf    21,w    ;volatile
  3222  4text13(  39F0                      andlw   -16
  3223  4text13'  380E                      iorlw   14
  3224  4text13˜  0095                     movwf   21      ;volatile
  3225                           
  3226                           ;I2C1.c: 133: SSP1STATbits.SMP = 1;
  3227  4text13˜  1794                     bsf     20,7    ;volatile
  3228                           
  3229                           ;I2C1.c: 134: SSP1CON2bits.SEN = 1;
  3230  4text13š  1416                     bsf     22,0    ;volatile
  3231                           
  3232                           ;I2C1.c: 135: SSP1CON1bits.SSPEN = 1;
  3233  4text131  1695                      bsf     21,5    ;volatile
  3234  4text13%  0008                      return
  3235  4text13Ž                     __end_of_I2C1_Configure_Slave:        
  3236                           
  3237                                  psect   text14
  3238  4text14ý                     __ptext14:  
  3239 ;; *************** function _I2C1_Init *****************
  3240 ;; Defined at:
  3241 ;;               line 8 in file "I2C1.c"
  3242 ;; Parameters:    Size  Location     Type
  3243 ;;  data            1    wreg     PTR struct .
  3244 ;;                -> main@i2c1_data(77), 
  3245 ;; Auto vars:     Size  Location     Type
  3246 ;;  data            1    1[BANK0 ] PTR struct .
  3247 ;;                -> main@i2c1_data(77), 
  3248 ;; Return value:  Size  Location     Type
  3249 ;;               None            ý   void
  3250 ;; Registers used:
  3251 ;;               wreg, fsr1l, fsr1h, status,2
  3252 ;; Tracked objects:
  3253 ;;               On entry : 0/0
  3254 ;;               On exit  : 0/0
  3255 ;;               Unchanged: 0/0
  3256 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3257 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3258 ;;      Locals:         0       1ý       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3259 ;;      Temps:          0       1       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3260 ;;      Totals:         0       2       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3261 ;;Total ram usage:        2 bytes
  3262 ;; Hardware stack levels used:    1
  3263 ;; Hardware stack levelOs required when called:    4
  3264 ;; This function calls:
  3265 ;;               Nothing
  3266 ;; This function is called by:
  3267 ;;               _main
  3268 ;; This function uses a non-reentrant model
  3269 ;;
  3270                           
  3271                           
  3272                           ;psect for function _I2C1_Init
  3273  4text14                     _I2C1_Init:  
  3274                           
  3275                           ;incstack = 0
  3276                           ; Regs used in _I2C1_Init: [wreg+fsr1l+fsr1h+status,2]
  3277                           ;I2C1_Init@data stored from wreg
  3278  4text145  0020                    movlb   0        ; select bank0
  3279  4text14  €÷cstackBANK0                      movwf   I2C1_Init@data
  3280                           
  3281                           ;I2C1.c: 9: i2c_data_p = data;
  3282  4text14  ÷cstackBANK0.                movf    I2C1_Init@data,w
  3283  4text14  €÷cstackBANK0+                     movwf   ??_I2C1_Init
  3284  4text14  ÷cstackBANK0,                      movf    ??_I2C1_Init,w
  3285  4text14  €÷nvCOMMON™                       movwf   _i2c_data_p
  3286                           
  3287                           ;I2C1.c: 11: i2c_data_p->buffer_in_len = 0;
  3288  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3289  4text14'  3E20                      addlw   32
  3290  4text14&  0086                      movwf   6
  3291  4text14     %  0187                  clrf    7
  3292  4text14
˜  0181                 clrf    1
  3293                           
  3294                           ;I2C1.c: 12: i2c_data_p->buffer_in_len_tmp = 0;
  3295  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3296  4text14'  3E21                      addlw   33
  3297  4text14
&  0086                      movwf   6
  3298  4text14%  0187                      clrf    7
  3299  4text14™  0181                     clrf    1
  3300                           
  3301                           ;I2C1.c: 13: i2c_data_p->buffer_in_read_ind = 0;
  3302  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3303  4text14'  3E22                      addlw   34
  3304  4text14&  0086                      movwf   6
  3305  4text14%  0187                      clrf    7
  3306  4text14š  0181                     clrf    1
  3307                           
  3308                           ;I2C1.c: 14: i2c_data_p->buffer_in_write_ind = 0;
  3309  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3310  4text14'  3E23                      addlw   35
  3311  4text14&  0086                      movwf   6
  3312  4text14%  0187                      clrf    7
  3313  4text14•  0181                     clrf    1
  3314                           
  3315                           ;I2C1.c: 16: i2c_data_p->buffer_out_ind = 0;
  3316  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3317  4text14'  3E45                      addlw   69
  3318  4text14&  0086                      movwf   6
  3319  4text14%  0187                      clrf    7
  3320  4text14•  0181                     clrf    1
  3321                           
  3322                           ;I2C1.c: 17: i2c_data_p->buffer_out_len = 0;
  3323  4text14  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3324  4text14 '  3E44                      addlw   68
  3325  4text14!&  0086                      movwf   6
  3326  4text14"%  0187                      clrf    7
  3327  4text14#•  0181                     clrf    1
  3328                           
  3329                           ;I2C1.c: 19: i2c_data_p->operating_mode = 0;
  3330  4text14$  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3331  4text14%'  3E46                      addlw   70
  3332  4text14&&  0086                      movwf   6
  3333  4text14'%  0187                      clrf    7
  3334  4text14(˜  0181                     clrf    1
  3335                           
  3336                           ;I2C1.c: 20: i2c_data_p->operating_state = 0x1;
  3337  4text14)  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3338  4text14*'  3E47                      addlw   71
  3339  4text14+&  0086                      movwf   6
  3340  4text14,%  0187                      clrf    7
  3341  4text14-%  0181                      clrf    1
  3342  4text14.–  0A81                     incf    1,f
  3343                           
  3344                           ;I2C1.c: 21: i2c_data_p->return_status = 0;
  3345  4text14/  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3346  4text140'  3E48                      addlw   72
  3347  4text141&  0086                      movwf   6
  3348  4text142%  0187                      clrf    7
  3349  4text143™  0181                     clrf    1
  3350                           
  3351                           ;I2C1.c: 23: i2c_data_p->slave_in_last_byte = 0;
  3352  4text144  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3353  4text145'  3E4B                      addlw   75
  3354  4text146&  0086                      movwf   6
  3355  4text147%  0187                      clrf    7
  3356  4text148™  0181                     clrf    1
  3357                           
  3358                           ;I2C1.c: 24: i2c_data_p->slave_sending_data = 0;
  3359  4text149  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3360  4text14:'  3E4C                      addlw   76
  3361  4text14;&  0086                      movwf   6
  3362  4text14<%  0187                      clrf    7
  3363  4text14=—  0181                     clrf    1
  3364                           
  3365                           ;I2C1.c: 26: i2c_data_p->master_dest_addr = 0;
  3366  4text14>  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3367  4text14?'  3E49                      addlw   73
  3368  4text14@&  0086                      movwf   6
  3369  4text14A%  0187                      clrf    7
  3370  4text14B—  0181                     clrf    1
  3371                           
  3372                           ;I2C1.c: 27: i2c_data_p->master_status = 0x23;
  3373  4text14C'  3023                      movlw   35
  3374  4text14D  €÷cstackBANK0+                     movwf   ??_I2C1_Init
  3375  4text14E  ÷nvCOMMON+                 movf    _i2c_data_p,w
  3376  4text14F'  3E4A                      addlw   74
  3377  4text14G&  0086                      movwf   6
  3378  4text14H%  0187                      clrf    7
  3379  4text14I  ÷cstackBANK0,                      movf    ??_I2C1_Init,w
  3380  4text14J‹  0081                     movwf   1
  3381                           
  3382                           ;I2C1.c: 30: PIE1bits.SSP1IE = 1;
  3383  4text14K5  0021                      movlb   1       ; select bank1
  3384  4text14L1  1591                      bsf     17,3    ;volatile
  3385  4text14M%  0008                      return
  3386  4text14Nƒ                     __end_of_I2C1_Init:   
  3387                           
  3388                                  psect   text15
  3389  4text15ý                     __ptext15:  
  3390 ;; *************** function _Read_Address *****************
  3391 ;; Defined at:
  3392 ;;               line 67 in file "main.c"
  3393 ;; Parameters:    Size  Location     Type
  3394 ;;               None
  3395 ;; Auto vars:     Size  Location     Type
  3396 ;;  ret             1    3[BANK0 ] unsigned char 
  3397 ;; Return value:  Size  Location     Type
  3398 ;;                  1    wreg      unsigned char 
  3399 ;; Registers used:
  3400 ;;               wreg, status,2, status,0
  3401 ;; Trýacked objects:
  3402 ;;               On entry : 0/0
  3403 ;;               On exit  : 0/0
  3404 ;;               Unchanged: 0/0
  3405 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3406 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3407 ;;      Locals:         0       1       0       0       0       0       0       0       0       0       0       0      ý 
      +0       0
  3408 ;;      Temps:          0       3       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3409 ;;      Totals:         0       4       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3410 ;;Total ram usage:        4 bytes
  3411 ;; Hardware stack levels used:    1
  3412 ;; Hardware stack levels required when called:    4
  3413 ;; This function calls:
  3414 ;;               Nothing
  3415 ü;; This function is called by:
  3416 ;;               _main
  3417 ;; This function uses a non-reentrant model
  3418 ;;
  3419                           
  3420                           
  3421                           ;psect for function _Read_Address
  3422  4text157                     _Read_Address:       
  3423                           
  3424                           ;main.c: 68: uint8_t ret = 0;
  3425                           
  3426                           ;incstack = 0
  3427                           ; Regs used in _Read_Address: [wreg+status,2+status,0]
  3428  4text155  0020                    movlb   0        ; select bank0
  3429  4text15  €÷cstackBANK0š                      clrf    Read_Address@ret
  3430                           
  3431                           ;main.c: 69: ret |= LATCbits.LATC3 << 3;
  3432  4text155  0022                      movlb   2       ; select bank2
  3433  4text151  0C0E                      rrf     14,w    ;volatile
  3434  4text155  0020                      movlb   0        ; select bank0
  3435  4text15  €÷cstackBANK0.                     movwf   ??_Read_Address
  3436  4text15  €÷cstackBANK0.                     rrf     ??_Read_Address,f
  3437  4text15  ÷cstackBANK0.                      rrf     ??_Read_Address,w
  3438  4text15&  3901                      andlw   1
  3439  4text15       €÷cstackBANK00                   movwf   ??_Read_Address+1
  3440  4text15
&  3002                  movlw   2
  3441  4text15%                     u1065: 
  3442  4text15  €5÷cstackBANK01                       lslf    ??_Read_Address+1,f
  3443  4text15'  3EFF                      addlw   -1
  3444  4text15
$  1D03                      skipz
  3445  4text15  (ûÿtext15
#                    goto    u1065
  3446  4text15  5÷cstackBANK01                lslf    ??_Read_Address+1,w
  3447  4text15  €÷cstackBANK00                       movwf   ??_Read_Address+2
  3448  4text15  ÷cstackBANK01                movf    ??_Read_Address+2,w
  3449  4text15  €÷cstackBANK0                      iorwf   Read_Address@ret,f
  3450                           
  3451                           ;main.c: 70: ret |= LATCbits.LATC2 << 2;
  3452  4text155  0022                      movlb   2       ; select bank2
  3453  4text151  0C0E                      rrf     14,w    ;volatile
  3454  4text15&  0C89                      rrf     9,f
  3455  4text15&  3901                      andlw   1
  3456  4text155  0020                      movlb   0        ; select bank0
  3457  4text15  €÷cstackBANK0.                     movwf   ??_Read_Address
  3458  4text15&  3001                      movlw   1
  3459  4text15%                     u1075: 
  3460  4text15  €5÷cstackBANK0/                     lslf    ??_Read_Address,f
  3461  4text15'  3EFF                      addlw   -1
  3462  4text15$  1D03                      skipz
  3463  4text15  (ûÿtext15
#                    goto    u1075
  3464  4text15  5÷cstackBANK0/                      lslf    ??_Read_Address,w
  3465  4text15  €÷cstackBANK00                       movwf   ??_Read_Address+1
  3466  4text15   ÷cstackBANK01                movf    ??_Read_Address+1,w
  3467  4text15!  €÷cstackBANK0                      iorwf   Read_Address@ret,f
  3468                           
  3469                           ;main.c: 71: ret |= LATCbits.LATC1 << 1;
  3470  4text15"5  0022                      movlb   2       ; select bank2
  3471  4text15#1  0C0E                      rrf     14,w    ;volatile
  3472  4text15$&  3901                      andlw   1
  3473  4text15%(  0709                      addwf   9,w
  3474  4text15&5  0020                      movlb   0        ; select bank0
  3475  4text15'  €÷cstackBANK0.                     movwf   ??_Read_Address
  3476  4text15(  ÷cstackBANK0/                      movf    ??_Read_Address,w
  3477  4text15)  €÷cstackBANK0˜                      iorwf   Read_Address@ret,f
  3478                           
  3479                           ;main.c: 72: ret |= LATCbits.LATC0;
  3480  4text15*5  0022                      movlb   2       ; select bank2
  3481  4text15+2  080E                      movf    14,w    ;volatile
  3482  4text15,&  3901                      andlw   1
  3483  4text15-5  0020                      movlb   0        ; select bank0
  3484  4text15.  €÷cstackBANK0.                     movwf   ??_Read_Address
  3485  4text15/  ÷cstackBANK0/                      movf    ??_Read_Address,w
  3486  4text150  €÷cstackBANK0                      iorwf   Read_Address@ret,f
  3487                           
  3488                           ;main.c: 74: return ret;
  3489  4text151  ÷cstackBANK00                movf    Read_Address@ret,w
  3490  4text152%  0008                      return
  3491  4text153†                     __end_of_Read_Address:        
  3492                           
  3493                                  psect   text16
  3494  4text16ý                     __ptext16:  
  3495 ;; *************** function _Pins_Init *****************
  3496 ;; Defined at:
  3497 ;;               line 31 in file "main.c"
  3498 ;; Parameters:    Size  Location     Type
  3499 ;;               None
  3500 ;; Auto vars:     Size  Location     Type
  3501 ;;               None
  3502 ;; Return value:  Size  Location     Type
  3503 ;;               None               void
  3504 ;; Registers used:
  3505 ;;               status,2
  3506 ;; Tracked objects:
  3507 ;;               On entry : 0/0
  3508 ;;               On exit  : 0/0
  3509 ;;               Unchýanged: 0/0
  3510 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3511 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3512 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3513 ;;      Temps:          0       0       0       0       ý0       0       0       0       0       0       0       0       
      +0       0
  3514 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3515 ;;Total ram usage:        0 bytes
  3516 ;; Hardware stack levels used:    1
  3517 ;; Hardware stack levels required when called:    4
  3518 ;; This function calls:
  3519 ;;               Nothing
  3520 ;; This function is called by:
  3521 ;;               _main
  3522 ;; This function uses a non§-reentrant model
  3523 ;;
  3524                           
  3525                           
  3526                           ;psect for function _Pins_Init
  3527  4text16                      _Pins_Init:  
  3528                           
  3529                           ;main.c: 33: ANSELA = 0x0;
  3530                           
  3531                           ;incstack = 0
  3532                           ; Regs used in _Pins_Init: [status,2]
  3533  4text165  0023                    movlb   3       ; select bank3
  3534  4text16Ž  018C                     clrf    12      ;volatile
  3535                           
  3536                           ;main.c: 34: ANSELB = 0x0;
  3537  4text16Ž  018D                     clrf    13      ;volatile
  3538                           
  3539                           ;main.c: 35: ANSELC = 0x0;
  3540  4text16›  018E                     clrf    14      ;volatile
  3541                           
  3542                           ;main.c: 38: OPTION_REGbits.nWPUEN = 0;
  3543  4text165  0021                      movlb   1       ; select bank1
  3544  4text16—  1395                     bcf     21,7    ;volatile
  3545                           
  3546                           ;main.c: 41: TRISAbits.TRISA5 = 1;
  3547  4text16—  168C                     bsf     12,5    ;volatile
  3548                           
  3549                           ;main.c: 42: TRISAbits.TRISA4 = 1;
  3550  4text16—  160C                     bsf     12,4    ;volatile
  3551                           
  3552                           ;main.c: 43: TRISAbits.TRISA2 = 1;
  3553  4text16—  150C                     bsf     12,2    ;volatile
  3554                           
  3555                           ;main.c: 46: TRISCbits.TRISC5 = 1;
  3556  4text16     —  168E                 bsf     14,5    ;volatile
  3557                           
  3558                           ;main.c: 47: TRISCbits.TRISC4 = 0;
  3559  4text16
—  120E                 bcf     14,4    ;volatile
  3560                           
  3561                           ;main.c: 50: TRISCbits.TRISC0 = 1;
  3562  4text16—  140E                     bsf     14,0    ;volatile
  3563                           
  3564                           ;main.c: 51: TRISCbits.TRISC1 = 1;
  3565  4text16—  148E                     bsf     14,1    ;volatile
  3566                           
  3567                           ;main.c: 52: TRISCbits.TRISC2 = 1;
  3568  4text16
—  150E                     bsf     14,2    ;volatile
  3569                           
  3570                           ;main.c: 53: TRISCbits.TRISC3 = 1;
  3571  4text16•  158E                     bsf     14,3    ;volatile
  3572                           
  3573                           ;main.c: 55: WPUCbits.WPUC0 = 1;
  3574  4text165  0024                      movlb   4       ; select bank4
  3575  4text16•  140E                     bsf     14,0    ;volatile
  3576                           
  3577                           ;main.c: 56: WPUCbits.WPUC1 = 1;
  3578  4text16•  148E                     bsf     14,1    ;volatile
  3579                           
  3580                           ;main.c: 57: WPUCbits.WPUC2 = 1;
  3581  4text16•  150E                     bsf     14,2    ;volatile
  3582                           
  3583                           ;main.c: 58: WPUCbits.WPUC3 = 1;
  3584  4text16—  158E                     bsf     14,3    ;volatile
  3585                           
  3586                           ;main.c: 61: TRISBbits.TRISB6 = 1;
  3587  4text165  0021                      movlb   1       ; select bank1
  3588  4text16—  170D                     bsf     13,6    ;volatile
  3589                           
  3590                           ;main.c: 62: TRISBbits.TRISB4 = 1;
  3591  4text16—  160D                     bsf     13,4    ;volatile
  3592                           
  3593                           ;main.c: 63: TRISBbits.TRISB7 = 1;
  3594  4text16—  178D                     bsf     13,7    ;volatile
  3595                           
  3596                           ;main.c: 64: TRISBbits.TRISB5 = 1;
  3597  4text161  168D                      bsf     13,5    ;volatile
  3598  4text16%  0008                      return
  3599  4text16…                     __end_of_Pins_Init:   
  3600                           
  3601                                  psect   intentry
  3602  4intentryý                     __pintentry:      
  3603 ;; *************** function _InterruptHandler *****************
  3604 ;; Defined at:
  3605 ;;               line 21 in file "INTERRUPTS.c"
  3606 ;; Parameters:    Size  Location     Type
  3607 ;;               None
  3608 ;; Auto vars:     Size  Location     Type
  3609 ;;               None
  3610 ;; Return value:  Size  Location     Type
  3611 ;;               None               void
  3612 ;; Registers used:
  3613 ;;               wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  3614 ;; Tracked oýbjects:
  3615 ;;               On entry : 0/0
  3616 ;;               On exit  : 0/0
  3617 ;;               Unchanged: 0/0
  3618 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3619 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3620 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
     ý +0       0
  3621 ;;      Temps:          1       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3622 ;;      Totals:         1       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3623 ;;Total ram usage:        1 bytes
  3624 ;; Hardware stack levels used:    1
  3625 ;; Hardware stack levels required when called:    3
  3626 ;; This function calls:
  3627 ;;               _I2C1_Interrupt_HandleÏr
  3628 ;;               _I2C2_Interrupt_Handler
  3629 ;; This function is called by:
  3630 ;;               Interrupt level 1
  3631 ;; This function uses a non-reentrant model
  3632 ;;
  3633                           
  3634  4intentryò                     _InterruptHandler:        
  3635                           
  3636                           ;incstack = 0
  3637                           ; Regs used in _InterruptHandler: [wreg-fsr1h+status,2+status,0+pclath+cstack]
  3638  4intentry  €1÷intentry      
"                    pagesel $
  3639  4intentry5  0020                    movlb   0        ; select bank0
  3640  4intentry)  087F                    movf    127,w
  3641  4intentry  €÷cstackCOMMONŸ                   movwf   ??_InterruptHandler
  3642                           
  3643                           ;INTERRUPTS.c: 37: if (PIR1bits.SSP1IF) {
  3644  4intentry3  1D91                    btfss   17,3    ;volatile
  3645  4intentry  (ûÿintentry
”                   goto    i1l271
  3646                           
  3647                           ;INTERRUPTS.c: 40: I2C1_Interrupt_Handler();
  3648  4intentry  €1÷text22  
   ûÿtext22
  €1÷intentry  
•           fcall   _I2C1_Interrupt_Handler
  3649                           
  3650                           ;INTERRUPTS.c: 43: PIR1bits.SSP1IF = 0;
  3651  4intentry   5  0020                  movlb   0        ; select bank0
  3652  4intentry
  1191                 bcf     17,3    ;volatile
  3653                           
  3654                           ;INTERRUPTS.c: 45: return;
  3655  4intentry  )(ûøÿÿintentry
intentry$                   goto    i1l272
  3656  4intentryÉ                     i1l271:     
  3657                           
  3658                           ;INTERRUPTS.c: 46: }
  3659                           ;INTERRUPTS.c: 49: if (PIR4bits.SSP2IF) {
  3660  4intentry3  1C14                    btfss   20,0    ;volatile
  3661  4intentry
  (ûÿintentry
”                   goto    i1l272
  3662                           
  3663                           ;INTERRUPTS.c: 51: I2C2_Interrupt_Handler();
  3664  4intentry  €1÷text18  
   ûÿtext18
›           fcall   _I2C2_Interrupt_Handler
  3665                           
  3666                           ;INTERRUPTS.c: 54: PIR4bits.SSP2IF = 0;
  3667  4intentry5  0020                    movlb   0        ; select bank0
  3668  4intentry1  1014                    bcf     20,0    ;volatile
  3669  4intentry„                     i1l272:     
  3670                           ;INTERRUPTS.c: 56: return;
  3671                           
  3672  4intentry  ÷cstackCOMMON3                     movf    ??_InterruptHandler,w
  3673  4intentry(  00FF                    movwf   127
  3674  4intentry%  0009                    retfie
  3675  4intentryŠ                     __end_of_InterruptHandler:  
  3676                           
  3677                                  psect   text18
  3678  4text18ý                     __ptext18:  
  3679 ;; *************** function _I2C2_Interrupt_Handler *****************
  3680 ;; Defined at:
  3681 ;;               line 138 in file "I2C2.c"
  3682 ;; Parameters:    Size  Location     Type
  3683 ;;               None
  3684 ;; Auto vars:     Size  Location     Type
  3685 ;;               None
  3686 ;; Return value:  Size  Location     Type
  3687 ;;               None               void
  3688 ;; Registers used:
  3689 ;;               wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  3690 ;; Tracked obýjects:
  3691 ;;               On entry : 0/0
  3692 ;;               On exit  : 0/0
  3693 ;;               Unchanged: 0/0
  3694 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3695 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3696 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      ý+0       0
  3697 ;;      Temps:          0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3698 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3699 ;;Total ram usage:        0 bytes
  3700 ;; Hardware stack levels used:    1
  3701 ;; Hardware stack levels required when called:    2
  3702 ;; This function calls:
  3703 ;;               _I2C2_Interrupt_Master
:  3704 ;;            _I2C2_Interrupt_Slave
  3705 ;; This function is called by:
  3706 ;;               _InterruptHandler
  3707 ;; This function uses a non-reentrant model
  3708 ;;
  3709                           
  3710                           
  3711                           ;psect for function _I2C2_Interrupt_Handler
  3712  4text18y                     _I2C2_Interrupt_Handler:     
  3713                           
  3714                           ;I2C2.c: 140: if (i2c_data_p->operating_mode == 0x11) {
  3715                           
  3716                           ;incstack = 0
  3717                           ; Regs used in _I2C2_Interrupt_Handler: [wreg-fsr1h+status,2+status,0+pclath+cstack]
  3718  4text185  0020                    movlb   0        ; select bank0
  3719  4text18  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3720  4text18'  3E46                      addlw   70
  3721  4text18&  0086                      movwf   6
  3722  4text187  3001                      movlw   1       ; select bank2/3
  3723  4text18&  0087                      movwf   7
  3724  4text18'  0801                      movf    1,w
  3725  4text18'  3A11                      xorlw   17
  3726  4text18$  1D03                      skipz
  3727  4text18       (ûÿtext18

                   goto    i1l3171
  3728                           
  3729                           ;I2C2.c: 141: I2C2_Interrupt_Master();
  3730  4text18
  €1÷text21        
   ûÿtext21
±           fcall   _I2C2_Interrupt_Master
  3731                           
  3732                           ;I2C2.c: 142: } else if (i2c_data_p->operating_mode == 0x10) {
  3733  4text18%  0008                      return
  3734  4text18
'                     i1l3171:       
  3735  4text18
5  0020                      movlb   0        ; select bank0
  3736  4text18  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3737  4text18'  3E46                      addlw   70
  3738  4text18&  0086                      movwf   6
  3739  4text187  3001                      movlw   1       ; select bank2/3
  3740  4text18&  0087                      movwf   7
  3741  4text18'  0801                      movf    1,w
  3742  4text18'  3A10                      xorlw   16
  3743  4text18$  1D03                      skipz
  3744  4text18Ž  0008                     return
  3745                           
  3746                           ;I2C2.c: 143: I2C2_Interrupt_Slave();
  3747  4text18  €1÷text19    
   ûÿtext19
.            fcall   _I2C2_Interrupt_Slave
  3748  4text18%  0008                      return
  3749  4text18                     __end_of_I2C2_Interrupt_Handler:      
  3750                           
  3751                                  psect   text19
  3752  4text19ý                     __ptext19:  
  3753 ;; *************** function _I2C2_Interrupt_Slave *****************
  3754 ;; Defined at:
  3755 ;;               line 327 in file "I2C2.c"
  3756 ;; Parameters:    Size  Location     Type
  3757 ;;               None
  3758 ;; Auto vars:     Size  Location     Type
  3759 ;;  data_read_fr    1    7[COMMON] unsigned char 
  3760 ;;  received_dat    1    6[COMMON] unsigned char 
  3761 ;;  data_written    1    5[COMMON] unsigned char 
  3762 ;;  overrun_erro    1    4[COMMON] unsigned char 
ý  3763 ;; Return value:  Size  Location     Type
  3764 ;;               None               void
  3765 ;; Registers used:
  3766 ;;               wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  3767 ;; Tracked objects:
  3768 ;;               On entry : 0/0
  3769 ;;               On exit  : 0/0
  3770 ;;               Unchanged: 0/0
  3771 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  3772 ;;      Params:         0       0       0       0       0     ý  0       0       0       0       0       0       0       
      +0       0
  3773 ;;      Locals:         4       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3774 ;;      Temps:          2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  3775 ;;      Totals:         6       0       0       0       0       0       0       0       0       0       0       0       
      +0       î0
  3776 ;;Total ram usage:        6 bytes
  3777 ;; Hardware stack levels used:    1
  3778 ;; Hardware stack levels required when called:    1
  3779 ;; This function calls:
  3780 ;;               _I2C2_Process_Receive
  3781 ;; This function is called by:
  3782 ;;               _I2C2_Interrupt_Handler
  3783 ;; This function uses a non-reentrant model
  3784 ;;
  3785                           
  3786                           
  3787                           ;psect for function _I2C2_Interrupt_Slave
  3788  4text19´                     _I2C2_Interrupt_Slave:      
  3789                           
  3790                           ;I2C2.c: 328: uint8_t received_data;
  3791                           ;I2C2.c: 329: uint8_t data_read_from_buffer = 0;
  3792                           
  3793                           ;incstack = 0
  3794                           ; Regs used in _I2C2_Interrupt_Slave: [wreg-fsr1h+status,2+status,0+pclath+cstack]
  3795  4text19  €÷cstackCOMMON½                   clrf    I2C2_Interrupt_Slave@data_read_from_buffer
  3796                           
  3797                           ;I2C2.c: 330: uint8_t data_written_to_buffer = 0;
  3798  4text19  €÷cstackCOMMONµ                     clrf    I2C2_Interrupt_Slave@data_written_to_buffer
  3799                           
  3800                           ;I2C2.c: 331: uint8_t overrun_error = 0;
  3801  4text19  €÷cstackCOMMON°                     clrf    I2C2_Interrupt_Slave@overrun_error
  3802                           
  3803                           ;I2C2.c: 334: if (SSP2CON1bits.SSPOV == 1) {
  3804  4text195  0024                      movlb   4       ; select bank4
  3805  4text193  1F1D                      btfss   29,6    ;volatile
  3806  4text19  (ûÿtext19
Ž                   goto    i1l3053
  3807                           
  3808                           ;I2C2.c: 335: SSP2CON1bits.SSPOV = 0;
  3809  4text19¥  131D                     bcf     29,6    ;volatile
  3810                           
  3811                           ;I2C2.c: 339: i2c_data_p->operating_state = 0x1;
  3812  4text195  0020                      movlb   0        ; select bank0
  3813  4text19  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3814  4text19     '  3E47                  addlw   71
  3815  4text19
&  0086                  movwf   6
  3816  4text197  3001                      movlw   1       ; select bank2/3
  3817  4text19&  0087                      movwf   7
  3818  4text19
%  0181                      clrf    1
  3819  4text19‹  0A81                     incf    1,f
  3820                           
  3821                           ;I2C2.c: 340: overrun_error = 1;
  3822  4text19  €÷cstackCOMMON@                      clrf    I2C2_Interrupt_Slave@overrun_error
  3823  4text19  €
÷cstackCOMMONµ                 incf    I2C2_Interrupt_Slave@overrun_error,f
  3824                           
  3825                           ;I2C2.c: 341: i2c_data_p->return_status = 0x36;
  3826  4text19'  3036                      movlw   54
  3827  4text19  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  3828  4text19  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3829  4text19'  3E48                      addlw   72
  3830  4text19&  0086                      movwf   6
  3831  4text197  3001                      movlw   1       ; select bank2/3
  3832  4text19&  0087                      movwf   7
  3833  4text19  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  3834  4text19&  0081                      movwf   1
  3835  4text19Å                     i1l3053:      
  3836                           
  3837                           ;I2C2.c: 342: }
  3838                           ;I2C2.c: 345: if (SSP2STATbits.BF == 1) {
  3839  4text195  0024                      movlb   4       ; select bank4
  3840  4text193  1C1C                      btfss   28,0    ;volatile
  3841  4text19  (ûÿtext19#
                   goto    i1l3059
  3842                           
  3843                           ;I2C2.c: 346: received_data = SSP2BUF;
  3844  4text192  0819                      movf    25,w    ;volatile
  3845  4text19  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  3846  4text19  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  3847  4text19   €÷cstackCOMMON­                     movwf   I2C2_Interrupt_Slave@received_data
  3848                           
  3849                           ;I2C2.c: 348: data_read_from_buffer = 1;
  3850  4text19!  €÷cstackCOMMONH                      clrf    I2C2_Interrupt_Slave@data_read_from_buffer
  3851  4text19"  €
÷cstackCOMMONJ                  incf    I2C2_Interrupt_Slave@data_read_from_buffer,f
  3852  4text19#¿                     i1l3059:      
  3853                           
  3854                           ;I2C2.c: 349: }
  3855                           ;I2C2.c: 351: if (!overrun_error) {
  3856  4text19#  €÷cstackCOMMONB                      movf    I2C2_Interrupt_Slave@overrun_error,f
  3857  4text19$(  1903                      btfsc   3,2
  3858  4text19%  (ûÿtext19Š
%                    goto    i1l3151
  3859  4text19&  %(ûøÿÿtext19
text19ž%                    goto    i1l3153
  3860  4text19'–                     i1l388:       
  3861                           ;I2C2.c: 353: case 0x1:
  3862                           
  3863                           ;I2C2.c: 352: switch (i2c_data_p->operating_state) {
  3864                           
  3865                           
  3866                           ;I2C2.c: 354: {
  3867                           ;I2C2.c: 356: if (SSP2STATbits.S == 1) {
  3868  4text19'5  0024                      movlb   4       ; select bank4
  3869  4text19(3  1D9C                      btfss   28,3    ;volatile
  3870  4text19)  (ûÿtext19ž
™                   goto    i1l3153
  3871                           
  3872                           ;I2C2.c: 357: i2c_data_p->buffer_in_len_tmp = 0;
  3873  4text19*5  0020                      movlb   0        ; select bank0
  3874  4text19+  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3875  4text19,'  3E21                      addlw   33
  3876  4text19-&  0086                      movwf   6
  3877  4text19.7  3001                      movlw   1       ; select bank2/3
  3878  4text19/&  0087                      movwf   7
  3879  4text190™  0181                     clrf    1
  3880                           
  3881                           ;I2C2.c: 358: i2c_data_p->operating_state = 0x2;
  3882  4text191&  3002                      movlw   2
  3883  4text192  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  3884  4text193  %(ûøÿÿtext19
text19D                      goto    L2
  3885  4text194Ø                     i1l391:       
  3886                           ;I2C2.c: 361: }
  3887                           ;I2C2.c: 362: case 0x2:
  3888                           
  3889                           ;I2C2.c: 359: }
  3890                           ;I2C2.c: 360: break;
  3891                           
  3892                           
  3893                           ;I2C2.c: 363: {
  3894                           ;I2C2.c: 365: if (SSP2STATbits.P == 1) {
  3895  4text1945  0024                      movlb   4       ; select bank4
  3896  4text1953  1E1C                      btfss   28,4    ;volatile
  3897  4text196  (ûÿtext199
™                   goto    i1l3069
  3898                           
  3899                           ;I2C2.c: 367: i2c_data_p->operating_state = 0x1;
  3900  4text1975  0020                      movlb   0        ; select bank0
  3901  4text198  %(ûøÿÿtext19
text19%                     goto    i1l3123
  3902  4text199œ                     i1l3069:      
  3903                           ;I2C2.c: 368: } else if (data_read_from_buffer) {
  3904                           
  3905  4text199  ÷cstackCOMMONJ                       movf    I2C2_Interrupt_Slave@data_read_from_buffer,w
  3906  4text19:(  1903                      btfsc   3,2
  3907  4text19;  (ûÿtext19ž
”                   goto    i1l3153
  3908                           
  3909                           ;I2C2.c: 369: if (SSP2STATbits.D_nA == 0) {
  3910  4text19<5  0024                      movlb   4       ; select bank4
  3911  4text19=3  1A9C                      btfsc   28,5    ;volatile
  3912  4text19>  (ûÿtext19x
”                   goto    i1l3147
  3913                           
  3914                           ;I2C2.c: 371: if (SSP2STATbits.R_nW == 0) {
  3915  4text19?3  191C                      btfsc   28,2    ;volatile
  3916  4text19@  (ûÿtext19G
™                   goto    i1l3077
  3917                           
  3918                           ;I2C2.c: 373: i2c_data_p->operating_state = 0x3;
  3919  4text19A&  3003                      movlw   3
  3920  4text19B  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  3921  4text19C5  0020                      movlb   0        ; select bank0
  3922  4text19D"                     L2:    
  3923  4text19D  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3924  4text19E'  3E47                      addlw   71
  3925  4text19F  %(ûøÿÿtext19
text19„                     goto    L7
  3926  4text19Gõ                     i1l3077:      
  3927                           ;I2C2.c: 374: } else {
  3928                           
  3929                           
  3930                           ;I2C2.c: 376: i2c_data_p->operating_state = 0x4;
  3931  4text19G&  3004                      movlw   4
  3932  4text19H  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  3933  4text19I5  0020                      movlb   0        ; select bank0
  3934  4text19J"                     L4:    
  3935  4text19J  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3936  4text19K'  3E47                      addlw   71
  3937  4text19L&  0086                      movwf   6
  3938  4text19M7  3001                      movlw   1       ; select bank2/3
  3939  4text19N&  0087                      movwf   7
  3940  4text19O  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  3941  4text19P&  0081                      movwf   1
  3942  4text19Qý                     i1l3081:      
  3943                           ;I2C2.c: 388: case 0x4:
  3944                           
  3945                           ;I2C2.c: 386: }
  3946                           ;I2C2.c: 387: send:
  3947                           
  3948                           ;I2C2.c: 383: }
  3949                           ;I2C2.c: 384: }
  3950                           ;I2C2.c: 385: break;
  3951                           
  3952                           ;I2C2.c: 382: i2c_data_p->returný_status = 0x37;
  3953                           
  3954                           ;I2C2.c: 381: i2c_data_p->operating_state = 0x1;
  3955                           
  3956                           ;I2C2.c: 379: }
  3957                           ;I2C2.c: 380: } else {
  3958                           
  3959                           ;I2C2.c: 378: goto send;
  3960                           
  3961                           
  3962                           ;I2C2.c: 389: {
  3963                       A    ;I2C2.c: 390: if (!i2c_data_p->slave_sending_data) {
  3964  4text19Q  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3965  4text19R'  3E4C                      addlw   76
  3966  4text19S&  0086                      movwf   6
  3967  4text19T7  3001                      movlw   1       ; select bank2/3
  3968  4text19U&  0087                      movwf   7
  3969  4text19V'  0881                      movf    1,f
  3970  4text19W$  1D03                      skipz
  3971  4text19X  (ûÿtext19€
²                   goto    i1l3093
  3972                           
  3973                           ;I2C2.c: 392: if (I2C2_Process_Receive(i2c_data_p->slave_in_last_byte)) {
  3974  4text19Y  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3975  4text19Z'  3E4B                      addlw   75
  3976  4text19[&  0086                      movwf   6
  3977  4text19\7  3001                      movlw   1       ; select bank2/3
  3978  4text19]&  0087                      movwf   7
  3979  4text19^'  0801                      movf    1,w
  3980  4text19_  €1÷text20    
   ûÿtext20
  €1÷text19    
(    fcall   _I2C2_Process_Receive
  3981  4text19b&  3A00                      xorlw   0
  3982  4text19c%  1903                      skipnz
  3983  4text19d  (ûÿtext19~
›                   goto    i1l3089
  3984                           
  3985                           ;I2C2.c: 394: SSP2BUF = i2c_data_p->buffer_out[0];
  3986  4text19e5  0020                      movlb   0        ; select bank0
  3987  4text19f  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3988  4text19g'  3E24                      addlw   36
  3989  4text19h&  0086                      movwf   6
  3990  4text19i7  3001                      movlw   1       ; select bank2/3
  3991  4text19j&  0087                      movwf   7
  3992  4text19k'  0801                      movf    1,w
  3993  4text19l5  0024                      movlb   4       ; select bank4
  3994  4text19m¢  0099                     movwf   25      ;volatile
  3995                           
  3996                           ;I2C2.c: 395: i2c_data_p->buffer_out_ind = 1;
  3997  4text19n5  0020                      movlb   0        ; select bank0
  3998  4text19o  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  3999  4text19p'  3E45                      addlw   69
  4000  4text19q&  0086                      movwf   6
  4001  4text19r7  3001                      movlw   1       ; select bank2/3
  4002  4text19s&  0087                      movwf   7
  4003  4text19t%  0181                      clrf    1
  4004  4text19uœ  0A81                     incf    1,f
  4005                           
  4006                           ;I2C2.c: 396: i2c_data_p->slave_sending_data = 1;
  4007  4text19v  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4008  4text19w'  3E4C                      addlw   76
  4009  4text19x&  0086                      movwf   6
  4010  4text19y7  3001                      movlw   1       ; select bank2/3
  4011  4text19z&  0087                      movwf   7
  4012  4text19{%  0181                      clrf    1
  4013  4text19|'  0A81                      incf    1,f
  4014  4text19}  %(ûøÿÿtext19
text19¨%                    goto    i1l3097
  4015  4text19~c                     i1l3089:       
  4016                           ;I2C2.c: 398: } else {
  4017                           
  4018                           ;I2C2.c: 397: data_written_to_buffer = 1;
  4019                           
  4020                           
  4021                           ;I2C2.c: 400: i2c_data_p->slave_sending_data = 0;
  4022  4text19~5  0020                      movlb   0        ; select bank0
  4023  4text19  %(ûøÿÿtext19
text19«%                    goto    i1l3099
  4024  4text19ۦ                     i1l3093:     
  4025                           ;I2C2.c: 402: }
  4026                           ;I2C2.c: 403: } else {
  4027                           
  4028                           ;I2C2.c: 401: i2c_data_p->operating_state = 0x1;
  4029                           
  4030                           
  4031                           ;I2C2.c: 405: if (i2c_data_p->buffer_out_ind < i2c_data_p->buffer_out_len) {
  4032  4text19€  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4033  4text19'  3E45                     addlw   69
  4034  4text19‚&  0086                     movwf   6
  4035  4text19ƒ7  3001                     movlw   1       ; select bank2/3
  4036  4text19„&  0087                     movwf   7
  4037  4text19…  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4038  4text19†'  3E44                     addlw   68
  4039  4text19‡&  0084                     movwf   4
  4040  4text19ˆ7  3001                     movlw   1       ; select bank2/3
  4041  4text19‰&  0085                     movwf   5
  4042  4text19Š'  0800                     movf    0,w
  4043  4text19‹(  0201                     subwf   1,w
  4044  4text19Œ%  1803                     skipnc
  4045  4text19  (ûÿtext19«
´                   goto    i1l3099
  4046                           
  4047                           ;I2C2.c: 406: SSP2BUF = i2c_data_p->buffer_out[i2c_data_p->buffer_out_ind];
  4048  4text19Ž  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4049  4text19'  3E45                     addlw   69
  4050  4text19&  0086                     movwf   6
  4051  4text19‘7  3001                     movlw   1       ; select bank2/3
  4052  4text19’&  0087                     movwf   7
  4053  4text19“'  0801                     movf    1,w
  4054  4text19”'  3E24                     addlw   36
  4055  4text19•  ÷nvBANK00                 addwf   I2C2@i2c_data_p,w
  4056  4text19–  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4057  4text19—  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4058  4text19˜&  0086                     movwf   6
  4059  4text19™7  3001                     movlw   1       ; select bank2/3
  4060  4text19š&  0087                     movwf   7
  4061  4text19›'  0801                     movf    1,w
  4062  4text19œ5  0024                     movlb   4       ; select bank4
  4063  4text19   0099                    movwf   25      ;volatile
  4064                           
  4065                           ;I2C2.c: 407: i2c_data_p->buffer_out_ind++;
  4066  4text19ž&  3001                     movlw   1
  4067  4text19Ÿ  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4068  4text19 5  0020                     movlb   0        ; select bank0
  4069  4text19¡  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4070  4text19¢'  3E45                     addlw   69
  4071  4text19£&  0086                     movwf   6
  4072  4text19¤7  3001                     movlw   1       ; select bank2/3
  4073  4text19¥&  0087                     movwf   7
  4074  4text19¦  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4075  4text19§(  0781                     addwf   1,f
  4076  4text19¨”                     i1l3097:     
  4077                           
  4078                           ;I2C2.c: 408: data_written_to_buffer = 1;
  4079  4text19¨  €÷cstackCOMMONI                     clrf    I2C2_Interrupt_Slave@data_written_to_buffer
  4080  4text19©  €
÷cstackCOMMON¥                 incf    I2C2_Interrupt_Slave@data_written_to_buffer,f
  4081                           
  4082                           ;I2C2.c: 409: } else {
  4083  4text19ª  %(ûøÿÿtext19
text19ž%                    goto    i1l3153
  4084  4text19«œ                     i1l3099:     
  4085                           
  4086                           ;I2C2.c: 411: i2c_data_p->slave_sending_data = 0;
  4087  4text19«  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4088  4text19¬'  3E4C                     addlw   76
  4089  4text19­&  0086                     movwf   6
  4090  4text19®7  3001                     movlw   1       ; select bank2/3
  4091  4text19¯&  0087                     movwf   7
  4092  4text19°%  0181                     clrf    1
  4093  4text19±  %(ûøÿÿtext19
text19%                     goto    i1l3123
  4094  4text19²ý                     i1l407:      
  4095                           ;I2C2.c: 416: }
  4096                           ;I2C2.c: 417: case 0x3:
  4097                           
  4098                           ;I2C2.c: 413: }
  4099                           ;I2C2.c: 414: }
  4100                           ;I2C2.c: 415: break;
  4101                           
  4102                           ;I2C2.c: 412: i2c_data_p->operating_state = 0x1;
  4103                           
  4104                           
  4€105                           ;I2C2.c: 418: {
  4106                           ;I2C2.c: 420: if (SSP2STATbits.P == 1) {
  4107  4text19²5  0024                     movlb   4       ; select bank4
  4108  4text19³3  1E1C                     btfss   28,4    ;volatile
  4109  4text19´  (ûÿtext19 
“                   goto    i1l3125
  4110                           
  4111                           ;I2C2.c: 422: if (data_read_from_buffer) {
  4112  4text19µ  ÷cstackCOMMONJ                      movf    I2C2_Interrupt_Slave@data_read_from_buffer,w
  4113  4text19¶(  1903                     btfsc   3,2
  4114  4text19·  (ûÿtext19       
”                   goto    i1l3121
  4115                           
  4116                           ;I2C2.c: 423: if (SSP2STATbits.D_nA == 1) {
  4117  4text19¸3  1E9C                     btfss   28,5    ;volatile
  4118  4text19¹  (ûÿtext19ø
¾                   goto    i1l3119
  4119                           
  4120                           ;I2C2.c: 426: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = received_data;
  4121  4text19º  ÷cstackCOMMONB                      movf    I2C2_Interrupt_Slave@received_data,w
  4122  4text19»  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4123  4text19¼5  0020                     movlb   0        ; select bank0
  4124  4text19½  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4125  4text19¾'  3E23                     addlw   35
  4126  4text19¿&  0086                     movwf   6
  4127  4text19À7  3001                     movlw   1       ; select bank2/3
  4128  4text19Á&  0087                     movwf   7
  4129  4text19Â'  0801                     movf    1,w
  4130  4text19Ã  ÷nvBANK00                 addwf   I2C2@i2c_data_p,w
  4131  4text19Ä  €÷cstackCOMMON8                     movwf   ??_I2C2_Interrupt_Slave+1
  4132  4text19Å  ÷cstackCOMMON9                      movf    ??_I2C2_Interrupt_Slave+1,w
  4133  4text19Æ&  0086                     movwf   6
  4134  4text19Ç7  3001                     movlw   1       ; select bank2/3
  4135  4text19È&  0087                     movwf   7
  4136  4text19É  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4137  4text19ʦ  0081                    movwf   1
  4138                           
  4139                           ;I2C2.c: 427: if (i2c_data_p->buffer_in_write_ind == 32-1) {
  4140  4text19Ë  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4141  4text19Ì'  3E23                     addlw   35
  4142  4text19Í&  0086                     movwf   6
  4143  4text19Î7  3001                     movlw   1       ; select bank2/3
  4144  4text19Ï&  0087                     movwf   7
  4145  4text19Ð'  0801                     movf    1,w
  4146  4text19Ñ'  3A1F                     xorlw   31
  4147  4text19Ò$  1D03                     skipz
  4148  4text19Ó  (ûÿtext19Û
›                   goto    i1l3113
  4149                           
  4150                           ;I2C2.c: 428: i2c_data_p->buffer_in_write_ind = 0;
  4151  4text19Ô  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4152  4text19Õ'  3E23                     addlw   35
  4153  4text19Ö&  0086                     movwf   6
  4154  4text19×7  3001                     movlw   1       ; select bank2/3
  4155  4text19Ø&  0087                     movwf   7
  4156  4text19Ù  0181                     clrf    1
  4157                           
  4158                           ;I2C2.c: 429: } else {
  4159  4text19Ú  %(ûøÿÿtext19
text19ä$                    goto    i1l412
  4160  4text19Û›                     i1l3113:     
  4161                           
  4162                           ;I2C2.c: 430: i2c_data_p->buffer_in_write_ind++;
  4163  4text19Û&  3001                     movlw   1
  4164  4text19Ü  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4165  4text19Ý  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4166  4text19Þ'  3E23                     addlw   35
  4167  4text19ß&  0086                     movwf   6
  4168  4text19à7  3001                     movlw   1       ; select bank2/3
  4169  4text19á&  0087                     movwf   7
  4170  4text19â  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4171  4text19ã(  0781                     addwf   1,f
  4172  4text19äÉ                     i1l412:      
  4173                           
  4174                           ;I2C2.c: 431: }
  4175                           ;I2C2.c: 432: i2c_data_p->buffer_in_len_tmp++;
  4176  4text19ä&  3001                     movlw   1
  4177  4text19å  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4178  4text19æ  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4179  4text19ç'  3E21                     addlw   33
  4180  4text19è&  0086                     movwf   6
  4181  4text19é7  3001                     movlw   1       ; select bank2/3
  4182  4text19ê&  0087                     movwf   7
  4183  4text19ë  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4184  4text19ì©  0781                    addwf   1,f
  4185                           
  4186                           ;I2C2.c: 434: i2c_data_p->slave_in_last_byte = received_data;
  4187  4text19í  ÷cstackCOMMONB                      movf    I2C2_Interrupt_Slave@received_data,w
  4188  4text19î  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4189  4text19ï  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4190  4text19ð'  3E4B                     addlw   75
  4191  4text19ñ&  0086                     movwf   6
  4192  4text19ò7  3001                     movlw   1       ; select bank2/3
  4193  4text19ó&  0087                     movwf   7
  4194  4text19ô  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4195  4text19õ™  0081                    movwf   1
  4196                           
  4197                           ;I2C2.c: 435: i2c_data_p->return_status = 0x34;
  4198  4text19ö'  3034                     movlw   52
  4199  4text19÷  %(ûøÿÿtext19
text19                      goto    L6
  4200  4text19øõ                     i1l3119:     
  4201                           ;I2C2.c: 436: } else {
  4202                           
  4203                           
  4204                           ;I2C2.c: 437: i2c_data_p->operating_state = 0x1;
  4205  4text19ø5  0020                     movlb   0        ; select bank0
  4206  4text19ù  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4207  4text19ú'  3E47                     addlw   71
  4208  4text19û&  0086                     movwf   6
  4209  4text19ü7  3001                     movlw   1       ; select bank2/3
  4210  4text19ý&  0087                     movwf   7
  4211  4text19þ%  0181                     clrf    1
  4212  4text19ÿš  0A81                    incf    1,f
  4213                           
  4214                           ;I2C2.c: 438: i2c_data_p->return_status = 0x37;
  4215  4text19'  3037                      movlw   55
  4216  4text19"                     L6:    
  4217  4text19  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4218  4text19  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4219  4text19'  3E48                      addlw   72
  4220  4text19&  0086                      movwf   6
  4221  4text197  3001                      movlw   1       ; select bank2/3
  4222  4text19&  0087                      movwf   7
  4223  4text19  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4224  4text19&  0081                      movwf   1
  4225  4text19                          i1l3121:   
  4226                           
  4227                           ;I2C2.c: 439: }
  4228                           ;I2C2.c: 440: }
  4229                           ;I2C2.c: 441: i2c_data_p->buffer_in_len += i2c_data_p->buffer_in_len_tmp;
  4230  4text19     5  0020                  movlb   0        ; select bank0
  4231  4text19
  ÷nvBANK0/                      movf    I2C2@i2c_data_p,w
  4232  4text19'  3E21                      addlw   33
  4233  4text19&  0086                      movwf   6
  4234  4text19
7  3001                      movlw   1       ; select bank2/3
  4235  4text19&  0087                      movwf   7
  4236  4text19'  0801                      movf    1,w
  4237  4text19  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4238  4text19  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4239  4text19'  3E20                      addlw   32
  4240  4text19&  0086                      movwf   6
  4241  4text197  3001                      movlw   1       ; select bank2/3
  4242  4text19&  0087                      movwf   7
  4243  4text19  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4244  4text19(  0781                      addwf   1,f
  4245  4text19›                     i1l3123:      
  4246                           
  4247                           ;I2C2.c: 442: i2c_data_p->operating_state = 0x1;
  4248  4text19  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4249  4text19'  3E47                      addlw   71
  4250  4text19&  0086                      movwf   6
  4251  4text197  3001                      movlw   1       ; select bank2/3
  4252  4text19&  0087                      movwf   7
  4253  4text19%  0181                      clrf    1
  4254  4text19œ  0A81                     incf    1,f
  4255                           
  4256                           ;I2C2.c: 443: } else if (data_read_from_buffer) {
  4257  4text19  %(ûøÿÿtext19
text19ž%                    goto    i1l3153
  4258  4text19 '                     i1l3125:       
  4259  4text19   ÷cstackCOMMONJ                       movf    I2C2_Interrupt_Slave@data_read_from_buffer,w
  4260  4text19!(  1903                      btfsc   3,2
  4261  4text19"  (ûÿtext19ž
”                   goto    i1l3153
  4262                           
  4263                           ;I2C2.c: 444: if (SSP2STATbits.D_nA == 1) {
  4264  4text19#5  0024                      movlb   4       ; select bank4
  4265  4text19$3  1E9C                      btfss   28,5    ;volatile
  4266  4text19%  (ûÿtext19d
½                   goto    i1l416
  4267                           
  4268                           ;I2C2.c: 446: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = received_data;
  4269  4text19&  ÷cstackCOMMONB                       movf    I2C2_Interrupt_Slave@received_data,w
  4270  4text19'  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4271  4text19(5  0020                      movlb   0        ; select bank0
  4272  4text19)  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4273  4text19*'  3E23                      addlw   35
  4274  4text19+&  0086                      movwf   6
  4275  4text19,7  3001                      movlw   1       ; select bank2/3
  4276  4text19-&  0087                      movwf   7
  4277  4text19.'  0801                      movf    1,w
  4278  4text19/  ÷nvBANK00                  addwf   I2C2@i2c_data_p,w
  4279  4text190  €÷cstackCOMMON8                      movwf   ??_I2C2_Interrupt_Slave+1
  4280  4text191  ÷cstackCOMMON9                       movf    ??_I2C2_Interrupt_Slave+1,w
  4281  4text192&  0086                      movwf   6
  4282  4text1937  3001                      movlw   1       ; select bank2/3
  4283  4text194&  0087                      movwf   7
  4284  4text195  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4285  4text196¦  0081                     movwf   1
  4286                           
  4287                           ;I2C2.c: 447: if (i2c_data_p->buffer_in_write_ind == 32-1) {
  4288  4text197  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4289  4text198'  3E23                      addlw   35
  4290  4text199&  0086                      movwf   6
  4291  4text19:7  3001                      movlw   1       ; select bank2/3
  4292  4text19;&  0087                      movwf   7
  4293  4text19<'  0801                      movf    1,w
  4294  4text19='  3A1F                      xorlw   31
  4295  4text19>$  1D03                      skipz
  4296  4text19?  (ûÿtext19G
›                   goto    i1l3135
  4297                           
  4298                           ;I2C2.c: 448: i2c_data_p->buffer_in_write_ind = 0;
  4299  4text19@  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4300  4text19A'  3E23                      addlw   35
  4301  4text19B&  0086                      movwf   6
  4302  4text19C7  3001                      movlw   1       ; select bank2/3
  4303  4text19D&  0087                      movwf   7
  4304  4text19E  0181                      clrf    1
  4305                           
  4306                           ;I2C2.c: 449: } else {
  4307  4text19F  %(ûøÿÿtext19
text19P$                     goto    i1l418
  4308  4text19G›                     i1l3135:      
  4309                           
  4310                           ;I2C2.c: 450: i2c_data_p->buffer_in_write_ind++;
  4311  4text19G&  3001                      movlw   1
  4312  4text19H  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4313  4text19I  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4314  4text19J'  3E23                      addlw   35
  4315  4text19K&  0086                      movwf   6
  4316  4text19L7  3001                      movlw   1       ; select bank2/3
  4317  4text19M&  0087                      movwf   7
  4318  4text19N  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4319  4text19O(  0781                      addwf   1,f
  4320  4text19PÉ                     i1l418:       
  4321                           
  4322                           ;I2C2.c: 451: }
  4323                           ;I2C2.c: 452: i2c_data_p->buffer_in_len_tmp++;
  4324  4text19P&  3001                      movlw   1
  4325  4text19Q  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4326  4text19R  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4327  4text19S'  3E21                      addlw   33
  4328  4text19T&  0086                      movwf   6
  4329  4text19U7  3001                      movlw   1       ; select bank2/3
  4330  4text19V&  0087                      movwf   7
  4331  4text19W  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4332  4text19X©  0781                     addwf   1,f
  4333                           
  4334                           ;I2C2.c: 454: i2c_data_p->slave_in_last_byte = received_data;
  4335  4text19Y  ÷cstackCOMMONB                       movf    I2C2_Interrupt_Slave@received_data,w
  4336  4text19Z  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4337  4text19[  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4338  4text19\'  3E4B                      addlw   75
  4339  4text19]&  0086                      movwf   6
  4340  4text19^7  3001                      movlw   1       ; select bank2/3
  4341  4text19_&  0087                      movwf   7
  4342  4text19`  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4343  4text19a™  0081                     movwf   1
  4344                           
  4345                           ;I2C2.c: 455: i2c_data_p->return_status = 0x34;
  4346  4text19b'  3034                      movlw   52
  4347  4text19c  %(ûøÿÿtext19
text19                     goto    L8
  4348  4text19dï                     i1l416:       
  4349                           ;I2C2.c: 456: } else {
  4350                           
  4351                           
  4352                           ;I2C2.c: 458: if (SSP2STATbits.R_nW == 1) {
  4353  4text19d3  1D1C                      btfss   28,2    ;volatile
  4354  4text19e  (ûÿtext19x
²                   goto    i1l3147
  4355                           
  4356                           ;I2C2.c: 459: i2c_data_p->buffer_in_len += i2c_data_p->buffer_in_len_tmp;
  4357  4text19f5  0020                      movlb   0        ; select bank0
  4358  4text19g  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4359  4text19h'  3E21                      addlw   33
  4360  4text19i&  0086                      movwf   6
  4361  4text19j7  3001                      movlw   1       ; select bank2/3
  4362  4text19k&  0087                      movwf   7
  4363  4text19l'  0801                      movf    1,w
  4364  4text19m  €÷cstackCOMMON6                      movwf   ??_I2C2_Interrupt_Slave
  4365  4text19n  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4366  4text19o'  3E20                      addlw   32
  4367  4text19p&  0086                      movwf   6
  4368  4text19q7  3001                      movlw   1       ; select bank2/3
  4369  4text19r&  0087                      movwf   7
  4370  4text19s  ÷cstackCOMMON7                       movf    ??_I2C2_Interrupt_Slave,w
  4371  4text19tœ  0781                     addwf   1,f
  4372                           
  4373                           ;I2C2.c: 460: i2c_data_p->operating_state = 0x4;
  4374  4text19u&  3004                      movlw   4
  4375  4text19v  €÷cstackCOMMON’                     movwf   ??_I2C2_Interrupt_Slave
  4376                           
  4377                           ;I2C2.c: 462: goto send;
  4378  4text19w  %(ûøÿÿtext19
text19J                      goto    L4
  4379  4text19xõ                     i1l3147:      
  4380                           ;I2C2.c: 463: } else {
  4381                           
  4382                           
  4383                           ;I2C2.c: 465: i2c_data_p->operating_state = 0x1;
  4384  4text19x5  0020                      movlb   0        ; select bank0
  4385  4text19y  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4386  4text19z'  3E47                      addlw   71
  4387  4text19{&  0086                      movwf   6
  4388  4text19|7  3001                      movlw   1       ; select bank2/3
  4389  4text19}&  0087                      movwf   7
  4390  4text19~%  0181                      clrf    1
  4391  4text19š  0A81                     incf    1,f
  4392                           
  4393                           ;I2C2.c: 466: i2c_data_p->return_status = 0x37;
  4394  4text19€'  3037                     movlw   55
  4395  4text19"                     L8:   
  4396  4text19  €÷cstackCOMMON6                     movwf   ??_I2C2_Interrupt_Slave
  4397  4text19‚  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4398  4text19ƒ'  3E48                     addlw   72
  4399  4text19„"                     L7:   
  4400  4text19„&  0086                     movwf   6
  4401  4text19…7  3001                     movlw   1       ; select bank2/3
  4402  4text19†&  0087                     movwf   7
  4403  4text19‡  ÷cstackCOMMON7                      movf    ??_I2C2_Interrupt_Slave,w
  4404  4text19ˆ•  0081                    movwf   1
  4405                           
  4406                           ;I2C2.c: 471: }
  4407                           ;I2C2.c: 472: }
  4408                           
  4409                           ;I2C2.c: 467: }
  4410                           ;I2C2.c: 468: }
  4411                           ;I2C2.c: 469: }
  4412                           ;I2C2.c: 470: break;
  4413  4text19‰  %(ûøÿÿtext19
text19ž%                    goto    i1l3153
  4414  4text19Š'                     i1l3151:      
  4415  4text19Š5  0020                     movlb   0        ; select bank0
  4416  4text19‹  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4417  4text19Œ'  3E47                     addlw   71
  4418  4text19&  0086                     movwf   6
  4419  4text19Ž7  3001                     movlw   1       ; select bank2/3
  4420  4text19&  0087                     movwf   7
  4421  4text19ý  0801                    movf    1,w
  4422                           
  4423                           ; Switch size 1, requested type "space"
  4424                           ; Number of cases is 4, Range of values is 1 to 4
  4425                           ; switch strategies available:
  4426                           ; Name         Instructions Cycles
  4427                           ; simple_byte           13     7 (average)
  4428                           ; direct_byte           17     9 (fixed)
  4429Ž                           ; jumptable            263     9 (fixed)
  4430                           ;      Chosen strategy is simple_byte
  4431  4text19‘/  3A01                     xorlw   1       ; case 1
  4432  4text19’%  1903                     skipnz
  4433  4text19“  (ûÿtext19'
$                    goto    i1l388
  4434  4text19”/  3A03                     xorlw   3       ; case 2
  4435  4text19•%  1903                     skipnz
  4436  4text19–  (ûÿtext194
$                    goto    i1l391
  4437  4text19—/  3A01                     xorlw   1       ; case 3
  4438  4text19˜%  1903                     skipnz
  4439  4text19™  (ûÿtext19²
$                    goto    i1l407
  4440  4text19š/  3A07                     xorlw   7       ; case 4
  4441  4text19›%  1903                     skipnz
  4442  4text19œ  (ûÿtext19Q
%                    goto    i1l3081
  4443  4text19  %(ûøÿÿtext19
text19ž%                    goto    i1l3153
  4444  4text19žà                     i1l3153:     
  4445                           
  4446                           ;I2C2.c: 473: }
  4447                           ;I2C2.c: 476: if (data_read_from_buffer || data_written_to_buffer) {
  4448  4text19ž  €÷cstackCOMMONJ                     movf    I2C2_Interrupt_Slave@data_read_from_buffer,f
  4449  4text19Ÿ(  1903                     btfsc   3,2
  4450  4text19   ÷cstackCOMMONK                      movf    I2C2_Interrupt_Slave@data_written_to_buffer,w
  4451  4text19¡(  1903                     btfsc   3,2
  4452  4text19¢“  0008                    return
  4453                           
  4454                           ;I2C2.c: 478: if (SSP2CON1bits.CKP == 0) {
  4455  4text19£5  0024                     movlb   4       ; select bank4
  4456  4text19¤3  1A1D                     btfsc   29,4    ;volatile
  4457  4text19¥Œ  0008                    return
  4458                           
  4459                           ;I2C2.c: 479: SSP2CON1bits.CKP = 1;
  4460  4text19¦1  161D                     bsf     29,4    ;volatile
  4461  4text19§%  0008                     return
  4462  4text19¨Ž                     __end_of_I2C2_Interrupt_Slave:       
  4463                           
  4464                                  psect   text20
  4465  4text20ý                     __ptext20:  
  4466 ;; *************** function _I2C2_Process_Receive *****************
  4467 ;; Defined at:
  4468 ;;               line 522 in file "I2C2.c"
  4469 ;; Parameters:    Size  Location     Type
  4470 ;;  c               1    wreg     unsigned char 
  4471 ;; Auto vars:     Size  Location     Type
  4472 ;;  c               1    0[COMMON] unsigned char 
  4473 ;;  ret             1    1[COMMON] unsigned char 
  4474 ;;  btns            1    0        struct .
  4475 ;; Return value: ý Size  Location     Type
  4476 ;;                  1    wreg      unsigned char 
  4477 ;; Registers used:
  4478 ;;               wreg, fsr0l, fsr0h, status,2, status,0
  4479 ;; Tracked objects:
  4480 ;;               On entry : 0/0
  4481 ;;               On exit  : 0/0
  4482 ;;               Unchanged: 0/0
  4483 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  4484 ;;      Params:         0       0       0       0       0       0       0       0       0     ý  0       0       0       
      +0       0
  4485 ;;      Locals:         2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4486 ;;      Temps:          0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4487 ;;      Totals:         2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4488 ;;Total ram usage:     ƒ   2 bytes
  4489 ;; Hardware stack levels used:    1
  4490 ;; This function calls:
  4491 ;;               Nothing
  4492 ;; This function is called by:
  4493 ;;               _I2C2_Interrupt_Slave
  4494 ;; This function uses a non-reentrant model
  4495 ;;
  4496                           
  4497                           
  4498                           ;psect for function _I2C2_Process_Receive
  4499  4text206                     _I2C2_Process_Receive:       
  4500                           
  4501                           ;incstack = 0
  4502                           ; Regs used in _I2C2_Process_Receive: [wreg-fsr0h+status,2+status,0]
  4503                           ;I2C2_Process_Receive@c stored from wreg
  4504  4text20  €÷cstackCOMMON—                 movwf   I2C2_Process_Receive@c
  4505                           
  4506                           ;I2C2.c: 523: uint8_t ret = 0;
  4507  4text20  €÷cstackCOMMON6                      clrf    I2C2_Process_Receive@ret
  4508  4text20Ž  0064                     clrwdt  ;# 
  4509                           
  4510                           ;I2C2.c: 534: }
  4511                           
  4512                           ;I2C2.c: 533: break;
  4513                           
  4514                           ;I2C2.c: 528: case 0x0A:
  4515                           
  4516                           ;I2C2.c: 527: switch (c) {
  4517  4text20  ÷cstackCOMMONý                    movf    I2C2_Process_Receive@c,w
  4518                           
  4519                           ; Switch size 1, requested type "space"
  4520                           ; Number of cases is 1, Range of values is 10 to 10
  4521                           ; switch strategies available:
  4522                           ; Name         Instructions Cycles
  4523                           ; simple_byte            4     3 (average)
  4524                           ; direct_byte           11    Ÿ 9 (fixed)
  4525                           ; jumptable            263     9 (fixed)
  4526                           ;      Chosen strategy is simple_byte
  4527  4text201  3A0A                      xorlw   10      ; case 10
  4528  4text20%  1903                      skipnz
  4529  4text20  (ûÿtext20
%                    goto    i1l2865
  4530  4text20  %(ûøÿÿtext20
text20%                     goto    i1l2865
  4531  4text20„                     i1l2865:      
  4532                           
  4533                           ;I2C2.c: 535: return ret;
  4534  4text20  ÷cstackCOMMON8                       movf    I2C2_Process_Receive@ret,w
  4535  4text20     %  0008                  return
  4536  4text20
Ž                     __end_of_I2C2_Process_Receive:    
  4537                           
  4538                                  psect   text21
  4539  4text21ý                     __ptext21:  
  4540 ;; *************** function _I2C2_Interrupt_Master *****************
  4541 ;; Defined at:
  4542 ;;               line 148 in file "I2C2.c"
  4543 ;; Parameters:    Size  Location     Type
  4544 ;;               None
  4545 ;; Auto vars:     Size  Location     Type
  4546 ;;  tmp             1    3[COMMON] unsigned char 
  4547 ;;  tmp             1    2[COMMON] unsigned char 
  4548 ;; Return value:  Size  Location     Type
  4549 ;;               None               void
  4550 ;; Registers used:
  4ý551 ;;           wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0
  4552 ;; Tracked objects:
  4553 ;;               On entry : 0/0
  4554 ;;               On exit  : 0/0
  4555 ;;               Unchanged: 0/0
  4556 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  4557 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4558 ;;      Locals:         2       0       0     ý  0       0       0       0       0       0       0       0       0       
      +0       0
  4559 ;;      Temps:          2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4560 ;;      Totals:         4       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  4561 ;;Total ram usage:        4 bytes
  4562 ;; Hardware stack levels used:    1
  4563 ;; This function calls:
  4564 ;;               N%othing
  4565 ;; This function is called by:
  4566 ;;               _I2C2_Interrupt_Handler
  4567 ;; This function uses a non-reentrant model
  4568 ;;
  4569                           
  4570                           
  4571                           ;psect for function _I2C2_Interrupt_Master
  4572  4text21h                     _I2C2_Interrupt_Master:      
  4573                           
  4574                           ;I2C2.c: 150: if (i2c_data_p->master_status == 0x20) {
  4575                           
  4576                           ;incstack = 0
  4577                           ; Regs used in _I2C2_Interrupt_Master: [wreg-fsr1h+status,2+status,0]
  4578  4text215  0020                    movlb   0        ; select bank0
  4579  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4580  4text21'  3E4A                      addlw   74
  4581  4text21&  0086                      movwf   6
  4582  4text217  3001                      movlw   1       ; select bank2/3
  4583  4text21&  0087                      movwf   7
  4584  4text21'  0801                      movf    1,w
  4585  4text21'  3A20                      xorlw   32
  4586  4text21(  1903                      btfsc   3,2
  4587  4text21       (ûÿtext21„
%                    goto    i1l2743
  4588  4text21
  %(ûøÿÿtext21
text21•%                    goto    i1l2745
  4589  4text21ý                     i1l2725:      
  4590                           ;I2C2.c: 154: case 0x5:
  4591                           
  4592                           ;I2C2.c: 153: break;
  4593                           
  4594                           ;I2C2.c: 152: case 0x1:
  4595                           
  4596                           ;I2C2.c: 151: switch (i2c_data_p->operating_state) {
  4597                           
  4598                           
  4599                           ;I2C2.c: 156: i2c_dat$a_p->operating_state = 0x7;
  4600  4text21&  3007                      movlw   7
  4601  4text21  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4602  4text21
  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4603  4text21'  3E47                      addlw   71
  4604  4text21&  0086                      movwf   6
  4605  4text217  3001                      movlw   1       ; select bank2/3
  4606  4text21&  0087                      movwf   7
  4607  4text21  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4608  4text21¬  0081                     movwf   1
  4609                           
  4610                           ;I2C2.c: 157: SSP2BUF = (i2c_data_p->master_dest_addr << 1) | 0x0;
  4611  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4612  4text21'  3E49                      addlw   73
  4613  4text21&  0086                      movwf   6
  4614  4text217  3001                      movlw   1       ; select bank2/3
  4615  4text21&  0087                      movwf   7
  4616  4text21'  3501                      lslf    1,w
  4617  4text215  0024                      movlb   4       ; select bank4
  4618  4text21‰  0099                     movwf   25      ;volatile
  4619                           
  4620                           ;I2C2.c: 158: break;
  4621  4text21%  0008                      return
  4622  4text21ï                     i1l341:       
  4623                           ;I2C2.c: 159: case 0x7:
  4624                           
  4625                           
  4626                           ;I2C2.c: 161: if (!SSP2CON2bits.ACKSTAT) {
  4627  4text215  0024                      movlb   4       ; select bank4
  4628  4text213  1B1E                      btfsc   30,6    ;volatile
  4629  4text21  (ûÿtext21f
¸                   goto    i1l2737
  4630                           
  4631                           ;I2C2.c: 163: if (i2c_data_p->buffer_in_read_ind < i2c_data_p->buffer_in_len) {
  4632  4text21 5  0020                      movlb   0        ; select bank0
  4633  4text21!  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4634  4text21"'  3E22                      addlw   34
  4635  4text21#&  0086                      movwf   6
  4636  4text21$7  3001                      movlw   1       ; select bank2/3
  4637  4text21%&  0087                      movwf   7
  4638  4text21&  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4639  4text21''  3E20                      addlw   32
  4640  4text21(&  0084                      movwf   4
  4641  4text21)7  3001                      movlw   1       ; select bank2/3
  4642  4text21*&  0085                      movwf   5
  4643  4text21+'  0800                      movf    0,w
  4644  4text21,(  0201                      subwf   1,w
  4645  4text21-%  1803                      skipnc
  4646  4text21.  (ûÿtext21I
·                   goto    i1l2733
  4647                           
  4648                           ;I2C2.c: 164: SSP2BUF = i2c_data_p->buffer_in[i2c_data_p->buffer_in_read_ind];
  4649  4text21/  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4650  4text210'  3E22                      addlw   34
  4651  4text211&  0086                      movwf   6
  4652  4text2127  3001                      movlw   1       ; select bank2/3
  4653  4text213&  0087                      movwf   7
  4654  4text214'  0801                      movf    1,w
  4655  4text215  ÷nvBANK00                  addwf   I2C2@i2c_data_p,w
  4656  4text216  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4657  4text217  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4658  4text218&  0086                      movwf   6
  4659  4text2197  3001                      movlw   1       ; select bank2/3
  4660  4text21:&  0087                      movwf   7
  4661  4text21;'  0801                      movf    1,w
  4662  4text21<5  0024                      movlb   4       ; select bank4
  4663  4text21=¤  0099                     movwf   25      ;volatile
  4664                           
  4665                           ;I2C2.c: 165: i2c_data_p->buffer_in_read_ind++;
  4666  4text21>&  3001                      movlw   1
  4667  4text21?  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4668  4text21@5  0020                      movlb   0        ; select bank0
  4669  4text21A  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4670  4text21B'  3E22                      addlw   34
  4671  4text21C&  0086                      movwf   6
  4672  4text21D7  3001                      movlw   1       ; select bank2/3
  4673  4text21E&  0087                      movwf   7
  4674  4text21F  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4675  4text21G‚  0781                     addwf   1,f
  4676                           
  4677                           ;I2C2.c: 166: } else {
  4678  4text21H%  0008                      return
  4679  4text21I›                     i1l2733:      
  4680                           
  4681                           ;I2C2.c: 168: i2c_data_p->operating_state = 0x1;
  4682  4text21I  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4683  4text21J'  3E47                      addlw   71
  4684  4text21K&  0086                      movwf   6
  4685  4text21L7  3001                      movlw   1       ; select bank2/3
  4686  4text21M&  0087                      movwf   7
  4687  4text21N%  0181                      clrf    1
  4688  4text21OŽ  0A81                     incf    1,f
  4689                           
  4690                           ;I2C2.c: 169: SSP2CON2bits.PEN = 1;
  4691  4text21P5  0024                      movlb   4       ; select bank4
  4692  4text21Q¤  151E                     bsf     30,2    ;volatile
  4693                           
  4694                           ;I2C2.c: 170: i2c_data_p->master_status = 0x23;
  4695  4text21R'  3023                      movlw   35
  4696  4text21S  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4697  4text21T5  0020                      movlb   0        ; select bank0
  4698  4text21U  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4699  4text21V'  3E4A                      addlw   74
  4700  4text21W&  0086                      movwf   6
  4701  4text21X7  3001                      movlw   1       ; select bank2/3
  4702  4text21Y&  0087                      movwf   7
  4703  4text21Z  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4704  4text21[™  0081                     movwf   1
  4705                           
  4706                           ;I2C2.c: 171: i2c_data_p->return_status = 0x30;
  4707  4text21\'  3030                      movlw   48
  4708  4text21]  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4709  4text21^  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4710  4text21_'  3E48                      addlw   72
  4711  4text21`&  0086                      movwf   6
  4712  4text21a7  3001                      movlw   1       ; select bank2/3
  4713  4text21b&  0087                      movwf   7
  4714  4text21c  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4715  4text21d±  0081                     movwf   1
  4716                           
  4717                           ;I2C2.c: 172: }
  4718                           ;I2C2.c: 173: } else {
  4719  4text21e%  0008                      return
  4720  4text21f›                     i1l2737:      
  4721                           
  4722                           ;I2C2.c: 175: i2c_data_p->operating_state = 0x1;
  4723  4text21f5  0020                      movlb   0        ; select bank0
  4724  4text21g  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4725  4text21h'  3E47                      addlw   71
  4726  4text21i&  0086                      movwf   6
  4727  4text21j7  3001                      movlw   1       ; select bank2/3
  4728  4text21k&  0087                      movwf   7
  4729  4text21l%  0181                      clrf    1
  4730  4text21mŽ  0A81                     incf    1,f
  4731                           
  4732                           ;I2C2.c: 176: SSP2CON2bits.PEN = 1;
  4733  4text21n5  0024                      movlb   4       ; select bank4
  4734  4text21o¤  151E                     bsf     30,2    ;volatile
  4735                           
  4736                           ;I2C2.c: 177: i2c_data_p->master_status = 0x23;
  4737  4text21p'  3023                      movlw   35
  4738  4text21q  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4739  4text21r5  0020                      movlb   0        ; select bank0
  4740  4text21s  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4741  4text21t'  3E4A                      addlw   74
  4742  4text21u&  0086                      movwf   6
  4743  4text21v7  3001                      movlw   1       ; select bank2/3
  4744  4text21w&  0087                      movwf   7
  4745  4text21x  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4746  4text21y™  0081                     movwf   1
  4747                           
  4748                           ;I2C2.c: 178: i2c_data_p->return_status = 0x31;
  4749  4text21z'  3031                      movlw   49
  4750  4text21{  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4751  4text21|  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4752  4text21}'  3E48                      addlw   72
  4753  4text21~&  0086                      movwf   6
  4754  4text217  3001                      movlw   1       ; select bank2/3
  4755  4text21€&  0087                     movwf   7
  4756  4text21  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4757  4text21‚  0081                     movwf   1
  4758                           
  4759                           ;I2C2.c: 181: }
  4760                           
  4761                           ;I2C2.c: 179: }
  4762                           ;I2C2.c: 180: break;
  4763  4text21ƒ%  0008                     return
  4764  4text21„'                     i1l2743:      
  4765  4text21„  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4766  4text21…'  3E47                     addlw   71
  4767  4text21†&  0086                     movwf   6
  4768  4text21‡7  3001                     movlw   1       ; select bank2/3
  4769  4text21ˆ&  0087                     movwf   7
  4770  4text21‰ý  0801                    movf    1,w
  4771                           
  4772                           ; Switch size 1, requested type "space"
  4773                           ; Number of cases is 3, Range of values is 1 to 7
  4774                           ; switch strategies available:
  4775                           ; Name         Instructions Cycles
  4776                           ; simple_byte           10     6 (average)
  4777                           ; direct_byte           23     9 (fixed)
  4778Ž                           ; jumptable            263     9 (fixed)
  4779                           ;      Chosen strategy is simple_byte
  4780  4text21Š/  3A01                     xorlw   1       ; case 1
  4781  4text21‹%  1903                     skipnz
  4782  4text21Œ  (ûÿtext21Á
$                    goto    i1l381
  4783  4text21/  3A04                     xorlw   4       ; case 5
  4784  4text21Ž%  1903                     skipnz
  4785  4text21  (ûÿtext21
%                    goto    i1l2725
  4786  4text21/  3A02                     xorlw   2       ; case 7
  4787  4text21‘%  1903                     skipnz
  4788  4text21’  (ûÿtext21
$                    goto    i1l341
  4789  4text21“  %(ûøÿÿtext21
text21Á¥                   goto    i1l381
  4790                           
  4791                           ;I2C2.c: 183: } else if (i2c_data_p->master_status == 0x21) {
  4792  4text21”%  0008                     return
  4793  4text21•'                     i1l2745:      
  4794  4text21•  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4795  4text21–'  3E4A                     addlw   74
  4796  4text21—&  0086                     movwf   6
  4797  4text21˜7  3001                     movlw   1       ; select bank2/3
  4798  4text21™&  0087                     movwf   7
  4799  4text21š'  0801                     movf    1,w
  4800  4text21›'  3A21                     xorlw   33
  4801  4text21œ(  1903                     btfsc   3,2
  4802  4text21  (ûÿtext21S
%                    goto    i1l2791
  4803  4text21ž  %(ûøÿÿtext21
text21m%                     goto    i1l2793
  4804  4text21Ÿý                     i1l2749:     
  4805                           ;I2C2.c: 187: case 0x5:
  4806                           
  4807                           ;I2C2.c: 186: break;
  4808                           
  4809                           ;I2C2.c: 185: case 0x1:
  4810                           
  4811                           ;I2C2.c: 184: switch (i2c_data_p->operating_state) {
  4812                           
  4813                           
  4814                           ;I2C2.c: 189: i2c_dat$a_p->operating_state = 0x8;
  4815  4text21Ÿ&  3008                     movlw   8
  4816  4text21   €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4817  4text21¡  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4818  4text21¢'  3E47                     addlw   71
  4819  4text21£&  0086                     movwf   6
  4820  4text21¤7  3001                     movlw   1       ; select bank2/3
  4821  4text21¥&  0087                     movwf   7
  4822  4text21¦  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4823  4text21§ª  0081                    movwf   1
  4824                           
  4825                           ;I2C2.c: 190: uint8_t tmp = (i2c_data_p->master_dest_addr << 1);
  4826  4text21¨  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4827  4text21©'  3E49                     addlw   73
  4828  4text21ª&  0086                     movwf   6
  4829  4text21«7  3001                     movlw   1       ; select bank2/3
  4830  4text21¬&  0087                     movwf   7
  4831  4text21­'  3501                     lslf    1,w
  4832  4text21®  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4833  4text21¯  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4834  4text21°  €÷cstackCOMMON–                    movwf   I2C2_Interrupt_Master@tmp
  4835                           
  4836                           ;I2C2.c: 191: tmp |= 0x01;
  4837  4text21±  ÷cstackCOMMON˜                     bsf     I2C2_Interrupt_Master@tmp,0
  4838                           
  4839                           ;I2C2.c: 192: SSP2BUF = tmp;
  4840  4text21²  ÷cstackCOMMON9                      movf    I2C2_Interrupt_Master@tmp,w
  4841  4text21³5  0024                     movlb   4       ; select bank4
  4842  4text21´‰  0099                    movwf   25      ;volatile
  4843                           
  4844                           ;I2C2.c: 193: break;
  4845  4text21µ%  0008                     return
  4846  4text21¶ï                     i1l352:      
  4847                           ;I2C2.c: 194: case 0x8:
  4848                           
  4849                           
  4850                           ;I2C2.c: 196: if (!SSP2CON2bits.ACKSTAT) {
  4851  4text21¶5  0024                     movlb   4       ; select bank4
  4852  4text21·3  1B1E                     btfsc   30,6    ;volatile
  4853  4text21¸  (ûÿtext21Æ
™                   goto    i1l2761
  4854                           
  4855                           ;I2C2.c: 198: i2c_data_p->operating_state = 0x3;
  4856  4text21¹&  3003                     movlw   3
  4857  4text21º  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4858  4text21»5  0020                     movlb   0        ; select bank0
  4859  4text21¼  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4860  4text21½'  3E47                     addlw   71
  4861  4text21¾&  0086                     movwf   6
  4862  4text21¿7  3001                     movlw   1       ; select bank2/3
  4863  4text21À&  0087                     movwf   7
  4864  4text21Á  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4865  4text21ÂŽ  0081                    movwf   1
  4866                           
  4867                           ;I2C2.c: 199: SSP2CON2bits.RCEN = 1;
  4868  4text21Ã5  0024                     movlb   4       ; select bank4
  4869  4text21Ä‹  159E                    bsf     30,3    ;volatile
  4870                           
  4871                           ;I2C2.c: 200: } else {
  4872  4text21Å%  0008                     return
  4873  4text21Æ›                     i1l2761:     
  4874                           
  4875                           ;I2C2.c: 202: i2c_data_p->operating_state = 0x1;
  4876  4text21Æ5  0020                     movlb   0        ; select bank0
  4877  4text21Ç  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4878  4text21È'  3E47                     addlw   71
  4879  4text21É&  0086                     movwf   6
  4880  4text21Ê7  3001                     movlw   1       ; select bank2/3
  4881  4text21Ë&  0087                     movwf   7
  4882  4text21Ì%  0181                     clrf    1
  4883  4text21ÍŽ  0A81                    incf    1,f
  4884                           
  4885                           ;I2C2.c: 203: SSP2CON2bits.PEN = 1;
  4886  4text21Î5  0024                     movlb   4       ; select bank4
  4887  4text21Ϥ  151E                    bsf     30,2    ;volatile
  4888                           
  4889                           ;I2C2.c: 204: i2c_data_p->master_status = 0x23;
  4890  4text21Ð'  3023                     movlw   35
  4891  4text21Ñ  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4892  4text21Ò5  0020                     movlb   0        ; select bank0
  4893  4text21Ó  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4894  4text21Ô'  3E4A                     addlw   74
  4895  4text21Õ&  0086                     movwf   6
  4896  4text21Ö7  3001                     movlw   1       ; select bank2/3
  4897  4text21×&  0087                     movwf   7
  4898  4text21Ø  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4899  4text21Ù™  0081                    movwf   1
  4900                           
  4901                           ;I2C2.c: 205: i2c_data_p->return_status = 0x33;
  4902  4text21Ú'  3033                     movlw   51
  4903  4text21Û  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4904  4text21Ü  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4905  4text21Ý'  3E48                     addlw   72
  4906  4text21Þ&  0086                     movwf   6
  4907  4text21ß7  3001                     movlw   1       ; select bank2/3
  4908  4text21à&  0087                     movwf   7
  4909  4text21á  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4910  4text21⯠ 0081                    movwf   1
  4911                           
  4912                           ;I2C2.c: 206: }
  4913                           ;I2C2.c: 207: break;
  4914  4text21ã%  0008                     return
  4915  4text21ä                     i1l2765:      
  4916                           ;I2C2.c: 208: case 0x3:
  4917                           
  4918                           
  4919                           ;I2C2.c: 211: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = SSP2BUF;
  4920  4text21ä5  0024                     movlb   4       ; select bank4
  4921  4text21å2  0819                     movf    25,w    ;volatile
  4922  4text21æ  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4923  4text21ç5  0020                     movlb   0        ; select bank0
  4924  4text21è  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4925  4text21é'  3E23                     addlw   35
  4926  4text21ê&  0086                     movwf   6
  4927  4text21ë7  3001                     movlw   1       ; select bank2/3
  4928  4text21ì&  0087                     movwf   7
  4929  4text21í'  0801                     movf    1,w
  4930  4text21î  ÷nvBANK00                 addwf   I2C2@i2c_data_p,w
  4931  4text21ï  €÷cstackCOMMON9                     movwf   ??_I2C2_Interrupt_Master+1
  4932  4text21ð  ÷cstackCOMMON:                      movf    ??_I2C2_Interrupt_Master+1,w
  4933  4text21ñ&  0086                     movwf   6
  4934  4text21ò7  3001                     movlw   1       ; select bank2/3
  4935  4text21ó&  0087                     movwf   7
  4936  4text21ô  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4937  4text21õš  0081                    movwf   1
  4938                           
  4939                           ;I2C2.c: 212: i2c_data_p->buffer_in_write_ind++;
  4940  4text21ö&  3001                     movlw   1
  4941  4text21÷  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  4942  4text21ø  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4943  4text21ù'  3E23                     addlw   35
  4944  4text21ú&  0086                     movwf   6
  4945  4text21û7  3001                     movlw   1       ; select bank2/3
  4946  4text21ü&  0087                     movwf   7
  4947  4text21ý  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  4948  4text21þ¼  0781                    addwf   1,f
  4949                           
  4950                           ;I2C2.c: 213: if (i2c_data_p->buffer_in_write_ind < i2c_data_p->buffer_in_len) {
  4951  4text21ÿ  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  4952  4text21'  3E23                      addlw   35
  4953  4text21&  0086                      movwf   6
  4954  4text217  3001                      movlw   1       ; select bank2/3
  4955  4text21&  0087                      movwf   7
  4956  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4957  4text21'  3E20                      addlw   32
  4958  4text21&  0084                      movwf   4
  4959  4text217  3001                      movlw   1       ; select bank2/3
  4960  4text21&  0085                      movwf   5
  4961  4text21     '  0800                  movf    0,w
  4962  4text21
(  0201                  subwf   1,w
  4963  4text21%  1803                      skipnc
  4964  4text21  (ûÿtext21
™                   goto    i1l2775
  4965                           
  4966                           ;I2C2.c: 215: i2c_data_p->operating_state = 0xA;
  4967  4text21
'  300A                      movlw   10
  4968  4text21  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4969  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4970  4text21'  3E47                      addlw   71
  4971  4text21&  0086                      movwf   6
  4972  4text217  3001                      movlw   1       ; select bank2/3
  4973  4text21&  0087                      movwf   7
  4974  4text21  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4975  4text21  0081                     movwf   1
  4976                           
  4977                           ;I2C2.c: 216: SSP2CON2bits.ACKDT = 0;
  4978  4text215  0024                      movlb   4       ; select bank4
  4979  4text21š  129E                     bcf     30,5    ;volatile
  4980                           
  4981                           ;I2C2.c: 217: SSP2CON2bits.ACKEN = 1;
  4982  4text21‹  161E                     bsf     30,4    ;volatile
  4983                           
  4984                           ;I2C2.c: 218: } else {
  4985  4text21%  0008                      return
  4986  4text21›                     i1l2775:      
  4987                           
  4988                           ;I2C2.c: 220: i2c_data_p->operating_state = 0xB;
  4989  4text21'  300B                      movlw   11
  4990  4text21  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  4991  4text215  0020                      movlb   0        ; select bank0
  4992  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  4993  4text21'  3E47                      addlw   71
  4994  4text21&  0086                      movwf   6
  4995  4text21 7  3001                      movlw   1       ; select bank2/3
  4996  4text21!&  0087                      movwf   7
  4997  4text21"  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  4998  4text21#  0081                     movwf   1
  4999                           
  5000                           ;I2C2.c: 221: SSP2CON2bits.ACKDT = 1;
  5001  4text21$5  0024                      movlb   4       ; select bank4
  5002  4text21%š  169E                     bsf     30,5    ;volatile
  5003                           
  5004                           ;I2C2.c: 222: SSP2CON2bits.ACKEN = 1;
  5005  4text21&º  161E                     bsf     30,4    ;volatile
  5006                           
  5007                           ;I2C2.c: 223: }
  5008                           ;I2C2.c: 224: break;
  5009  4text21'%  0008                      return
  5010  4text21(ö                     i1l2781:      
  5011                           ;I2C2.c: 225: case 0xA:
  5012                           
  5013                           
  5014                           ;I2C2.c: 227: i2c_data_p->operating_state = 0x3;
  5015  4text21(&  3003                      movlw   3
  5016  4text21)  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5017  4text21*5  0020                      movlb   0        ; select bank0
  5018  4text21+  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5019  4text21,'  3E47                      addlw   71
  5020  4text21-&  0086                      movwf   6
  5021  4text21.7  3001                      movlw   1       ; select bank2/3
  5022  4text21/&  0087                      movwf   7
  5023  4text210  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5024  4text211Ž  0081                     movwf   1
  5025                           
  5026                           ;I2C2.c: 228: SSP2CON2bits.RCEN = 1;
  5027  4text2125  0024                      movlb   4       ; select bank4
  5028  4text213‰  159E                     bsf     30,3    ;volatile
  5029                           
  5030                           ;I2C2.c: 229: break;
  5031  4text214%  0008                      return
  5032  4text215ö                     i1l2785:      
  5033                           ;I2C2.c: 230: case 0xB:
  5034                           
  5035                           
  5036                           ;I2C2.c: 232: i2c_data_p->operating_state = 0x1;
  5037  4text2155  0020                      movlb   0        ; select bank0
  5038  4text216  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5039  4text217'  3E47                      addlw   71
  5040  4text218&  0086                      movwf   6
  5041  4text2197  3001                      movlw   1       ; select bank2/3
  5042  4text21:&  0087                      movwf   7
  5043  4text21;%  0181                      clrf    1
  5044  4text21<Ž  0A81                     incf    1,f
  5045                           
  5046                           ;I2C2.c: 233: SSP2CON2bits.PEN = 1;
  5047  4text21=5  0024                      movlb   4       ; select bank4
  5048  4text21>¤  151E                     bsf     30,2    ;volatile
  5049                           
  5050                           ;I2C2.c: 234: i2c_data_p->master_status = 0x23;
  5051  4text21?'  3023                      movlw   35
  5052  4text21@  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5053  4text21A5  0020                      movlb   0        ; select bank0
  5054  4text21B  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5055  4text21C'  3E4A                      addlw   74
  5056  4text21D&  0086                      movwf   6
  5057  4text21E7  3001                      movlw   1       ; select bank2/3
  5058  4text21F&  0087                      movwf   7
  5059  4text21G  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5060  4text21H™  0081                     movwf   1
  5061                           
  5062                           ;I2C2.c: 235: i2c_data_p->return_status = 0x32;
  5063  4text21I'  3032                      movlw   50
  5064  4text21J  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5065  4text21K  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5066  4text21L'  3E48                      addlw   72
  5067  4text21M&  0086                      movwf   6
  5068  4text21N7  3001                      movlw   1       ; select bank2/3
  5069  4text21O&  0087                      movwf   7
  5070  4text21P  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5071  4text21QÑ  0081                     movwf   1
  5072                           
  5073                           ;I2C2.c: 237: }
  5074                           
  5075                           ;I2C2.c: 236: break;
  5076  4text21R%  0008                      return
  5077  4text21S'                     i1l2791:       
  5078  4text21S  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5079  4text21T'  3E47                      addlw   71
  5080  4text21U&  0086                      movwf   6
  5081  4text21V7  3001                      movlw   1       ; select bank2/3
  5082  4text21W&  0087                      movwf   7
  5083  4text21Xý  0801                     movf    1,w
  5084                           
  5085                           ; Switch size 1, requested type "space"
  5086                           ; Number of cases is 6, Range of values is 1 to 11
  5087                           ; switch strategies available:
  5088                           ; Name         Instructions Cycles
  5089                           ; simple_byte           19    10 (average)
  5090                           ; direct_byte           31     9 (fixed)
  5091                           ; jumptable            263     9 (fixed)
  5092                           ;      Chosen strategy is simple_byte
  5093  4text21Y/  3A01                      xorlw   1       ; case 1
  5094  4text21Z%  1903                      skipnz
  5095  4text21[  (ûÿtext21Á
$                    goto    i1l381
  5096  4text21\/  3A02                      xorlw   2       ; case 3
  5097  4text21]%  1903                      skipnz
  5098  4text21^  (ûÿtext21ä
%                    goto    i1l2765
  5099  4text21_/  3A06                      xorlw   6       ; case 5
  5100  4text21`%  1903                      skipnz
  5101  4text21a  (ûÿtext21Ÿ
%                    goto    i1l2749
  5102  4text21b0  3A0D                      xorlw   13      ; case 8
  5103  4text21c%  1903                      skipnz
  5104  4text21d  (ûÿtext21¶
$                    goto    i1l352
  5105  4text21e0  3A02                      xorlw   2       ; case 10
  5106  4text21f%  1903                      skipnz
  5107  4text21g  (ûÿtext21(
%                    goto    i1l2781
  5108  4text21h0  3A01                      xorlw   1       ; case 11
  5109  4text21i%  1903                      skipnz
  5110  4text21j  (ûÿtext215
%                    goto    i1l2785
  5111  4text21k  %(ûøÿÿtext21
text21Á¥                   goto    i1l381
  5112                           
  5113                           ;I2C2.c: 238: } else if (i2c_data_p->master_status == 0x22) {
  5114  4text21l%  0008                      return
  5115  4text21m'                     i1l2793:       
  5116  4text21m  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5117  4text21n'  3E4A                      addlw   74
  5118  4text21o&  0086                      movwf   6
  5119  4text21p7  3001                      movlw   1       ; select bank2/3
  5120  4text21q&  0087                      movwf   7
  5121  4text21r'  0801                      movf    1,w
  5122  4text21s'  3A22                      xorlw   34
  5123  4text21t$  1D03                      skipz
  5124  4text21u%  0008                      return
  5125  4text21v  %(ûøÿÿtext21
text21ž%                    goto    i1l2857
  5126  4text21wý                     i1l2797:      
  5127                           ;I2C2.c: 242: case 0x5:
  5128                           
  5129                           ;I2C2.c: 241: break;
  5130                           
  5131                           ;I2C2.c: 240: case 0x1:
  5132                           
  5133                           ;I2C2.c: 239: switch (i2c_data_p->operating_state) {
  5134                           
  5135                           
  5136                           ;I2C2.c: 244: i2c_dat$a_p->operating_state = 0x7;
  5137  4text21w&  3007                      movlw   7
  5138  4text21x  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5139  4text21y  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5140  4text21z'  3E47                      addlw   71
  5141  4text21{&  0086                      movwf   6
  5142  4text21|7  3001                      movlw   1       ; select bank2/3
  5143  4text21}&  0087                      movwf   7
  5144  4text21~  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5145  4text21¬  0081                     movwf   1
  5146                           
  5147                           ;I2C2.c: 245: SSP2BUF = (i2c_data_p->master_dest_addr << 1) | 0x0;
  5148  4text21€  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5149  4text21'  3E49                     addlw   73
  5150  4text21‚&  0086                     movwf   6
  5151  4text21ƒ7  3001                     movlw   1       ; select bank2/3
  5152  4text21„&  0087                     movwf   7
  5153  4text21…'  3501                     lslf    1,w
  5154  4text21†5  0024                     movlb   4       ; select bank4
  5155  4text21‡‰  0099                    movwf   25      ;volatile
  5156                           
  5157                           ;I2C2.c: 246: break;
  5158  4text21ˆ%  0008                     return
  5159  4text21‰ï                     i1l366:      
  5160                           ;I2C2.c: 247: case 0x7:
  5161                           
  5162                           
  5163                           ;I2C2.c: 249: if (!SSP2CON2bits.ACKSTAT) {
  5164  4text21‰5  0024                     movlb   4       ; select bank4
  5165  4text21Š3  1B1E                     btfsc   30,6    ;volatile
  5166  4text21‹  (ûÿtext21Ÿ
š                   goto    i1l2803
  5167                           
  5168                           ;I2C2.c: 251: SSP2BUF = i2c_data_p->buffer_in[0];
  5169  4text21Œ5  0020                     movlb   0        ; select bank0
  5170  4text21  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5171  4text21Ž&  0086                     movwf   6
  5172  4text217  3001                     movlw   1       ; select bank2/3
  5173  4text21&  0087                     movwf   7
  5174  4text21‘'  0801                     movf    1,w
  5175  4text21’5  0024                     movlb   4       ; select bank4
  5176  4text21“¥  0099                    movwf   25      ;volatile
  5177                           
  5178                           ;I2C2.c: 252: i2c_data_p->operating_state = 0x9;
  5179  4text21”&  3009                     movlw   9
  5180  4text21•  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5181  4text21–5  0020                     movlb   0        ; select bank0
  5182  4text21—  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5183  4text21˜'  3E47                     addlw   71
  5184  4text21™&  0086                     movwf   6
  5185  4text21š7  3001                     movlw   1       ; select bank2/3
  5186  4text21›&  0087                     movwf   7
  5187  4text21œ  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5188  4text21€  0081                    movwf   1
  5189                           
  5190                           ;I2C2.c: 253: } else {
  5191  4text21ž%  0008                     return
  5192  4text21Ÿ›                     i1l2803:     
  5193                           
  5194                           ;I2C2.c: 255: i2c_data_p->operating_state = 0x1;
  5195  4text21Ÿ5  0020                     movlb   0        ; select bank0
  5196  4text21   ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5197  4text21¡'  3E47                     addlw   71
  5198  4text21¢&  0086                     movwf   6
  5199  4text21£7  3001                     movlw   1       ; select bank2/3
  5200  4text21¤&  0087                     movwf   7
  5201  4text21¥%  0181                     clrf    1
  5202  4text21¦Ž  0A81                    incf    1,f
  5203                           
  5204                           ;I2C2.c: 256: SSP2CON2bits.PEN = 1;
  5205  4text21§5  0024                     movlb   4       ; select bank4
  5206  4text21¨¤  151E                    bsf     30,2    ;volatile
  5207                           
  5208                           ;I2C2.c: 257: i2c_data_p->master_status = 0x23;
  5209  4text21©'  3023                     movlw   35
  5210  4text21ª  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5211  4text21«5  0020                     movlb   0        ; select bank0
  5212  4text21¬  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5213  4text21­'  3E4A                     addlw   74
  5214  4text21®&  0086                     movwf   6
  5215  4text21¯7  3001                     movlw   1       ; select bank2/3
  5216  4text21°&  0087                     movwf   7
  5217  4text21±  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5218  4text21²™  0081                    movwf   1
  5219                           
  5220                           ;I2C2.c: 258: i2c_data_p->return_status = 0x31;
  5221  4text21³'  3031                     movlw   49
  5222  4text21´  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5223  4text21µ  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5224  4text21¶'  3E48                     addlw   72
  5225  4text21·&  0086                     movwf   6
  5226  4text21¸7  3001                     movlw   1       ; select bank2/3
  5227  4text21¹&  0087                     movwf   7
  5228  4text21º  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5229  4text21»¯  0081                    movwf   1
  5230                           
  5231                           ;I2C2.c: 259: }
  5232                           ;I2C2.c: 260: break;
  5233  4text21¼%  0008                     return
  5234  4text21½ï                     i1l369:      
  5235                           ;I2C2.c: 261: case 0x9:
  5236                           
  5237                           
  5238                           ;I2C2.c: 262: if (!SSP2CON2bits.ACKSTAT) {
  5239  4text21½5  0024                     movlb   4       ; select bank4
  5240  4text21¾3  1B1E                     btfsc   30,6    ;volatile
  5241  4text21¿  (ûÿtext21Ì
                   goto    i1l2811
  5242                           
  5243                           ;I2C2.c: 263: SSP2CON2bits.RSEN = 1;
  5244  4text21À¥  149E                    bsf     30,1    ;volatile
  5245                           
  5246                           ;I2C2.c: 264: i2c_data_p->operating_state = 0x6;
  5247  4text21Á&  3006                     movlw   6
  5248  4text21Â  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5249  4text21Ã5  0020                     movlb   0        ; select bank0
  5250  4text21Ä  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5251  4text21Å'  3E47                     addlw   71
  5252  4text21Æ&  0086                     movwf   6
  5253  4text21Ç7  3001                     movlw   1       ; select bank2/3
  5254  4text21È&  0087                     movwf   7
  5255  4text21É  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5256  4text21Ê€  0081                    movwf   1
  5257                           
  5258                           ;I2C2.c: 265: } else {
  5259  4text21Ë%  0008                     return
  5260  4text21Ì›                     i1l2811:     
  5261                           
  5262                           ;I2C2.c: 267: i2c_data_p->operating_state = 0x1;
  5263  4text21Ì5  0020                     movlb   0        ; select bank0
  5264  4text21Í  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5265  4text21Î'  3E47                     addlw   71
  5266  4text21Ï&  0086                     movwf   6
  5267  4text21Ð7  3001                     movlw   1       ; select bank2/3
  5268  4text21Ñ&  0087                     movwf   7
  5269  4text21Ò%  0181                     clrf    1
  5270  4text21ÓŽ  0A81                    incf    1,f
  5271                           
  5272                           ;I2C2.c: 268: SSP2CON2bits.PEN = 1;
  5273  4text21Ô5  0024                     movlb   4       ; select bank4
  5274  4text21Õ¤  151E                    bsf     30,2    ;volatile
  5275                           
  5276                           ;I2C2.c: 269: i2c_data_p->master_status = 0x23;
  5277  4text21Ö'  3023                     movlw   35
  5278  4text21×  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5279  4text21Ø5  0020                     movlb   0        ; select bank0
  5280  4text21Ù  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5281  4text21Ú'  3E4A                     addlw   74
  5282  4text21Û&  0086                     movwf   6
  5283  4text21Ü7  3001                     movlw   1       ; select bank2/3
  5284  4text21Ý&  0087                     movwf   7
  5285  4text21Þ  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5286  4text21ß™  0081                    movwf   1
  5287                           
  5288                           ;I2C2.c: 270: i2c_data_p->return_status = 0x31;
  5289  4text21à'  3031                     movlw   49
  5290  4text21á  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5291  4text21â  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5292  4text21ã'  3E48                     addlw   72
  5293  4text21ä&  0086                     movwf   6
  5294  4text21å7  3001                     movlw   1       ; select bank2/3
  5295  4text21æ&  0087                     movwf   7
  5296  4text21ç  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5297  4text21è¯  0081                    movwf   1
  5298                           
  5299                           ;I2C2.c: 271: }
  5300                           ;I2C2.c: 272: break;
  5301  4text21é%  0008                     return
  5302  4text21êö                     i1l2815:     
  5303                           ;I2C2.c: 273: case 0x6:
  5304                           
  5305                           
  5306                           ;I2C2.c: 275: i2c_data_p->operating_state = 0x8;
  5307  4text21ê&  3008                     movlw   8
  5308  4text21ë  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5309  4text21ì  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5310  4text21í'  3E47                     addlw   71
  5311  4text21î&  0086                     movwf   6
  5312  4text21ï7  3001                     movlw   1       ; select bank2/3
  5313  4text21ð&  0087                     movwf   7
  5314  4text21ñ  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5315  4text21òª  0081                    movwf   1
  5316                           
  5317                           ;I2C2.c: 276: uint8_t tmp = (i2c_data_p->master_dest_addr << 1);
  5318  4text21ó  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5319  4text21ô'  3E49                     addlw   73
  5320  4text21õ&  0086                     movwf   6
  5321  4text21ö7  3001                     movlw   1       ; select bank2/3
  5322  4text21÷&  0087                     movwf   7
  5323  4text21ø'  3501                     lslf    1,w
  5324  4text21ù  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5325  4text21ú  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5326  4text21û  €÷cstackCOMMONš                    movwf   I2C2_Interrupt_Master@tmp_923
  5327                           
  5328                           ;I2C2.c: 277: tmp |= 0x01;
  5329  4text21ü  ÷cstackCOMMONœ                     bsf     I2C2_Interrupt_Master@tmp_923,0
  5330                           
  5331                           ;I2C2.c: 278: SSP2BUF = tmp;
  5332  4text21ý  ÷cstackCOMMON=                      movf    I2C2_Interrupt_Master@tmp_923,w
  5333  4text21þ5  0024                     movlb   4       ; select bank4
  5334  4text21ÿ‰  0099                    movwf   25      ;volatile
  5335                           
  5336                           ;I2C2.c: 279: break;
  5337  4text21%  0008                      return
  5338  4text21ï                     i1l373:       
  5339                           ;I2C2.c: 280: case 0x8:
  5340                           
  5341                           
  5342                           ;I2C2.c: 282: if (!SSP2CON2bits.ACKSTAT) {
  5343  4text215  0024                      movlb   4       ; select bank4
  5344  4text213  1B1E                      btfsc   30,6    ;volatile
  5345  4text21  (ûÿtext21
™                   goto    i1l2827
  5346                           
  5347                           ;I2C2.c: 284: i2c_data_p->operating_state = 0x3;
  5348  4text21&  3003                      movlw   3
  5349  4text21  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5350  4text215  0020                      movlb   0        ; select bank0
  5351  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5352  4text21'  3E47                      addlw   71
  5353  4text21     &  0086                  movwf   6
  5354  4text21
7  3001                  movlw   1       ; select bank2/3
  5355  4text21&  0087                      movwf   7
  5356  4text21  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5357  4text21
Ž  0081                     movwf   1
  5358                           
  5359                           ;I2C2.c: 285: SSP2CON2bits.RCEN = 1;
  5360  4text215  0024                      movlb   4       ; select bank4
  5361  4text21‹  159E                     bsf     30,3    ;volatile
  5362                           
  5363                           ;I2C2.c: 286: } else {
  5364  4text21%  0008                      return
  5365  4text21›                     i1l2827:      
  5366                           
  5367                           ;I2C2.c: 288: i2c_data_p->operating_state = 0x1;
  5368  4text215  0020                      movlb   0        ; select bank0
  5369  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5370  4text21'  3E47                      addlw   71
  5371  4text21&  0086                      movwf   6
  5372  4text217  3001                      movlw   1       ; select bank2/3
  5373  4text21&  0087                      movwf   7
  5374  4text21%  0181                      clrf    1
  5375  4text21Ž  0A81                     incf    1,f
  5376                           
  5377                           ;I2C2.c: 289: SSP2CON2bits.PEN = 1;
  5378  4text215  0024                      movlb   4       ; select bank4
  5379  4text21¤  151E                     bsf     30,2    ;volatile
  5380                           
  5381                           ;I2C2.c: 290: i2c_data_p->master_status = 0x23;
  5382  4text21'  3023                      movlw   35
  5383  4text21  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5384  4text215  0020                      movlb   0        ; select bank0
  5385  4text21  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5386  4text21'  3E4A                      addlw   74
  5387  4text21 &  0086                      movwf   6
  5388  4text21!7  3001                      movlw   1       ; select bank2/3
  5389  4text21"&  0087                      movwf   7
  5390  4text21#  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5391  4text21$™  0081                     movwf   1
  5392                           
  5393                           ;I2C2.c: 291: i2c_data_p->return_status = 0x33;
  5394  4text21%'  3033                      movlw   51
  5395  4text21&  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5396  4text21'  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5397  4text21('  3E48                      addlw   72
  5398  4text21)&  0086                      movwf   6
  5399  4text21*7  3001                      movlw   1       ; select bank2/3
  5400  4text21+&  0087                      movwf   7
  5401  4text21,  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5402  4text21-¯  0081                     movwf   1
  5403                           
  5404                           ;I2C2.c: 292: }
  5405                           ;I2C2.c: 293: break;
  5406  4text21.%  0008                      return
  5407  4text21/                     i1l2831:       
  5408                           ;I2C2.c: 294: case 0x3:
  5409                           
  5410                           
  5411                           ;I2C2.c: 297: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = SSP2BUF;
  5412  4text21/5  0024                      movlb   4       ; select bank4
  5413  4text2102  0819                      movf    25,w    ;volatile
  5414  4text211  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5415  4text2125  0020                      movlb   0        ; select bank0
  5416  4text213  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5417  4text214'  3E23                      addlw   35
  5418  4text215&  0086                      movwf   6
  5419  4text2167  3001                      movlw   1       ; select bank2/3
  5420  4text217&  0087                      movwf   7
  5421  4text218'  0801                      movf    1,w
  5422  4text219  ÷nvBANK00                  addwf   I2C2@i2c_data_p,w
  5423  4text21:  €÷cstackCOMMON9                      movwf   ??_I2C2_Interrupt_Master+1
  5424  4text21;  ÷cstackCOMMON:                       movf    ??_I2C2_Interrupt_Master+1,w
  5425  4text21<&  0086                      movwf   6
  5426  4text21=7  3001                      movlw   1       ; select bank2/3
  5427  4text21>&  0087                      movwf   7
  5428  4text21?  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5429  4text21@š  0081                     movwf   1
  5430                           
  5431                           ;I2C2.c: 298: i2c_data_p->buffer_in_write_ind++;
  5432  4text21A&  3001                      movlw   1
  5433  4text21B  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5434  4text21C  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5435  4text21D'  3E23                      addlw   35
  5436  4text21E&  0086                      movwf   6
  5437  4text21F7  3001                      movlw   1       ; select bank2/3
  5438  4text21G&  0087                      movwf   7
  5439  4text21H  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5440  4text21I¼  0781                     addwf   1,f
  5441                           
  5442                           ;I2C2.c: 299: if (i2c_data_p->buffer_in_write_ind < i2c_data_p->buffer_in_len) {
  5443  4text21J  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5444  4text21K'  3E23                      addlw   35
  5445  4text21L&  0086                      movwf   6
  5446  4text21M7  3001                      movlw   1       ; select bank2/3
  5447  4text21N&  0087                      movwf   7
  5448  4text21O  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5449  4text21P'  3E20                      addlw   32
  5450  4text21Q&  0084                      movwf   4
  5451  4text21R7  3001                      movlw   1       ; select bank2/3
  5452  4text21S&  0085                      movwf   5
  5453  4text21T'  0800                      movf    0,w
  5454  4text21U(  0201                      subwf   1,w
  5455  4text21V%  1803                      skipnc
  5456  4text21W  (ûÿtext21e
™                   goto    i1l2841
  5457                           
  5458                           ;I2C2.c: 301: i2c_data_p->operating_state = 0xA;
  5459  4text21X'  300A                      movlw   10
  5460  4text21Y  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5461  4text21Z  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5462  4text21['  3E47                      addlw   71
  5463  4text21\&  0086                      movwf   6
  5464  4text21]7  3001                      movlw   1       ; select bank2/3
  5465  4text21^&  0087                      movwf   7
  5466  4text21_  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5467  4text21`  0081                     movwf   1
  5468                           
  5469                           ;I2C2.c: 302: SSP2CON2bits.ACKDT = 0;
  5470  4text21a5  0024                      movlb   4       ; select bank4
  5471  4text21bš  129E                     bcf     30,5    ;volatile
  5472                           
  5473                           ;I2C2.c: 303: SSP2CON2bits.ACKEN = 1;
  5474  4text21c‹  161E                     bsf     30,4    ;volatile
  5475                           
  5476                           ;I2C2.c: 304: } else {
  5477  4text21d%  0008                      return
  5478  4text21e›                     i1l2841:      
  5479                           
  5480                           ;I2C2.c: 306: i2c_data_p->operating_state = 0xB;
  5481  4text21e'  300B                      movlw   11
  5482  4text21f  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5483  4text21g5  0020                      movlb   0        ; select bank0
  5484  4text21h  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5485  4text21i'  3E47                      addlw   71
  5486  4text21j&  0086                      movwf   6
  5487  4text21k7  3001                      movlw   1       ; select bank2/3
  5488  4text21l&  0087                      movwf   7
  5489  4text21m  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5490  4text21n  0081                     movwf   1
  5491                           
  5492                           ;I2C2.c: 307: SSP2CON2bits.ACKDT = 1;
  5493  4text21o5  0024                      movlb   4       ; select bank4
  5494  4text21pš  169E                     bsf     30,5    ;volatile
  5495                           
  5496                           ;I2C2.c: 308: SSP2CON2bits.ACKEN = 1;
  5497  4text21qº  161E                     bsf     30,4    ;volatile
  5498                           
  5499                           ;I2C2.c: 309: }
  5500                           ;I2C2.c: 310: break;
  5501  4text21r%  0008                      return
  5502  4text21sö                     i1l2847:      
  5503                           ;I2C2.c: 311: case 0xA:
  5504                           
  5505                           
  5506                           ;I2C2.c: 313: i2c_data_p->operating_state = 0x3;
  5507  4text21s&  3003                      movlw   3
  5508  4text21t  €÷cstackCOMMON7                    movwf   ??_I2C2_Interrupt_Master
  5509  4text21u5  0020                      movlb   0        ; select bank0
  5510  4text21v  ÷nvBANK0/                  movf    I2C2@i2c_data_p,w
  5511  4text21w'  3E47                      addlw   71
  5512  4text21x&  0086                      movwf   6
  5513  4text21y7  3001                      movlw   1       ; select bank2/3
  5514  4text21z&  0087                      movwf   7
  5515  4text21{  ÷cstackCOMMON8                     movf    ??_I2C2_Interrupt_Master,w
  5516  4text21|Ž  0081                     movwf   1
  5517                           
  5518                           ;I2C2.c: 314: SSP2CON2bits.RCEN = 1;
  5519  4text21}5  0024                      movlb   4       ; select bank4
  5520  4text21~‰  159E                     bsf     30,3    ;volatile
  5521                           
  5522                           ;I2C2.c: 315: break;
  5523  4text21%  0008                      return
  5524  4text21€ö                     i1l2851:     
  5525                           ;I2C2.c: 316: case 0xB:
  5526                           
  5527                           
  5528                           ;I2C2.c: 318: i2c_data_p->operating_state = 0x1;
  5529  4text21€5  0020                     movlb   0        ; select bank0
  5530  4text21  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5531  4text21‚'  3E47                     addlw   71
  5532  4text21ƒ&  0086                     movwf   6
  5533  4text21„7  3001                     movlw   1       ; select bank2/3
  5534  4text21…&  0087                     movwf   7
  5535  4text21†%  0181                     clrf    1
  5536  4text21‡Ž  0A81                    incf    1,f
  5537                           
  5538                           ;I2C2.c: 319: SSP2CON2bits.PEN = 1;
  5539  4text21ˆ5  0024                     movlb   4       ; select bank4
  5540  4text21‰¤  151E                    bsf     30,2    ;volatile
  5541                           
  5542                           ;I2C2.c: 320: i2c_data_p->master_status = 0x23;
  5543  4text21Š'  3023                     movlw   35
  5544  4text21‹  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5545  4text21Œ5  0020                     movlb   0        ; select bank0
  5546  4text21  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5547  4text21Ž'  3E4A                     addlw   74
  5548  4text21&  0086                     movwf   6
  5549  4text217  3001                     movlw   1       ; select bank2/3
  5550  4text21‘&  0087                     movwf   7
  5551  4text21’  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5552  4text21“™  0081                    movwf   1
  5553                           
  5554                           ;I2C2.c: 321: i2c_data_p->return_status = 0x32;
  5555  4text21”'  3032                     movlw   50
  5556  4text21•  €÷cstackCOMMON7                   movwf   ??_I2C2_Interrupt_Master
  5557  4text21–  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5558  4text21—'  3E48                     addlw   72
  5559  4text21˜&  0086                     movwf   6
  5560  4text21™7  3001                     movlw   1       ; select bank2/3
  5561  4text21š&  0087                     movwf   7
  5562  4text21›  ÷cstackCOMMON8                    movf    ??_I2C2_Interrupt_Master,w
  5563  4text21τ  0081                    movwf   1
  5564                           
  5565                           ;I2C2.c: 323: }
  5566                           
  5567                           ;I2C2.c: 322: break;
  5568  4text21%  0008                     return
  5569  4text21ž'                     i1l2857:      
  5570  4text21ž  ÷nvBANK0/                 movf    I2C2@i2c_data_p,w
  5571  4text21Ÿ'  3E47                     addlw   71
  5572  4text21 &  0086                     movwf   6
  5573  4text21¡7  3001                     movlw   1       ; select bank2/3
  5574  4text21¢&  0087                     movwf   7
  5575  4text21£ý  0801                    movf    1,w
  5576                           
  5577                           ; Switch size 1, requested type "space"
  5578                           ; Number of cases is 9, Range of values is 1 to 11
  5579                           ; switch strategies available:
  5580                           ; Name         Instructions Cycles
  5581                           ; simple_byte           28    15 (average)
  5582                           ; direct_byte           31     9 (fixed)
  5583                           ; jumptable            263     9 (fixed)
  5584                           ;      Chosen strategy is simple_byte
  5585  4text21¤/  3A01                     xorlw   1       ; case 1
  5586  4text21¥%  1903                     skipnz
  5587  4text21¦  (ûÿtext21Á
$                    goto    i1l381
  5588  4text21§/  3A02                     xorlw   2       ; case 3
  5589  4text21¨%  1903                     skipnz
  5590  4text21©  (ûÿtext21/
%                    goto    i1l2831
  5591  4text21ª/  3A06                     xorlw   6       ; case 5
  5592  4text21«%  1903                     skipnz
  5593  4text21¬  (ûÿtext21w
%                    goto    i1l2797
  5594  4text21­/  3A03                     xorlw   3       ; case 6
  5595  4text21®%  1903                     skipnz
  5596  4text21¯  (ûÿtext21ê
%                    goto    i1l2815
  5597  4text21°/  3A01                     xorlw   1       ; case 7
  5598  4text21±%  1903                     skipnz
  5599  4text21²  (ûÿtext21‰
$                    goto    i1l366
  5600  4text21³0  3A0F                     xorlw   15      ; case 8
  5601  4text21´%  1903                     skipnz
  5602  4text21µ  (ûÿtext21
$                    goto    i1l373
  5603  4text21¶/  3A01                     xorlw   1       ; case 9
  5604  4text21·%  1903                     skipnz
  5605  4text21¸  (ûÿtext21½
$                    goto    i1l369
  5606  4text21¹0  3A03                     xorlw   3       ; case 10
  5607  4text21º%  1903                     skipnz
  5608  4text21»  (ûÿtext21s
%                    goto    i1l2847
  5609  4text21¼0  3A01                     xorlw   1       ; case 11
  5610  4text21½%  1903                     skipnz
  5611  4text21¾  (ûÿtext21€
%                    goto    i1l2851
  5612  4text21¿  %(ûøÿÿtext21
text21Á$                    goto    i1l381
  5613  4text21À%  0008                     return
  5614  4text21Á&                     i1l381:       
  5615  4text21Á%  0008                     return
  5616  4text21                     __end_of_I2C2_Interrupt_Master:      
  5617                           
  5618                                  psect   text22
  5619  4text22ý                     __ptext22:  
  5620 ;; *************** function _I2C1_Interrupt_Handler *****************
  5621 ;; Defined at:
  5622 ;;               line 138 in file "I2C1.c"
  5623 ;; Parameters:    Size  Location     Type
  5624 ;;               None
  5625 ;; Auto vars:     Size  Location     Type
  5626 ;;               None
  5627 ;; Return value:  Size  Location     Type
  5628 ;;               None               void
  5629 ;; Registers used:
  5630 ;;               wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  5631 ;; Tracked obýjects:
  5632 ;;               On entry : 0/0
  5633 ;;               On exit  : 0/0
  5634 ;;               Unchanged: 0/0
  5635 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  5636 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  5637 ;;      Locals:         0       0       0       0       0       0       0       0       0       0       0       0       
      ý+0       0
  5638 ;;      Temps:          0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  5639 ;;      Totals:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  5640 ;;Total ram usage:        0 bytes
  5641 ;; Hardware stack levels used:    1
  5642 ;; Hardware stack levels required when called:    2
  5643 ;; This function calls:
  5644 ;;               _I2C1_Interrupt_Master
:  5645 ;;            _I2C1_Interrupt_Slave
  5646 ;; This function is called by:
  5647 ;;               _InterruptHandler
  5648 ;; This function uses a non-reentrant model
  5649 ;;
  5650                           
  5651                           
  5652                           ;psect for function _I2C1_Interrupt_Handler
  5653  4text22y                     _I2C1_Interrupt_Handler:     
  5654                           
  5655                           ;I2C1.c: 140: if (i2c_data_p->operating_mode == 0x11) {
  5656                           
  5657                           ;incstack = 0
  5658                           ; Regs used in _I2C1_Interrupt_Handler: [wreg-fsr1h+status,2+status,0+pclath+cstack]
  5659  4text22  ÷nvCOMMON+                       movf    _i2c_data_p,w
  5660  4text22'  3E46                      addlw   70
  5661  4text22&  0086                      movwf   6
  5662  4text22%  0187                      clrf    7
  5663  4text22'  0801                      movf    1,w
  5664  4text22'  3A11                      xorlw   17
  5665  4text22$  1D03                      skipz
  5666  4text22  (ûÿtext22
                   goto    i1l3163
  5667                           
  5668                           ;I2C1.c: 141: I2C1_Interrupt_Master();
  5669  4text22  €1÷text25    
   ûÿtext25
±           fcall   _I2C1_Interrupt_Master
  5670                           
  5671                           ;I2C1.c: 142: } else if (i2c_data_p->operating_mode == 0x10) {
  5672  4text22
%  0008                  return
  5673  4text22'                     i1l3163:       
  5674  4text22  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5675  4text22'  3E46                      addlw   70
  5676  4text22
&  0086                      movwf   6
  5677  4text22%  0187                      clrf    7
  5678  4text22'  0801                      movf    1,w
  5679  4text22'  3A10                      xorlw   16
  5680  4text22$  1D03                      skipz
  5681  4text22Ž  0008                     return
  5682                           
  5683                           ;I2C1.c: 143: I2C1_Interrupt_Slave();
  5684  4text22  €1÷text23    
   ûÿtext23
.            fcall   _I2C1_Interrupt_Slave
  5685  4text22%  0008                      return
  5686  4text22                     __end_of_I2C1_Interrupt_Handler:      
  5687                           
  5688                                  psect   text23
  5689  4text23ý                     __ptext23:  
  5690 ;; *************** function _I2C1_Interrupt_Slave *****************
  5691 ;; Defined at:
  5692 ;;               line 327 in file "I2C1.c"
  5693 ;; Parameters:    Size  Location     Type
  5694 ;;               None
  5695 ;; Auto vars:     Size  Location     Type
  5696 ;;  data_read_fr    1    7[COMMON] unsigned char 
  5697 ;;  received_dat    1    6[COMMON] unsigned char 
  5698 ;;  data_written    1    5[COMMON] unsigned char 
  5699 ;;  overrun_erro    1    4[COMMON] unsigned char 
ý  5700 ;; Return value:  Size  Location     Type
  5701 ;;               None               void
  5702 ;; Registers used:
  5703 ;;               wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  5704 ;; Tracked objects:
  5705 ;;               On entry : 0/0
  5706 ;;               On exit  : 0/0
  5707 ;;               Unchanged: 0/0
  5708 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  5709 ;;      Params:         0       0       0       0       0     ý  0       0       0       0       0       0       0       
      +0       0
  5710 ;;      Locals:         4       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  5711 ;;      Temps:          2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  5712 ;;      Totals:         6       0       0       0       0       0       0       0       0       0       0       0       
      +0       î0
  5713 ;;Total ram usage:        6 bytes
  5714 ;; Hardware stack levels used:    1
  5715 ;; Hardware stack levels required when called:    1
  5716 ;; This function calls:
  5717 ;;               _I2C1_Process_Receive
  5718 ;; This function is called by:
  5719 ;;               _I2C1_Interrupt_Handler
  5720 ;; This function uses a non-reentrant model
  5721 ;;
  5722                           
  5723                           
  5724                           ;psect for function _I2C1_Interrupt_Slave
  5725  4text23´                     _I2C1_Interrupt_Slave:      
  5726                           
  5727                           ;I2C1.c: 328: uint8_t received_data;
  5728                           ;I2C1.c: 329: uint8_t data_read_from_buffer = 0;
  5729                           
  5730                           ;incstack = 0
  5731                           ; Regs used in _I2C1_Interrupt_Slave: [wreg-fsr1h+status,2+status,0+pclath+cstack]
  5732  4text23  €÷cstackCOMMON½                   clrf    I2C1_Interrupt_Slave@data_read_from_buffer
  5733                           
  5734                           ;I2C1.c: 330: uint8_t data_written_to_buffer = 0;
  5735  4text23  €÷cstackCOMMONµ                     clrf    I2C1_Interrupt_Slave@data_written_to_buffer
  5736                           
  5737                           ;I2C1.c: 331: uint8_t overrun_error = 0;
  5738  4text23  €÷cstackCOMMON°                     clrf    I2C1_Interrupt_Slave@overrun_error
  5739                           
  5740                           ;I2C1.c: 334: if (SSP1CON1bits.SSPOV == 1) {
  5741  4text235  0024                      movlb   4       ; select bank4
  5742  4text233  1F15                      btfss   21,6    ;volatile
  5743  4text23  (ûÿtext23
Ž                   goto    i1l2937
  5744                           
  5745                           ;I2C1.c: 335: SSP1CON1bits.SSPOV = 0;
  5746  4text23¥  1315                     bcf     21,6    ;volatile
  5747                           
  5748                           ;I2C1.c: 339: i2c_data_p->operating_state = 0x1;
  5749  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5750  4text23'  3E47                      addlw   71
  5751  4text23     &  0086                  movwf   6
  5752  4text23
%  0187                  clrf    7
  5753  4text23%  0181                      clrf    1
  5754  4text23‹  0A81                     incf    1,f
  5755                           
  5756                           ;I2C1.c: 340: overrun_error = 1;
  5757  4text23
  €÷cstackCOMMON@                      clrf    I2C1_Interrupt_Slave@overrun_error
  5758  4text23  €
÷cstackCOMMONµ                 incf    I2C1_Interrupt_Slave@overrun_error,f
  5759                           
  5760                           ;I2C1.c: 341: i2c_data_p->return_status = 0x36;
  5761  4text23'  3036                      movlw   54
  5762  4text23  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  5763  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5764  4text23'  3E48                      addlw   72
  5765  4text23&  0086                      movwf   6
  5766  4text23%  0187                      clrf    7
  5767  4text23  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  5768  4text23&  0081                      movwf   1
  5769  4text23Å                     i1l2937:      
  5770                           
  5771                           ;I2C1.c: 342: }
  5772                           ;I2C1.c: 345: if (SSP1STATbits.BF == 1) {
  5773  4text233  1C14                      btfss   20,0    ;volatile
  5774  4text23  (ûÿtext23
                   goto    i1l2943
  5775                           
  5776                           ;I2C1.c: 346: received_data = SSP1BUF;
  5777  4text232  0811                      movf    17,w    ;volatile
  5778  4text23  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  5779  4text23  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  5780  4text23  €÷cstackCOMMON­                     movwf   I2C1_Interrupt_Slave@received_data
  5781                           
  5782                           ;I2C1.c: 348: data_read_from_buffer = 1;
  5783  4text23  €÷cstackCOMMONH                      clrf    I2C1_Interrupt_Slave@data_read_from_buffer
  5784  4text23  €
÷cstackCOMMONJ                  incf    I2C1_Interrupt_Slave@data_read_from_buffer,f
  5785  4text23¿                     i1l2943:      
  5786                           
  5787                           ;I2C1.c: 349: }
  5788                           ;I2C1.c: 351: if (!overrun_error) {
  5789  4text23  €÷cstackCOMMONB                      movf    I2C1_Interrupt_Slave@overrun_error,f
  5790  4text23 (  1903                      btfsc   3,2
  5791  4text23!  (ûÿtext23J
%                    goto    i1l3035
  5792  4text23"  %(ûøÿÿtext23
text23\%                     goto    i1l3037
  5793  4text23#–                     i1l181:       
  5794                           ;I2C1.c: 353: case 0x1:
  5795                           
  5796                           ;I2C1.c: 352: switch (i2c_data_p->operating_state) {
  5797                           
  5798                           
  5799                           ;I2C1.c: 354: {
  5800                           ;I2C1.c: 356: if (SSP1STATbits.S == 1) {
  5801  4text23#3  1D94                      btfss   20,3    ;volatile
  5802  4text23$  (ûÿtext23\
™                   goto    i1l3037
  5803                           
  5804                           ;I2C1.c: 357: i2c_data_p->buffer_in_len_tmp = 0;
  5805  4text23%  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5806  4text23&'  3E21                      addlw   33
  5807  4text23'&  0086                      movwf   6
  5808  4text23(%  0187                      clrf    7
  5809  4text23)™  0181                     clrf    1
  5810                           
  5811                           ;I2C1.c: 358: i2c_data_p->operating_state = 0x2;
  5812  4text23*&  3002                      movlw   2
  5813  4text23+  %(ûøÿÿtext23
text236                      goto    L9
  5814  4text23,Ø                     i1l184:       
  5815                           ;I2C1.c: 361: }
  5816                           ;I2C1.c: 362: case 0x2:
  5817                           
  5818                           ;I2C1.c: 359: }
  5819                           ;I2C1.c: 360: break;
  5820                           
  5821                           
  5822                           ;I2C1.c: 363: {
  5823                           ;I2C1.c: 365: if (SSP1STATbits.P == 1) {
  5824  4text23,3  1A14                      btfsc   20,4    ;volatile
  5825  4text23-  (ûÿtext23â
                    goto    i1l3007
  5826                           
  5827                           ;I2C1.c: 368: } else if (data_read_from_buffer) {
  5828                           
  5829                           ;I2C1.c: 367: i2c_data_p->operating_state = 0x1;
  5830  4text23.  ÷cstackCOMMONJ                       movf    I2C1_Interrupt_Slave@data_read_from_buffer,w
  5831  4text23/(  1903                      btfsc   3,2
  5832  4text230  (ûÿtext23\
”                   goto    i1l3037
  5833                           
  5834                           ;I2C1.c: 369: if (SSP1STATbits.D_nA == 0) {
  5835  4text2313  1A94                      btfsc   20,5    ;volatile
  5836  4text232  (ûÿtext23;
”                   goto    i1l3031
  5837                           
  5838                           ;I2C1.c: 371: if (SSP1STATbits.R_nW == 0) {
  5839  4text2333  1914                      btfsc   20,2    ;volatile
  5840  4text234  (ûÿtext232
™                   goto    i1l3027
  5841                           
  5842                           ;I2C1.c: 373: i2c_data_p->operating_state = 0x3;
  5843  4text235&  3003                      movlw   3
  5844  4text236"                     L9:    
  5845  4text236  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  5846  4text237  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5847  4text238'  3E47                      addlw   71
  5848  4text239  %(ûøÿÿtext23
text23E!                     goto    L13
  5849  4text23:ý                     i1l2965:      
  5850                           ;I2C1.c: 388: case 0x4:
  5851                           
  5852                           ;I2C1.c: 386: }
  5853                           ;I2C1.c: 387: send:
  5854                           
  5855                           ;I2C1.c: 383: }
  5856                           ;I2C1.c: 384: }
  5857                           ;I2C1.c: 385: break;
  5858                           
  5859                           ;I2C1.c: 382: i2c_data_p->returný_status = 0x37;
  5860                           
  5861                           ;I2C1.c: 381: i2c_data_p->operating_state = 0x1;
  5862                           
  5863                           ;I2C1.c: 379: }
  5864                           ;I2C1.c: 380: } else {
  5865                           
  5866                           ;I2C1.c: 378: goto send;
  5867                           
  5868                           ;I2C1.c: 376: i2c_data_p->operating_state = 0x4;
  5869                           
  5870                           ;I2C1.c: 374: } else {
  5871                           
  5872                           
  5873                           ;I2C1.c: 389: {
  5874                           ;I2C1.c: 390: if (!i2c_data_p->slave_sending_data) {
  5875  4text23:  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5876  4text23;'  3E4C                      addlw   76
  5877  4text23<&  0086                      movwf   6
  5878  4text23=%  0187                      clrf    7
  5879  4text23>'  0881                      movf    1,f
  5880  4text23?$  1D03                      skipz
  5881  4text23@  (ûÿtext23`
²                   goto    i1l2977
  5882                           
  5883                           ;I2C1.c: 392: if (I2C1_Process_Receive(i2c_data_p->slave_in_last_byte)) {
  5884  4text23A  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5885  4text23B'  3E4B                      addlw   75
  5886  4text23C&  0086                      movwf   6
  5887  4text23D%  0187                      clrf    7
  5888  4text23E'  0801                      movf    1,w
  5889  4text23F  €1÷text24    
   ûÿtext24
  €1÷text23    
(    fcall   _I2C1_Process_Receive
  5890  4text23I&  3A00                      xorlw   0
  5891  4text23J%  1903                      skipnz
  5892  4text23K  (ûÿtext23…
›                   goto    i1l2983
  5893                           
  5894                           ;I2C1.c: 394: SSP1BUF = i2c_data_p->buffer_out[0];
  5895  4text23L  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5896  4text23M'  3E24                      addlw   36
  5897  4text23N&  0086                      movwf   6
  5898  4text23O%  0187                      clrf    7
  5899  4text23P'  0801                      movf    1,w
  5900  4text23Q5  0024                      movlb   4       ; select bank4
  5901  4text23R¢  0091                     movwf   17      ;volatile
  5902                           
  5903                           ;I2C1.c: 395: i2c_data_p->buffer_out_ind = 1;
  5904  4text23S  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5905  4text23T'  3E45                      addlw   69
  5906  4text23U&  0086                      movwf   6
  5907  4text23V%  0187                      clrf    7
  5908  4text23W%  0181                      clrf    1
  5909  4text23Xœ  0A81                     incf    1,f
  5910                           
  5911                           ;I2C1.c: 396: i2c_data_p->slave_sending_data = 1;
  5912  4text23Y  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5913  4text23Z'  3E4C                      addlw   76
  5914  4text23[&  0086                      movwf   6
  5915  4text23\%  0187                      clrf    7
  5916  4text23]%  0181                      clrf    1
  5917  4text23^'  0A81                      incf    1,f
  5918  4text23_  %(ûøÿÿtext23
text23‚%                    goto    i1l2981
  5919  4text23`ý                     i1l2977:      
  5920                           ;I2C1.c: 402: }
  5921                           ;I2C1.c: 403: } else {
  5922                           
  5923                           ;I2C1.c: 401: i2c_data_p->operating_state = 0x1;
  5924                           
  5925                           ;I2C1.c: 400: i2c_data_p->slave_sending_data = 0;
  5926                           
  5927                           ;I2C1.c: 398: } else {
  5928                           
  5929          õ                 ;I2C1.c: 397: data_written_to_buffer = 1;
  5930                           
  5931                           
  5932                           ;I2C1.c: 405: if (i2c_data_p->buffer_out_ind < i2c_data_p->buffer_out_len) {
  5933  4text23`  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5934  4text23a'  3E45                      addlw   69
  5935  4text23b&  0086                      movwf   6
  5936  4text23c%  0187                      clrf    7
  5937  4text23d  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5938  4text23e'  3E44                      addlw   68
  5939  4text23f&  0084                      movwf   4
  5940  4text23g%  0185                      clrf    5
  5941  4text23h'  0800                      movf    0,w
  5942  4text23i(  0201                      subwf   1,w
  5943  4text23j%  1803                      skipnc
  5944  4text23k  (ûÿtext23…
´                   goto    i1l2983
  5945                           
  5946                           ;I2C1.c: 406: SSP1BUF = i2c_data_p->buffer_out[i2c_data_p->buffer_out_ind];
  5947  4text23l  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5948  4text23m'  3E45                      addlw   69
  5949  4text23n&  0086                      movwf   6
  5950  4text23o%  0187                      clrf    7
  5951  4text23p'  0801                      movf    1,w
  5952  4text23q'  3E24                      addlw   36
  5953  4text23r  ÷nvCOMMON,                 addwf   _i2c_data_p,w
  5954  4text23s  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  5955  4text23t  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  5956  4text23u&  0086                      movwf   6
  5957  4text23v%  0187                      clrf    7
  5958  4text23w'  0801                      movf    1,w
  5959  4text23x5  0024                      movlb   4       ; select bank4
  5960  4text23y   0091                     movwf   17      ;volatile
  5961                           
  5962                           ;I2C1.c: 407: i2c_data_p->buffer_out_ind++;
  5963  4text23z&  3001                      movlw   1
  5964  4text23{  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  5965  4text23|  ÷nvCOMMON+                 movf    _i2c_data_p,w
  5966  4text23}'  3E45                      addlw   69
  5967  4text23~&  0086                      movwf   6
  5968  4text23%  0187                      clrf    7
  5969  4text23€  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  5970  4text23(  0781                     addwf   1,f
  5971  4text23‚”                     i1l2981:     
  5972                           
  5973                           ;I2C1.c: 408: data_written_to_buffer = 1;
  5974  4text23‚  €÷cstackCOMMONI                     clrf    I2C1_Interrupt_Slave@data_written_to_buffer
  5975  4text23ƒ  €
÷cstackCOMMON¥                 incf    I2C1_Interrupt_Slave@data_written_to_buffer,f
  5976                           
  5977                           ;I2C1.c: 409: } else {
  5978  4text23„  %(ûøÿÿtext23
text23\%                     goto    i1l3037
  5979  4text23…œ                     i1l2983:     
  5980                           
  5981                           ;I2C1.c: 411: i2c_data_p->slave_sending_data = 0;
  5982  4text23…  ÷nvCOMMON+                movf    _i2c_data_p,w
  5983  4text23†'  3E4C                     addlw   76
  5984  4text23‡&  0086                     movwf   6
  5985  4text23ˆ%  0187                     clrf    7
  5986  4text23‰%  0181                     clrf    1
  5987  4text23Š  %(ûøÿÿtext23
text23â%                    goto    i1l3007
  5988  4text23‹ý                     i1l200:      
  5989                           ;I2C1.c: 416: }
  5990                           ;I2C1.c: 417: case 0x3:
  5991                           
  5992                           ;I2C1.c: 413: }
  5993                           ;I2C1.c: 414: }
  5994                           ;I2C1.c: 415: break;
  5995                           
  5996                           ;I2C1.c: 412: i2c_data_p->operating_state = 0x1;
  5997                           
  5998                           
  5€999                           ;I2C1.c: 418: {
  6000                           ;I2C1.c: 420: if (SSP1STATbits.P == 1) {
  6001  4text23‹3  1E14                     btfss   20,4    ;volatile
  6002  4text23Œ  (ûÿtext23é
“                   goto    i1l3009
  6003                           
  6004                           ;I2C1.c: 422: if (data_read_from_buffer) {
  6005  4text23  ÷cstackCOMMONJ                      movf    I2C1_Interrupt_Slave@data_read_from_buffer,w
  6006  4text23Ž(  1903                     btfsc   3,2
  6007  4text23  (ûÿtext23Ö
”                   goto    i1l3005
  6008                           
  6009                           ;I2C1.c: 423: if (SSP1STATbits.D_nA == 1) {
  6010  4text233  1E94                     btfss   20,5    ;volatile
  6011  4text23‘  (ûÿtext23È
¾                   goto    i1l3003
  6012                           
  6013                           ;I2C1.c: 426: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = received_data;
  6014  4text23’  ÷cstackCOMMONB                      movf    I2C1_Interrupt_Slave@received_data,w
  6015  4text23“  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6016  4text23”  ÷nvCOMMON+                movf    _i2c_data_p,w
  6017  4text23•'  3E23                     addlw   35
  6018  4text23–&  0086                     movwf   6
  6019  4text23—%  0187                     clrf    7
  6020  4text23˜'  0801                     movf    1,w
  6021  4text23™  ÷nvCOMMON,                addwf   _i2c_data_p,w
  6022  4text23š  €÷cstackCOMMON8                     movwf   ??_I2C1_Interrupt_Slave+1
  6023  4text23›  ÷cstackCOMMON9                      movf    ??_I2C1_Interrupt_Slave+1,w
  6024  4text23œ&  0086                     movwf   6
  6025  4text23%  0187                     clrf    7
  6026  4text23ž  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6027  4text23Ÿ¦  0081                    movwf   1
  6028                           
  6029                           ;I2C1.c: 427: if (i2c_data_p->buffer_in_write_ind == 32-1) {
  6030  4text23   ÷nvCOMMON+                movf    _i2c_data_p,w
  6031  4text23¡'  3E23                     addlw   35
  6032  4text23¢&  0086                     movwf   6
  6033  4text23£%  0187                     clrf    7
  6034  4text23¤'  0801                     movf    1,w
  6035  4text23¥'  3A1F                     xorlw   31
  6036  4text23¦$  1D03                     skipz
  6037  4text23§  (ûÿtext23®
›                   goto    i1l2997
  6038                           
  6039                           ;I2C1.c: 428: i2c_data_p->buffer_in_write_ind = 0;
  6040  4text23¨  ÷nvCOMMON+                movf    _i2c_data_p,w
  6041  4text23©'  3E23                     addlw   35
  6042  4text23ª&  0086                     movwf   6
  6043  4text23«%  0187                     clrf    7
  6044  4text23¬  0181                     clrf    1
  6045                           
  6046                           ;I2C1.c: 429: } else {
  6047  4text23­  %(ûøÿÿtext23
text23¶$                    goto    i1l205
  6048  4text23®›                     i1l2997:     
  6049                           
  6050                           ;I2C1.c: 430: i2c_data_p->buffer_in_write_ind++;
  6051  4text23®&  3001                     movlw   1
  6052  4text23¯  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6053  4text23°  ÷nvCOMMON+                movf    _i2c_data_p,w
  6054  4text23±'  3E23                     addlw   35
  6055  4text23²&  0086                     movwf   6
  6056  4text23³%  0187                     clrf    7
  6057  4text23´  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6058  4text23µ(  0781                     addwf   1,f
  6059  4text23¶É                     i1l205:      
  6060                           
  6061                           ;I2C1.c: 431: }
  6062                           ;I2C1.c: 432: i2c_data_p->buffer_in_len_tmp++;
  6063  4text23¶&  3001                     movlw   1
  6064  4text23·  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6065  4text23¸  ÷nvCOMMON+                movf    _i2c_data_p,w
  6066  4text23¹'  3E21                     addlw   33
  6067  4text23º&  0086                     movwf   6
  6068  4text23»%  0187                     clrf    7
  6069  4text23¼  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6070  4text23½©  0781                    addwf   1,f
  6071                           
  6072                           ;I2C1.c: 434: i2c_data_p->slave_in_last_byte = received_data;
  6073  4text23¾  ÷cstackCOMMONB                      movf    I2C1_Interrupt_Slave@received_data,w
  6074  4text23¿  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6075  4text23À  ÷nvCOMMON+                movf    _i2c_data_p,w
  6076  4text23Á'  3E4B                     addlw   75
  6077  4text23Â&  0086                     movwf   6
  6078  4text23Ã%  0187                     clrf    7
  6079  4text23Ä  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6080  4text23Å™  0081                    movwf   1
  6081                           
  6082                           ;I2C1.c: 435: i2c_data_p->return_status = 0x34;
  6083  4text23Æ'  3034                     movlw   52
  6084  4text23Ç  %(ûøÿÿtext23
text23Ï!                    goto    L12
  6085  4text23Èõ                     i1l3003:     
  6086                           ;I2C1.c: 436: } else {
  6087                           
  6088                           
  6089                           ;I2C1.c: 437: i2c_data_p->operating_state = 0x1;
  6090  4text23È  ÷nvCOMMON+                movf    _i2c_data_p,w
  6091  4text23É'  3E47                     addlw   71
  6092  4text23Ê&  0086                     movwf   6
  6093  4text23Ë%  0187                     clrf    7
  6094  4text23Ì%  0181                     clrf    1
  6095  4text23Íš  0A81                    incf    1,f
  6096                           
  6097                           ;I2C1.c: 438: i2c_data_p->return_status = 0x37;
  6098  4text23Î'  3037                     movlw   55
  6099  4text23Ï#                     L12:  
  6100  4text23Ï  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6101  4text23Ð  ÷nvCOMMON+                movf    _i2c_data_p,w
  6102  4text23Ñ'  3E48                     addlw   72
  6103  4text23Ò&  0086                     movwf   6
  6104  4text23Ó%  0187                     clrf    7
  6105  4text23Ô  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6106  4text23Õ&  0081                     movwf   1
  6107  4text23Ö                     i1l3005:      
  6108                           
  6109                           ;I2C1.c: 439: }
  6110                           ;I2C1.c: 440: }
  6111                           ;I2C1.c: 441: i2c_data_p->buffer_in_len += i2c_data_p->buffer_in_len_tmp;
  6112  4text23Ö  ÷nvCOMMON+                movf    _i2c_data_p,w
  6113  4text23×'  3E21                     addlw   33
  6114  4text23Ø&  0086                     movwf   6
  6115  4text23Ù%  0187                     clrf    7
  6116  4text23Ú'  0801                     movf    1,w
  6117  4text23Û  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6118  4text23Ü  ÷nvCOMMON+                movf    _i2c_data_p,w
  6119  4text23Ý'  3E20                     addlw   32
  6120  4text23Þ&  0086                     movwf   6
  6121  4text23ß%  0187                     clrf    7
  6122  4text23à  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6123  4text23á(  0781                     addwf   1,f
  6124  4text23â›                     i1l3007:     
  6125                           
  6126                           ;I2C1.c: 442: i2c_data_p->operating_state = 0x1;
  6127  4text23â  ÷nvCOMMON+                movf    _i2c_data_p,w
  6128  4text23ã'  3E47                     addlw   71
  6129  4text23ä&  0086                     movwf   6
  6130  4text23å%  0187                     clrf    7
  6131  4text23æ%  0181                     clrf    1
  6132  4text23çœ  0A81                    incf    1,f
  6133                           
  6134                           ;I2C1.c: 443: } else if (data_read_from_buffer) {
  6135  4text23è  %(ûøÿÿtext23
text23\%                     goto    i1l3037
  6136  4text23é'                     i1l3009:      
  6137  4text23é  ÷cstackCOMMONJ                      movf    I2C1_Interrupt_Slave@data_read_from_buffer,w
  6138  4text23ê(  1903                     btfsc   3,2
  6139  4text23ë  (ûÿtext23\
”                   goto    i1l3037
  6140                           
  6141                           ;I2C1.c: 444: if (SSP1STATbits.D_nA == 1) {
  6142  4text23ì3  1E94                     btfss   20,5    ;volatile
  6143  4text23í  (ûÿtext23$
½                   goto    i1l209
  6144                           
  6145                           ;I2C1.c: 446: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = received_data;
  6146  4text23î  ÷cstackCOMMONB                      movf    I2C1_Interrupt_Slave@received_data,w
  6147  4text23ï  €÷cstackCOMMON6                     movwf   ??_I2C1_Interrupt_Slave
  6148  4text23ð  ÷nvCOMMON+                movf    _i2c_data_p,w
  6149  4text23ñ'  3E23                     addlw   35
  6150  4text23ò&  0086                     movwf   6
  6151  4text23ó%  0187                     clrf    7
  6152  4text23ô'  0801                     movf    1,w
  6153  4text23õ  ÷nvCOMMON,                addwf   _i2c_data_p,w
  6154  4text23ö  €÷cstackCOMMON8                     movwf   ??_I2C1_Interrupt_Slave+1
  6155  4text23÷  ÷cstackCOMMON9                      movf    ??_I2C1_Interrupt_Slave+1,w
  6156  4text23ø&  0086                     movwf   6
  6157  4text23ù%  0187                     clrf    7
  6158  4text23ú  ÷cstackCOMMON7                      movf    ??_I2C1_Interrupt_Slave,w
  6159  4text23û¦  0081                    movwf   1
  6160                           
  6161                           ;I2C1.c: 447: if (i2c_data_p->buffer_in_write_ind == 32-1) {
  6162  4text23ü  ÷nvCOMMON+                movf    _i2c_data_p,w
  6163  4text23ý'  3E23                     addlw   35
  6164  4text23þ&  0086                     movwf   6
  6165  4text23ÿ%  0187                     clrf    7
  6166  4text23'  0801                      movf    1,w
  6167  4text23'  3A1F                      xorlw   31
  6168  4text23$  1D03                      skipz
  6169  4text23  (ûÿtext23

›                   goto    i1l3019
  6170                           
  6171                           ;I2C1.c: 448: i2c_data_p->buffer_in_write_ind = 0;
  6172  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6173  4text23'  3E23                      addlw   35
  6174  4text23&  0086                      movwf   6
  6175  4text23%  0187                      clrf    7
  6176  4text23  0181                      clrf    1
  6177                           
  6178                           ;I2C1.c: 449: } else {
  6179  4text23       %(ûøÿÿtext23
text23$                     goto    i1l211
  6180  4text23
›                     i1l3019:  
  6181                           
  6182                           ;I2C1.c: 450: i2c_data_p->buffer_in_write_ind++;
  6183  4text23
&  3001                  movlw   1
  6184  4text23  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6185  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6186  4text23
'  3E23                      addlw   35
  6187  4text23&  0086                      movwf   6
  6188  4text23%  0187                      clrf    7
  6189  4text23  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6190  4text23(  0781                      addwf   1,f
  6191  4text23É                     i1l211:       
  6192                           
  6193                           ;I2C1.c: 451: }
  6194                           ;I2C1.c: 452: i2c_data_p->buffer_in_len_tmp++;
  6195  4text23&  3001                      movlw   1
  6196  4text23  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6197  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6198  4text23'  3E21                      addlw   33
  6199  4text23&  0086                      movwf   6
  6200  4text23%  0187                      clrf    7
  6201  4text23  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6202  4text23©  0781                     addwf   1,f
  6203                           
  6204                           ;I2C1.c: 454: i2c_data_p->slave_in_last_byte = received_data;
  6205  4text23  ÷cstackCOMMONB                       movf    I2C1_Interrupt_Slave@received_data,w
  6206  4text23  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6207  4text23  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6208  4text23'  3E4B                      addlw   75
  6209  4text23&  0086                      movwf   6
  6210  4text23%  0187                      clrf    7
  6211  4text23   ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6212  4text23!™  0081                     movwf   1
  6213                           
  6214                           ;I2C1.c: 455: i2c_data_p->return_status = 0x34;
  6215  4text23"'  3034                      movlw   52
  6216  4text23#  %(ûøÿÿtext23
text23B!                     goto    L14
  6217  4text23$ï                     i1l209:       
  6218                           ;I2C1.c: 456: } else {
  6219                           
  6220                           
  6221                           ;I2C1.c: 458: if (SSP1STATbits.R_nW == 1) {
  6222  4text23$3  1D14                      btfss   20,2    ;volatile
  6223  4text23%  (ûÿtext23;
²                   goto    i1l3031
  6224                           
  6225                           ;I2C1.c: 459: i2c_data_p->buffer_in_len += i2c_data_p->buffer_in_len_tmp;
  6226  4text23&  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6227  4text23''  3E21                      addlw   33
  6228  4text23(&  0086                      movwf   6
  6229  4text23)%  0187                      clrf    7
  6230  4text23*'  0801                      movf    1,w
  6231  4text23+  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6232  4text23,  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6233  4text23-'  3E20                      addlw   32
  6234  4text23.&  0086                      movwf   6
  6235  4text23/%  0187                      clrf    7
  6236  4text230  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6237  4text231(  0781                      addwf   1,f
  6238  4text232›                     i1l3027:      
  6239                           
  6240                           ;I2C1.c: 460: i2c_data_p->operating_state = 0x4;
  6241  4text232&  3004                      movlw   4
  6242  4text233  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6243  4text234  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6244  4text235'  3E47                      addlw   71
  6245  4text236&  0086                      movwf   6
  6246  4text237%  0187                      clrf    7
  6247  4text238  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6248  4text239‚  0081                     movwf   1
  6249                           
  6250                           ;I2C1.c: 462: goto send;
  6251  4text23:  %(ûøÿÿtext23
text23:%                     goto    i1l2965
  6252  4text23;õ                     i1l3031:      
  6253                           ;I2C1.c: 463: } else {
  6254                           
  6255                           
  6256                           ;I2C1.c: 465: i2c_data_p->operating_state = 0x1;
  6257  4text23;  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6258  4text23<'  3E47                      addlw   71
  6259  4text23=&  0086                      movwf   6
  6260  4text23>%  0187                      clrf    7
  6261  4text23?%  0181                      clrf    1
  6262  4text23@š  0A81                     incf    1,f
  6263                           
  6264                           ;I2C1.c: 466: i2c_data_p->return_status = 0x37;
  6265  4text23A'  3037                      movlw   55
  6266  4text23B#                     L14:   
  6267  4text23B  €÷cstackCOMMON6                      movwf   ??_I2C1_Interrupt_Slave
  6268  4text23C  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6269  4text23D'  3E48                      addlw   72
  6270  4text23E#                     L13:   
  6271  4text23E&  0086                      movwf   6
  6272  4text23F%  0187                      clrf    7
  6273  4text23G  ÷cstackCOMMON7                       movf    ??_I2C1_Interrupt_Slave,w
  6274  4text23H•  0081                     movwf   1
  6275                           
  6276                           ;I2C1.c: 471: }
  6277                           ;I2C1.c: 472: }
  6278                           
  6279                           ;I2C1.c: 467: }
  6280                           ;I2C1.c: 468: }
  6281                           ;I2C1.c: 469: }
  6282                           ;I2C1.c: 470: break;
  6283  4text23I  %(ûøÿÿtext23
text23\%                     goto    i1l3037
  6284  4text23J'                     i1l3035:       
  6285  4text23J  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6286  4text23K'  3E47                      addlw   71
  6287  4text23L&  0086                      movwf   6
  6288  4text23M%  0187                      clrf    7
  6289  4text23Ný  0801                     movf    1,w
  6290                           
  6291                           ; Switch size 1, requested type "space"
  6292                           ; Number of cases is 4, Range of values is 1 to 4
  6293                           ; switch strategies available:
  6294                           ; Name         Instructions Cycles
  6295                           ; simple_byte           13     7 (average)
  6296                           ; direct_byte           17     9 (fixed)
  6297Ž                           ; jumptable            263     9 (fixed)
  6298                           ;      Chosen strategy is simple_byte
  6299  4text23O/  3A01                      xorlw   1       ; case 1
  6300  4text23P%  1903                      skipnz
  6301  4text23Q  (ûÿtext23#
$                    goto    i1l181
  6302  4text23R/  3A03                      xorlw   3       ; case 2
  6303  4text23S%  1903                      skipnz
  6304  4text23T  (ûÿtext23,
$                    goto    i1l184
  6305  4text23U/  3A01                      xorlw   1       ; case 3
  6306  4text23V%  1903                      skipnz
  6307  4text23W  (ûÿtext23‹
$                    goto    i1l200
  6308  4text23X/  3A07                      xorlw   7       ; case 4
  6309  4text23Y%  1903                      skipnz
  6310  4text23Z  (ûÿtext23:
%                    goto    i1l2965
  6311  4text23[  %(ûøÿÿtext23
text23\%                     goto    i1l3037
  6312  4text23\à                     i1l3037:      
  6313                           
  6314                           ;I2C1.c: 473: }
  6315                           ;I2C1.c: 476: if (data_read_from_buffer || data_written_to_buffer) {
  6316  4text23\  €÷cstackCOMMONJ                      movf    I2C1_Interrupt_Slave@data_read_from_buffer,f
  6317  4text23](  1903                      btfsc   3,2
  6318  4text23^  ÷cstackCOMMONK                       movf    I2C1_Interrupt_Slave@data_written_to_buffer,w
  6319  4text23_(  1903                      btfsc   3,2
  6320  4text23`“  0008                     return
  6321                           
  6322                           ;I2C1.c: 478: if (SSP1CON1bits.CKP == 0) {
  6323  4text23a5  0024                      movlb   4       ; select bank4
  6324  4text23b3  1A15                      btfsc   21,4    ;volatile
  6325  4text23cΠ 0008                     return
  6326                           
  6327                           ;I2C1.c: 479: SSP1CON1bits.CKP = 1;
  6328  4text23d1  1615                      bsf     21,4    ;volatile
  6329  4text23e%  0008                      return
  6330  4text23fŽ                     __end_of_I2C1_Interrupt_Slave:        
  6331                           
  6332                                  psect   text24
  6333  4text24ý                     __ptext24:  
  6334 ;; *************** function _I2C1_Process_Receive *****************
  6335 ;; Defined at:
  6336 ;;               line 522 in file "I2C1.c"
  6337 ;; Parameters:    Size  Location     Type
  6338 ;;  c               1    wreg     unsigned char 
  6339 ;; Auto vars:     Size  Location     Type
  6340 ;;  c               1    0[COMMON] unsigned char 
  6341 ;;  ret             1    1[COMMON] unsigned char 
  6342 ;;  btns            1    0        struct .
  6343 ;; Return value: ý Size  Location     Type
  6344 ;;                  1    wreg      unsigned char 
  6345 ;; Registers used:
  6346 ;;               wreg, fsr0l, fsr0h, status,2, status,0
  6347 ;; Tracked objects:
  6348 ;;               On entry : 0/0
  6349 ;;               On exit  : 0/0
  6350 ;;               Unchanged: 0/0
  6351 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  6352 ;;      Params:         0       0       0       0       0       0       0       0       0     ý  0       0       0       
      +0       0
  6353 ;;      Locals:         2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6354 ;;      Temps:          0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6355 ;;      Totals:         2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6356 ;;Total ram usage:     ƒ   2 bytes
  6357 ;; Hardware stack levels used:    1
  6358 ;; This function calls:
  6359 ;;               Nothing
  6360 ;; This function is called by:
  6361 ;;               _I2C1_Interrupt_Slave
  6362 ;; This function uses a non-reentrant model
  6363 ;;
  6364                           
  6365                           
  6366                           ;psect for function _I2C1_Process_Receive
  6367  4text246                     _I2C1_Process_Receive:       
  6368                           
  6369                           ;incstack = 0
  6370                           ; Regs used in _I2C1_Process_Receive: [wreg-fsr0h+status,2+status,0]
  6371                           ;I2C1_Process_Receive@c stored from wreg
  6372  4text24  €÷cstackCOMMON—                 movwf   I2C1_Process_Receive@c
  6373                           
  6374                           ;I2C1.c: 523: uint8_t ret = 0;
  6375  4text24  €÷cstackCOMMON6                      clrf    I2C1_Process_Receive@ret
  6376  4text24Ž  0064                     clrwdt  ;# 
  6377                           
  6378                           ;I2C1.c: 534: }
  6379                           
  6380                           ;I2C1.c: 533: break;
  6381                           
  6382                           ;I2C1.c: 528: case 0x0A:
  6383                           
  6384                           ;I2C1.c: 527: switch (c) {
  6385  4text24  ÷cstackCOMMONý                    movf    I2C1_Process_Receive@c,w
  6386                           
  6387                           ; Switch size 1, requested type "space"
  6388                           ; Number of cases is 1, Range of values is 10 to 10
  6389                           ; switch strategies available:
  6390                           ; Name         Instructions Cycles
  6391                           ; simple_byte            4     3 (average)
  6392                           ; direct_byte           11    Ÿ 9 (fixed)
  6393                           ; jumptable            263     9 (fixed)
  6394                           ;      Chosen strategy is simple_byte
  6395  4text241  3A0A                      xorlw   10      ; case 10
  6396  4text24%  1903                      skipnz
  6397  4text24  (ûÿtext24
%                    goto    i1l2623
  6398  4text24  %(ûøÿÿtext24
text24%                     goto    i1l2623
  6399  4text24„                     i1l2623:      
  6400                           
  6401                           ;I2C1.c: 535: return ret;
  6402  4text24  ÷cstackCOMMON8                       movf    I2C1_Process_Receive@ret,w
  6403  4text24     %  0008                  return
  6404  4text24
Ž                     __end_of_I2C1_Process_Receive:    
  6405                           
  6406                                  psect   text25
  6407  4text25ý                     __ptext25:  
  6408 ;; *************** function _I2C1_Interrupt_Master *****************
  6409 ;; Defined at:
  6410 ;;               line 148 in file "I2C1.c"
  6411 ;; Parameters:    Size  Location     Type
  6412 ;;               None
  6413 ;; Auto vars:     Size  Location     Type
  6414 ;;  tmp             1    3[COMMON] unsigned char 
  6415 ;;  tmp             1    2[COMMON] unsigned char 
  6416 ;; Return value:  Size  Location     Type
  6417 ;;               None               void
  6418 ;; Registers used:
  6ý419 ;;           wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0
  6420 ;; Tracked objects:
  6421 ;;               On entry : 0/0
  6422 ;;               On exit  : 0/0
  6423 ;;               Unchanged: 0/0
  6424 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5   BANK6   BANK7   BANK8   BANK9  BANK10  BANK1
      +1  BANK12
  6425 ;;      Params:         0       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6426 ;;      Locals:         2       0       0     ý  0       0       0       0       0       0       0       0       0       
      +0       0
  6427 ;;      Temps:          2       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6428 ;;      Totals:         4       0       0       0       0       0       0       0       0       0       0       0       
      +0       0
  6429 ;;Total ram usage:        4 bytes
  6430 ;; Hardware stack levels used:    1
  6431 ;; This function calls:
  6432 ;;               N%othing
  6433 ;; This function is called by:
  6434 ;;               _I2C1_Interrupt_Handler
  6435 ;; This function uses a non-reentrant model
  6436 ;;
  6437                           
  6438                           
  6439                           ;psect for function _I2C1_Interrupt_Master
  6440  4text25h                     _I2C1_Interrupt_Master:      
  6441                           
  6442                           ;I2C1.c: 150: if (i2c_data_p->master_status == 0x20) {
  6443                           
  6444                           ;incstack = 0
  6445                           ; Regs used in _I2C1_Interrupt_Master: [wreg-fsr1h+status,2+status,0]
  6446  4text25  ÷nvCOMMON+                       movf    _i2c_data_p,w
  6447  4text25'  3E4A                      addlw   74
  6448  4text25&  0086                      movwf   6
  6449  4text25%  0187                      clrf    7
  6450  4text25'  0801                      movf    1,w
  6451  4text25'  3A20                      xorlw   32
  6452  4text25(  1903                      btfsc   3,2
  6453  4text25  (ûÿtext25m
%                    goto    i1l2501
  6454  4text25  %(ûøÿÿtext25
text25}%                     goto    i1l2503
  6455  4text25     ý                     i1l2483:  
  6456                           ;I2C1.c: 154: case 0x5:
  6457                           
  6458                           ;I2C1.c: 153: break;
  6459                           
  6460                           ;I2C1.c: 152: case 0x1:
  6461                           
  6462                           ;I2C1.c: 151: switch (i2c_data_p->operating_state) {
  6463                           
  6464                           
  6465                           ;I2C1.c: 156: i2c_dat$a_p->operating_state = 0x7;
  6466  4text25     &  3007                  movlw   7
  6467  4text25
  €÷cstackCOMMON7                movwf   ??_I2C1_Interrupt_Master
  6468  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6469  4text25'  3E47                      addlw   71
  6470  4text25
&  0086                      movwf   6
  6471  4text25%  0187                      clrf    7
  6472  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6473  4text25¬  0081                     movwf   1
  6474                           
  6475                           ;I2C1.c: 157: SSP1BUF = (i2c_data_p->master_dest_addr << 1) | 0x0;
  6476  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6477  4text25'  3E49                      addlw   73
  6478  4text25&  0086                      movwf   6
  6479  4text25%  0187                      clrf    7
  6480  4text25'  3501                      lslf    1,w
  6481  4text255  0024                      movlb   4       ; select bank4
  6482  4text25‰  0091                     movwf   17      ;volatile
  6483                           
  6484                           ;I2C1.c: 158: break;
  6485  4text25%  0008                      return
  6486  4text25ï                     i1l134:       
  6487                           ;I2C1.c: 159: case 0x7:
  6488                           
  6489                           
  6490                           ;I2C1.c: 161: if (!SSP1CON2bits.ACKSTAT) {
  6491  4text255  0024                      movlb   4       ; select bank4
  6492  4text253  1B16                      btfsc   22,6    ;volatile
  6493  4text25  (ûÿtext25U
¸                   goto    i1l2495
  6494                           
  6495                           ;I2C1.c: 163: if (i2c_data_p->buffer_in_read_ind < i2c_data_p->buffer_in_len) {
  6496  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6497  4text25'  3E22                      addlw   34
  6498  4text25&  0086                      movwf   6
  6499  4text25%  0187                      clrf    7
  6500  4text25   ÷nvCOMMON+                 movf    _i2c_data_p,w
  6501  4text25!'  3E20                      addlw   32
  6502  4text25"&  0084                      movwf   4
  6503  4text25#%  0185                      clrf    5
  6504  4text25$'  0800                      movf    0,w
  6505  4text25%(  0201                      subwf   1,w
  6506  4text25&%  1803                      skipnc
  6507  4text25'  (ûÿtext25=
·                   goto    i1l2491
  6508                           
  6509                           ;I2C1.c: 164: SSP1BUF = i2c_data_p->buffer_in[i2c_data_p->buffer_in_read_ind];
  6510  4text25(  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6511  4text25)'  3E22                      addlw   34
  6512  4text25*&  0086                      movwf   6
  6513  4text25+%  0187                      clrf    7
  6514  4text25,'  0801                      movf    1,w
  6515  4text25-  ÷nvCOMMON,                 addwf   _i2c_data_p,w
  6516  4text25.  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6517  4text25/  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6518  4text250&  0086                      movwf   6
  6519  4text251%  0187                      clrf    7
  6520  4text252'  0801                      movf    1,w
  6521  4text253¤  0091                     movwf   17      ;volatile
  6522                           
  6523                           ;I2C1.c: 165: i2c_data_p->buffer_in_read_ind++;
  6524  4text254&  3001                      movlw   1
  6525  4text255  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6526  4text256  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6527  4text257'  3E22                      addlw   34
  6528  4text258&  0086                      movwf   6
  6529  4text259%  0187                      clrf    7
  6530  4text25:  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6531  4text25;‚  0781                     addwf   1,f
  6532                           
  6533                           ;I2C1.c: 166: } else {
  6534  4text25<%  0008                      return
  6535  4text25=›                     i1l2491:      
  6536                           
  6537                           ;I2C1.c: 168: i2c_data_p->operating_state = 0x1;
  6538  4text25=  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6539  4text25>'  3E47                      addlw   71
  6540  4text25?&  0086                      movwf   6
  6541  4text25@%  0187                      clrf    7
  6542  4text25A%  0181                      clrf    1
  6543  4text25BŽ  0A81                     incf    1,f
  6544                           
  6545                           ;I2C1.c: 169: SSP1CON2bits.PEN = 1;
  6546  4text25C¤  1516                     bsf     22,2    ;volatile
  6547                           
  6548                           ;I2C1.c: 170: i2c_data_p->master_status = 0x23;
  6549  4text25D'  3023                      movlw   35
  6550  4text25E  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6551  4text25F  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6552  4text25G'  3E4A                      addlw   74
  6553  4text25H&  0086                      movwf   6
  6554  4text25I%  0187                      clrf    7
  6555  4text25J  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6556  4text25K™  0081                     movwf   1
  6557                           
  6558                           ;I2C1.c: 171: i2c_data_p->return_status = 0x30;
  6559  4text25L'  3030                      movlw   48
  6560  4text25M  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6561  4text25N  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6562  4text25O'  3E48                      addlw   72
  6563  4text25P&  0086                      movwf   6
  6564  4text25Q%  0187                      clrf    7
  6565  4text25R  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6566  4text25S±  0081                     movwf   1
  6567                           
  6568                           ;I2C1.c: 172: }
  6569                           ;I2C1.c: 173: } else {
  6570  4text25T%  0008                      return
  6571  4text25U›                     i1l2495:      
  6572                           
  6573                           ;I2C1.c: 175: i2c_data_p->operating_state = 0x1;
  6574  4text25U  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6575  4text25V'  3E47                      addlw   71
  6576  4text25W&  0086                      movwf   6
  6577  4text25X%  0187                      clrf    7
  6578  4text25Y%  0181                      clrf    1
  6579  4text25ZŽ  0A81                     incf    1,f
  6580                           
  6581                           ;I2C1.c: 176: SSP1CON2bits.PEN = 1;
  6582  4text25[¤  1516                     bsf     22,2    ;volatile
  6583                           
  6584                           ;I2C1.c: 177: i2c_data_p->master_status = 0x23;
  6585  4text25\'  3023                      movlw   35
  6586  4text25]  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6587  4text25^  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6588  4text25_'  3E4A                      addlw   74
  6589  4text25`&  0086                      movwf   6
  6590  4text25a%  0187                      clrf    7
  6591  4text25b  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6592  4text25c™  0081                     movwf   1
  6593                           
  6594                           ;I2C1.c: 178: i2c_data_p->return_status = 0x31;
  6595  4text25d'  3031                      movlw   49
  6596  4text25e  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6597  4text25f  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6598  4text25g'  3E48                      addlw   72
  6599  4text25h&  0086                      movwf   6
  6600  4text25i%  0187                      clrf    7
  6601  4text25j  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6602  4text25k  0081                      movwf   1
  6603                           
  6604                           ;I2C1.c: 181: }
  6605                           
  6606                           ;I2C1.c: 179: }
  6607                           ;I2C1.c: 180: break;
  6608  4text25l%  0008                      return
  6609  4text25m'                     i1l2501:       
  6610  4text25m  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6611  4text25n'  3E47                      addlw   71
  6612  4text25o&  0086                      movwf   6
  6613  4text25p%  0187                      clrf    7
  6614  4text25qý  0801                     movf    1,w
  6615                           
  6616                           ; Switch size 1, requested type "space"
  6617                           ; Number of cases is 3, Range of values is 1 to 7
  6618                           ; switch strategies available:
  6619                           ; Name         Instructions Cycles
  6620                           ; simple_byte           10     6 (average)
  6621                           ; direct_byte           23     9 (fixed)
  6622Ž                           ; jumptable            263     9 (fixed)
  6623                           ;      Chosen strategy is simple_byte
  6624  4text25r/  3A01                      xorlw   1       ; case 1
  6625  4text25s%  1903                      skipnz
  6626  4text25t  (ûÿtext25V
$                    goto    i1l174
  6627  4text25u/  3A04                      xorlw   4       ; case 5
  6628  4text25v%  1903                      skipnz
  6629  4text25w  (ûÿtext25        
%                    goto    i1l2483
  6630  4text25x/  3A02                      xorlw   2       ; case 7
  6631  4text25y%  1903                      skipnz
  6632  4text25z  (ûÿtext25
$                    goto    i1l134
  6633  4text25{  %(ûøÿÿtext25
text25V¥                    goto    i1l174
  6634                           
  6635                           ;I2C1.c: 183: } else if (i2c_data_p->master_status == 0x21) {
  6636  4text25|%  0008                      return
  6637  4text25}'                     i1l2503:       
  6638  4text25}  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6639  4text25~'  3E4A                      addlw   74
  6640  4text25&  0086                      movwf   6
  6641  4text25€%  0187                     clrf    7
  6642  4text25'  0801                     movf    1,w
  6643  4text25‚'  3A21                     xorlw   33
  6644  4text25ƒ(  1903                     btfsc   3,2
  6645  4text25„  (ûÿtext25
%                    goto    i1l2549
  6646  4text25…  %(ûøÿÿtext25
text256%                     goto    i1l2551
  6647  4text25†ý                     i1l2507:     
  6648                           ;I2C1.c: 187: case 0x5:
  6649                           
  6650                           ;I2C1.c: 186: break;
  6651                           
  6652                           ;I2C1.c: 185: case 0x1:
  6653                           
  6654                           ;I2C1.c: 184: switch (i2c_data_p->operating_state) {
  6655                           
  6656                           
  6657                           ;I2C1.c: 189: i2c_dat$a_p->operating_state = 0x8;
  6658  4text25†&  3008                     movlw   8
  6659  4text25‡  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6660  4text25ˆ  ÷nvCOMMON+                movf    _i2c_data_p,w
  6661  4text25‰'  3E47                     addlw   71
  6662  4text25Š&  0086                     movwf   6
  6663  4text25‹%  0187                     clrf    7
  6664  4text25Œ  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6665  4text25ª  0081                    movwf   1
  6666                           
  6667                           ;I2C1.c: 190: uint8_t tmp = (i2c_data_p->master_dest_addr << 1);
  6668  4text25Ž  ÷nvCOMMON+                movf    _i2c_data_p,w
  6669  4text25'  3E49                     addlw   73
  6670  4text25&  0086                     movwf   6
  6671  4text25‘%  0187                     clrf    7
  6672  4text25’'  3501                     lslf    1,w
  6673  4text25“  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6674  4text25”  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6675  4text25•  €÷cstackCOMMON–                    movwf   I2C1_Interrupt_Master@tmp
  6676                           
  6677                           ;I2C1.c: 191: tmp |= 0x01;
  6678  4text25–  ÷cstackCOMMON˜                     bsf     I2C1_Interrupt_Master@tmp,0
  6679                           
  6680                           ;I2C1.c: 192: SSP1BUF = tmp;
  6681  4text25—  ÷cstackCOMMON9                      movf    I2C1_Interrupt_Master@tmp,w
  6682  4text25˜5  0024                     movlb   4       ; select bank4
  6683  4text25™‰  0091                    movwf   17      ;volatile
  6684                           
  6685                           ;I2C1.c: 193: break;
  6686  4text25š%  0008                     return
  6687  4text25ݕ                     i1l145:      
  6688                           ;I2C1.c: 194: case 0x8:
  6689                           
  6690                           
  6691                           ;I2C1.c: 196: if (!SSP1CON2bits.ACKSTAT) {
  6692  4text25›5  0024                     movlb   4       ; select bank4
  6693  4text25œ3  1B16                     btfsc   22,6    ;volatile
  6694  4text25  (ûÿtext25¨
™                   goto    i1l2519
  6695                           
  6696                           ;I2C1.c: 198: i2c_data_p->operating_state = 0x3;
  6697  4text25ž&  3003                     movlw   3
  6698  4text25Ÿ  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6699  4text25   ÷nvCOMMON+                movf    _i2c_data_p,w
  6700  4text25¡'  3E47                     addlw   71
  6701  4text25¢&  0086                     movwf   6
  6702  4text25£%  0187                     clrf    7
  6703  4text25¤  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6704  4text25¥Ž  0081                    movwf   1
  6705                           
  6706                           ;I2C1.c: 199: SSP1CON2bits.RCEN = 1;
  6707  4text25¦‹  1596                    bsf     22,3    ;volatile
  6708                           
  6709                           ;I2C1.c: 200: } else {
  6710  4text25§%  0008                     return
  6711  4text25¨›                     i1l2519:     
  6712                           
  6713                           ;I2C1.c: 202: i2c_data_p->operating_state = 0x1;
  6714  4text25¨  ÷nvCOMMON+                movf    _i2c_data_p,w
  6715  4text25©'  3E47                     addlw   71
  6716  4text25ª&  0086                     movwf   6
  6717  4text25«%  0187                     clrf    7
  6718  4text25¬%  0181                     clrf    1
  6719  4text25­Ž  0A81                    incf    1,f
  6720                           
  6721                           ;I2C1.c: 203: SSP1CON2bits.PEN = 1;
  6722  4text25®¤  1516                    bsf     22,2    ;volatile
  6723                           
  6724                           ;I2C1.c: 204: i2c_data_p->master_status = 0x23;
  6725  4text25¯'  3023                     movlw   35
  6726  4text25°  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6727  4text25±  ÷nvCOMMON+                movf    _i2c_data_p,w
  6728  4text25²'  3E4A                     addlw   74
  6729  4text25³&  0086                     movwf   6
  6730  4text25´%  0187                     clrf    7
  6731  4text25µ  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6732  4text25¶™  0081                    movwf   1
  6733                           
  6734                           ;I2C1.c: 205: i2c_data_p->return_status = 0x33;
  6735  4text25·'  3033                     movlw   51
  6736  4text25¸  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6737  4text25¹  ÷nvCOMMON+                movf    _i2c_data_p,w
  6738  4text25º'  3E48                     addlw   72
  6739  4text25»&  0086                     movwf   6
  6740  4text25¼%  0187                     clrf    7
  6741  4text25½  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6742  4text25¾¯  0081                    movwf   1
  6743                           
  6744                           ;I2C1.c: 206: }
  6745                           ;I2C1.c: 207: break;
  6746  4text25¿%  0008                     return
  6747  4text25À                     i1l2523:      
  6748                           ;I2C1.c: 208: case 0x3:
  6749                           
  6750                           
  6751                           ;I2C1.c: 211: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = SSP1BUF;
  6752  4text25À5  0024                     movlb   4       ; select bank4
  6753  4text25Á2  0811                     movf    17,w    ;volatile
  6754  4text25Â  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6755  4text25Ã  ÷nvCOMMON+                movf    _i2c_data_p,w
  6756  4text25Ä'  3E23                     addlw   35
  6757  4text25Å&  0086                     movwf   6
  6758  4text25Æ%  0187                     clrf    7
  6759  4text25Ç'  0801                     movf    1,w
  6760  4text25È  ÷nvCOMMON,                addwf   _i2c_data_p,w
  6761  4text25É  €÷cstackCOMMON9                     movwf   ??_I2C1_Interrupt_Master+1
  6762  4text25Ê  ÷cstackCOMMON:                      movf    ??_I2C1_Interrupt_Master+1,w
  6763  4text25Ë&  0086                     movwf   6
  6764  4text25Ì%  0187                     clrf    7
  6765  4text25Í  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6766  4text25Κ  0081                    movwf   1
  6767                           
  6768                           ;I2C1.c: 212: i2c_data_p->buffer_in_write_ind++;
  6769  4text25Ï&  3001                     movlw   1
  6770  4text25Ð  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6771  4text25Ñ  ÷nvCOMMON+                movf    _i2c_data_p,w
  6772  4text25Ò'  3E23                     addlw   35
  6773  4text25Ó&  0086                     movwf   6
  6774  4text25Ô%  0187                     clrf    7
  6775  4text25Õ  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6776  4text25Ö¼  0781                    addwf   1,f
  6777                           
  6778                           ;I2C1.c: 213: if (i2c_data_p->buffer_in_write_ind < i2c_data_p->buffer_in_len) {
  6779  4text25×  ÷nvCOMMON+                movf    _i2c_data_p,w
  6780  4text25Ø'  3E23                     addlw   35
  6781  4text25Ù&  0086                     movwf   6
  6782  4text25Ú%  0187                     clrf    7
  6783  4text25Û  ÷nvCOMMON+                movf    _i2c_data_p,w
  6784  4text25Ü'  3E20                     addlw   32
  6785  4text25Ý&  0084                     movwf   4
  6786  4text25Þ%  0185                     clrf    5
  6787  4text25ß'  0800                     movf    0,w
  6788  4text25à(  0201                     subwf   1,w
  6789  4text25á%  1803                     skipnc
  6790  4text25â  (ûÿtext25î
™                   goto    i1l2533
  6791                           
  6792                           ;I2C1.c: 215: i2c_data_p->operating_state = 0xA;
  6793  4text25ã'  300A                     movlw   10
  6794  4text25ä  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6795  4text25å  ÷nvCOMMON+                movf    _i2c_data_p,w
  6796  4text25æ'  3E47                     addlw   71
  6797  4text25ç&  0086                     movwf   6
  6798  4text25è%  0187                     clrf    7
  6799  4text25é  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6800  4text25ê  0081                    movwf   1
  6801                           
  6802                           ;I2C1.c: 216: SSP1CON2bits.ACKDT = 0;
  6803  4text25ëš  1296                    bcf     22,5    ;volatile
  6804                           
  6805                           ;I2C1.c: 217: SSP1CON2bits.ACKEN = 1;
  6806  4text25ì‹  1616                    bsf     22,4    ;volatile
  6807                           
  6808                           ;I2C1.c: 218: } else {
  6809  4text25í%  0008                     return
  6810  4text25î›                     i1l2533:     
  6811                           
  6812                           ;I2C1.c: 220: i2c_data_p->operating_state = 0xB;
  6813  4text25î'  300B                     movlw   11
  6814  4text25ï  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6815  4text25ð  ÷nvCOMMON+                movf    _i2c_data_p,w
  6816  4text25ñ'  3E47                     addlw   71
  6817  4text25ò&  0086                     movwf   6
  6818  4text25ó%  0187                     clrf    7
  6819  4text25ô  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6820  4text25õ  0081                    movwf   1
  6821                           
  6822                           ;I2C1.c: 221: SSP1CON2bits.ACKDT = 1;
  6823  4text25öš  1696                    bsf     22,5    ;volatile
  6824                           
  6825                           ;I2C1.c: 222: SSP1CON2bits.ACKEN = 1;
  6826  4text25ּ  1616                    bsf     22,4    ;volatile
  6827                           
  6828                           ;I2C1.c: 223: }
  6829                           ;I2C1.c: 224: break;
  6830  4text25ø%  0008                     return
  6831  4text25ùö                     i1l2539:     
  6832                           ;I2C1.c: 225: case 0xA:
  6833                           
  6834                           
  6835                           ;I2C1.c: 227: i2c_data_p->operating_state = 0x3;
  6836  4text25ù&  3003                     movlw   3
  6837  4text25ú  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  6838  4text25û  ÷nvCOMMON+                movf    _i2c_data_p,w
  6839  4text25ü'  3E47                     addlw   71
  6840  4text25ý&  0086                     movwf   6
  6841  4text25þ%  0187                     clrf    7
  6842  4text25ÿ  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  6843  4text25Ž  0081                     movwf   1
  6844                           
  6845                           ;I2C1.c: 228: SSP1CON2bits.RCEN = 1;
  6846  4text255  0024                      movlb   4       ; select bank4
  6847  4text25‰  1596                     bsf     22,3    ;volatile
  6848                           
  6849                           ;I2C1.c: 229: break;
  6850  4text25%  0008                      return
  6851  4text25ö                     i1l2543:      
  6852                           ;I2C1.c: 230: case 0xB:
  6853                           
  6854                           
  6855                           ;I2C1.c: 232: i2c_data_p->operating_state = 0x1;
  6856  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6857  4text25'  3E47                      addlw   71
  6858  4text25&  0086                      movwf   6
  6859  4text25%  0187                      clrf    7
  6860  4text25%  0181                      clrf    1
  6861  4text25     Ž  0A81                 incf    1,f
  6862                           
  6863                           ;I2C1.c: 233: SSP1CON2bits.PEN = 1;
  6864  4text25
5  0024                  movlb   4       ; select bank4
  6865  4text25¤  1516                     bsf     22,2    ;volatile
  6866                           
  6867                           ;I2C1.c: 234: i2c_data_p->master_status = 0x23;
  6868  4text25'  3023                      movlw   35
  6869  4text25
  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6870  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6871  4text25'  3E4A                      addlw   74
  6872  4text25&  0086                      movwf   6
  6873  4text25%  0187                      clrf    7
  6874  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6875  4text25™  0081                     movwf   1
  6876                           
  6877                           ;I2C1.c: 235: i2c_data_p->return_status = 0x32;
  6878  4text25'  3032                      movlw   50
  6879  4text25  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6880  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6881  4text25'  3E48                      addlw   72
  6882  4text25&  0086                      movwf   6
  6883  4text25%  0187                      clrf    7
  6884  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6885  4text25Ñ  0081                     movwf   1
  6886                           
  6887                           ;I2C1.c: 237: }
  6888                           
  6889                           ;I2C1.c: 236: break;
  6890  4text25%  0008                      return
  6891  4text25'                     i1l2549:       
  6892  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6893  4text25'  3E47                      addlw   71
  6894  4text25&  0086                      movwf   6
  6895  4text25 %  0187                      clrf    7
  6896  4text25!ý  0801                     movf    1,w
  6897                           
  6898                           ; Switch size 1, requested type "space"
  6899                           ; Number of cases is 6, Range of values is 1 to 11
  6900                           ; switch strategies available:
  6901                           ; Name         Instructions Cycles
  6902                           ; simple_byte           19    10 (average)
  6903                           ; direct_byte           31     9 (fixed)
  6904                           ; jumptable            263     9 (fixed)
  6905                           ;      Chosen strategy is simple_byte
  6906  4text25"/  3A01                      xorlw   1       ; case 1
  6907  4text25#%  1903                      skipnz
  6908  4text25$  (ûÿtext25V
$                    goto    i1l174
  6909  4text25%/  3A02                      xorlw   2       ; case 3
  6910  4text25&%  1903                      skipnz
  6911  4text25'  (ûÿtext25À
%                    goto    i1l2523
  6912  4text25(/  3A06                      xorlw   6       ; case 5
  6913  4text25)%  1903                      skipnz
  6914  4text25*  (ûÿtext25†
%                    goto    i1l2507
  6915  4text25+0  3A0D                      xorlw   13      ; case 8
  6916  4text25,%  1903                      skipnz
  6917  4text25-  (ûÿtext25›
$                    goto    i1l145
  6918  4text25.0  3A02                      xorlw   2       ; case 10
  6919  4text25/%  1903                      skipnz
  6920  4text250  (ûÿtext25ù
%                    goto    i1l2539
  6921  4text2510  3A01                      xorlw   1       ; case 11
  6922  4text252%  1903                      skipnz
  6923  4text253  (ûÿtext25
%                    goto    i1l2543
  6924  4text254  %(ûøÿÿtext25
text25V¥                    goto    i1l174
  6925                           
  6926                           ;I2C1.c: 238: } else if (i2c_data_p->master_status == 0x22) {
  6927  4text255%  0008                      return
  6928  4text256'                     i1l2551:       
  6929  4text256  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6930  4text257'  3E4A                      addlw   74
  6931  4text258&  0086                      movwf   6
  6932  4text259%  0187                      clrf    7
  6933  4text25:'  0801                      movf    1,w
  6934  4text25;'  3A22                      xorlw   34
  6935  4text25<$  1D03                      skipz
  6936  4text25=%  0008                      return
  6937  4text25>  %(ûøÿÿtext25
text254%                     goto    i1l2615
  6938  4text25?ý                     i1l2555:      
  6939                           ;I2C1.c: 242: case 0x5:
  6940                           
  6941                           ;I2C1.c: 241: break;
  6942                           
  6943                           ;I2C1.c: 240: case 0x1:
  6944                           
  6945                           ;I2C1.c: 239: switch (i2c_data_p->operating_state) {
  6946                           
  6947                           
  6948                           ;I2C1.c: 244: i2c_dat$a_p->operating_state = 0x7;
  6949  4text25?&  3007                      movlw   7
  6950  4text25@  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6951  4text25A  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6952  4text25B'  3E47                      addlw   71
  6953  4text25C&  0086                      movwf   6
  6954  4text25D%  0187                      clrf    7
  6955  4text25E  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6956  4text25F¬  0081                     movwf   1
  6957                           
  6958                           ;I2C1.c: 245: SSP1BUF = (i2c_data_p->master_dest_addr << 1) | 0x0;
  6959  4text25G  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6960  4text25H'  3E49                      addlw   73
  6961  4text25I&  0086                      movwf   6
  6962  4text25J%  0187                      clrf    7
  6963  4text25K'  3501                      lslf    1,w
  6964  4text25L5  0024                      movlb   4       ; select bank4
  6965  4text25M‰  0091                     movwf   17      ;volatile
  6966                           
  6967                           ;I2C1.c: 246: break;
  6968  4text25N%  0008                      return
  6969  4text25Oï                     i1l159:       
  6970                           ;I2C1.c: 247: case 0x7:
  6971                           
  6972                           
  6973                           ;I2C1.c: 249: if (!SSP1CON2bits.ACKSTAT) {
  6974  4text25O5  0024                      movlb   4       ; select bank4
  6975  4text25P3  1B16                      btfsc   22,6    ;volatile
  6976  4text25Q  (ûÿtext25`
š                   goto    i1l2561
  6977                           
  6978                           ;I2C1.c: 251: SSP1BUF = i2c_data_p->buffer_in[0];
  6979  4text25R  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6980  4text25S&  0086                      movwf   6
  6981  4text25T%  0187                      clrf    7
  6982  4text25U'  0801                      movf    1,w
  6983  4text25V¥  0091                     movwf   17      ;volatile
  6984                           
  6985                           ;I2C1.c: 252: i2c_data_p->operating_state = 0x9;
  6986  4text25W&  3009                      movlw   9
  6987  4text25X  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  6988  4text25Y  ÷nvCOMMON+                 movf    _i2c_data_p,w
  6989  4text25Z'  3E47                      addlw   71
  6990  4text25[&  0086                      movwf   6
  6991  4text25\%  0187                      clrf    7
  6992  4text25]  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  6993  4text25^€  0081                     movwf   1
  6994                           
  6995                           ;I2C1.c: 253: } else {
  6996  4text25_%  0008                      return
  6997  4text25`›                     i1l2561:      
  6998                           
  6999                           ;I2C1.c: 255: i2c_data_p->operating_state = 0x1;
  7000  4text25`  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7001  4text25a'  3E47                      addlw   71
  7002  4text25b&  0086                      movwf   6
  7003  4text25c%  0187                      clrf    7
  7004  4text25d%  0181                      clrf    1
  7005  4text25eŽ  0A81                     incf    1,f
  7006                           
  7007                           ;I2C1.c: 256: SSP1CON2bits.PEN = 1;
  7008  4text25f¤  1516                     bsf     22,2    ;volatile
  7009                           
  7010                           ;I2C1.c: 257: i2c_data_p->master_status = 0x23;
  7011  4text25g'  3023                      movlw   35
  7012  4text25h  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7013  4text25i  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7014  4text25j'  3E4A                      addlw   74
  7015  4text25k&  0086                      movwf   6
  7016  4text25l%  0187                      clrf    7
  7017  4text25m  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7018  4text25n™  0081                     movwf   1
  7019                           
  7020                           ;I2C1.c: 258: i2c_data_p->return_status = 0x31;
  7021  4text25o'  3031                      movlw   49
  7022  4text25p  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7023  4text25q  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7024  4text25r'  3E48                      addlw   72
  7025  4text25s&  0086                      movwf   6
  7026  4text25t%  0187                      clrf    7
  7027  4text25u  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7028  4text25v¯  0081                     movwf   1
  7029                           
  7030                           ;I2C1.c: 259: }
  7031                           ;I2C1.c: 260: break;
  7032  4text25w%  0008                      return
  7033  4text25xï                     i1l162:       
  7034                           ;I2C1.c: 261: case 0x9:
  7035                           
  7036                           
  7037                           ;I2C1.c: 262: if (!SSP1CON2bits.ACKSTAT) {
  7038  4text25x5  0024                      movlb   4       ; select bank4
  7039  4text25y3  1B16                      btfsc   22,6    ;volatile
  7040  4text25z  (ûÿtext25…
                   goto    i1l2569
  7041                           
  7042                           ;I2C1.c: 263: SSP1CON2bits.RSEN = 1;
  7043  4text25{¥  1496                     bsf     22,1    ;volatile
  7044                           
  7045                           ;I2C1.c: 264: i2c_data_p->operating_state = 0x6;
  7046  4text25|&  3006                      movlw   6
  7047  4text25}  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7048  4text25~  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7049  4text25'  3E47                      addlw   71
  7050  4text25€&  0086                     movwf   6
  7051  4text25%  0187                     clrf    7
  7052  4text25‚  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7053  4text25ƒ€  0081                    movwf   1
  7054                           
  7055                           ;I2C1.c: 265: } else {
  7056  4text25„%  0008                     return
  7057  4text25…›                     i1l2569:     
  7058                           
  7059                           ;I2C1.c: 267: i2c_data_p->operating_state = 0x1;
  7060  4text25…  ÷nvCOMMON+                movf    _i2c_data_p,w
  7061  4text25†'  3E47                     addlw   71
  7062  4text25‡&  0086                     movwf   6
  7063  4text25ˆ%  0187                     clrf    7
  7064  4text25‰%  0181                     clrf    1
  7065  4text25ŠŽ  0A81                    incf    1,f
  7066                           
  7067                           ;I2C1.c: 268: SSP1CON2bits.PEN = 1;
  7068  4text25‹¤  1516                    bsf     22,2    ;volatile
  7069                           
  7070                           ;I2C1.c: 269: i2c_data_p->master_status = 0x23;
  7071  4text25Œ'  3023                     movlw   35
  7072  4text25  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7073  4text25Ž  ÷nvCOMMON+                movf    _i2c_data_p,w
  7074  4text25'  3E4A                     addlw   74
  7075  4text25&  0086                     movwf   6
  7076  4text25‘%  0187                     clrf    7
  7077  4text25’  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7078  4text25“™  0081                    movwf   1
  7079                           
  7080                           ;I2C1.c: 270: i2c_data_p->return_status = 0x31;
  7081  4text25”'  3031                     movlw   49
  7082  4text25•  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7083  4text25–  ÷nvCOMMON+                movf    _i2c_data_p,w
  7084  4text25—'  3E48                     addlw   72
  7085  4text25˜&  0086                     movwf   6
  7086  4text25™%  0187                     clrf    7
  7087  4text25š  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7088  4text25›¯  0081                    movwf   1
  7089                           
  7090                           ;I2C1.c: 271: }
  7091                           ;I2C1.c: 272: break;
  7092  4text25œ%  0008                     return
  7093  4text25ö                     i1l2573:     
  7094                           ;I2C1.c: 273: case 0x6:
  7095                           
  7096                           
  7097                           ;I2C1.c: 275: i2c_data_p->operating_state = 0x8;
  7098  4text25&  3008                     movlw   8
  7099  4text25ž  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7100  4text25Ÿ  ÷nvCOMMON+                movf    _i2c_data_p,w
  7101  4text25 '  3E47                     addlw   71
  7102  4text25¡&  0086                     movwf   6
  7103  4text25¢%  0187                     clrf    7
  7104  4text25£  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7105  4text25¤ª  0081                    movwf   1
  7106                           
  7107                           ;I2C1.c: 276: uint8_t tmp = (i2c_data_p->master_dest_addr << 1);
  7108  4text25¥  ÷nvCOMMON+                movf    _i2c_data_p,w
  7109  4text25¦'  3E49                     addlw   73
  7110  4text25§&  0086                     movwf   6
  7111  4text25¨%  0187                     clrf    7
  7112  4text25©'  3501                     lslf    1,w
  7113  4text25ª  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7114  4text25«  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7115  4text25¬  €÷cstackCOMMONš                    movwf   I2C1_Interrupt_Master@tmp_611
  7116                           
  7117                           ;I2C1.c: 277: tmp |= 0x01;
  7118  4text25­  ÷cstackCOMMONœ                     bsf     I2C1_Interrupt_Master@tmp_611,0
  7119                           
  7120                           ;I2C1.c: 278: SSP1BUF = tmp;
  7121  4text25®  ÷cstackCOMMON=                      movf    I2C1_Interrupt_Master@tmp_611,w
  7122  4text25¯5  0024                     movlb   4       ; select bank4
  7123  4text25°‰  0091                    movwf   17      ;volatile
  7124                           
  7125                           ;I2C1.c: 279: break;
  7126  4text25±%  0008                     return
  7127  4text25²ï                     i1l166:      
  7128                           ;I2C1.c: 280: case 0x8:
  7129                           
  7130                           
  7131                           ;I2C1.c: 282: if (!SSP1CON2bits.ACKSTAT) {
  7132  4text25²5  0024                     movlb   4       ; select bank4
  7133  4text25³3  1B16                     btfsc   22,6    ;volatile
  7134  4text25´  (ûÿtext25¿
™                   goto    i1l2585
  7135                           
  7136                           ;I2C1.c: 284: i2c_data_p->operating_state = 0x3;
  7137  4text25µ&  3003                     movlw   3
  7138  4text25¶  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7139  4text25·  ÷nvCOMMON+                movf    _i2c_data_p,w
  7140  4text25¸'  3E47                     addlw   71
  7141  4text25¹&  0086                     movwf   6
  7142  4text25º%  0187                     clrf    7
  7143  4text25»  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7144  4text25¼Ž  0081                    movwf   1
  7145                           
  7146                           ;I2C1.c: 285: SSP1CON2bits.RCEN = 1;
  7147  4text25½‹  1596                    bsf     22,3    ;volatile
  7148                           
  7149                           ;I2C1.c: 286: } else {
  7150  4text25¾%  0008                     return
  7151  4text25¿›                     i1l2585:     
  7152                           
  7153                           ;I2C1.c: 288: i2c_data_p->operating_state = 0x1;
  7154  4text25¿  ÷nvCOMMON+                movf    _i2c_data_p,w
  7155  4text25À'  3E47                     addlw   71
  7156  4text25Á&  0086                     movwf   6
  7157  4text25Â%  0187                     clrf    7
  7158  4text25Ã%  0181                     clrf    1
  7159  4text25ÄŽ  0A81                    incf    1,f
  7160                           
  7161                           ;I2C1.c: 289: SSP1CON2bits.PEN = 1;
  7162  4text25Ť  1516                    bsf     22,2    ;volatile
  7163                           
  7164                           ;I2C1.c: 290: i2c_data_p->master_status = 0x23;
  7165  4text25Æ'  3023                     movlw   35
  7166  4text25Ç  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7167  4text25È  ÷nvCOMMON+                movf    _i2c_data_p,w
  7168  4text25É'  3E4A                     addlw   74
  7169  4text25Ê&  0086                     movwf   6
  7170  4text25Ë%  0187                     clrf    7
  7171  4text25Ì  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7172  4text25Í™  0081                    movwf   1
  7173                           
  7174                           ;I2C1.c: 291: i2c_data_p->return_status = 0x33;
  7175  4text25Î'  3033                     movlw   51
  7176  4text25Ï  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7177  4text25Ð  ÷nvCOMMON+                movf    _i2c_data_p,w
  7178  4text25Ñ'  3E48                     addlw   72
  7179  4text25Ò&  0086                     movwf   6
  7180  4text25Ó%  0187                     clrf    7
  7181  4text25Ô  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7182  4text25Õ¯  0081                    movwf   1
  7183                           
  7184                           ;I2C1.c: 292: }
  7185                           ;I2C1.c: 293: break;
  7186  4text25Ö%  0008                     return
  7187  4text25×                     i1l2589:      
  7188                           ;I2C1.c: 294: case 0x3:
  7189                           
  7190                           
  7191                           ;I2C1.c: 297: i2c_data_p->buffer_in[i2c_data_p->buffer_in_write_ind] = SSP1BUF;
  7192  4text25×5  0024                     movlb   4       ; select bank4
  7193  4text25Ø2  0811                     movf    17,w    ;volatile
  7194  4text25Ù  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7195  4text25Ú  ÷nvCOMMON+                movf    _i2c_data_p,w
  7196  4text25Û'  3E23                     addlw   35
  7197  4text25Ü&  0086                     movwf   6
  7198  4text25Ý%  0187                     clrf    7
  7199  4text25Þ'  0801                     movf    1,w
  7200  4text25ß  ÷nvCOMMON,                addwf   _i2c_data_p,w
  7201  4text25à  €÷cstackCOMMON9                     movwf   ??_I2C1_Interrupt_Master+1
  7202  4text25á  ÷cstackCOMMON:                      movf    ??_I2C1_Interrupt_Master+1,w
  7203  4text25â&  0086                     movwf   6
  7204  4text25ã%  0187                     clrf    7
  7205  4text25ä  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7206  4text25åš  0081                    movwf   1
  7207                           
  7208                           ;I2C1.c: 298: i2c_data_p->buffer_in_write_ind++;
  7209  4text25æ&  3001                     movlw   1
  7210  4text25ç  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7211  4text25è  ÷nvCOMMON+                movf    _i2c_data_p,w
  7212  4text25é'  3E23                     addlw   35
  7213  4text25ê&  0086                     movwf   6
  7214  4text25ë%  0187                     clrf    7
  7215  4text25ì  ÷cstackCOMMON8                    movf    ??_I2C1_Interrupt_Master,w
  7216  4text25í¼  0781                    addwf   1,f
  7217                           
  7218                           ;I2C1.c: 299: if (i2c_data_p->buffer_in_write_ind < i2c_data_p->buffer_in_len) {
  7219  4text25î  ÷nvCOMMON+                movf    _i2c_data_p,w
  7220  4text25ï'  3E23                     addlw   35
  7221  4text25ð&  0086                     movwf   6
  7222  4text25ñ%  0187                     clrf    7
  7223  4text25ò  ÷nvCOMMON+                movf    _i2c_data_p,w
  7224  4text25ó'  3E20                     addlw   32
  7225  4text25ô&  0084                     movwf   4
  7226  4text25õ%  0185                     clrf    5
  7227  4text25ö'  0800                     movf    0,w
  7228  4text25÷(  0201                     subwf   1,w
  7229  4text25ø%  1803                     skipnc
  7230  4text25ù  (ûÿtext25
™                   goto    i1l2599
  7231                           
  7232                           ;I2C1.c: 301: i2c_data_p->operating_state = 0xA;
  7233  4text25ú'  300A                     movlw   10
  7234  4text25û  €÷cstackCOMMON7                   movwf   ??_I2C1_Interrupt_Master
  7235  4text25ü  ÷nvCOMMON+                movf    _i2c_data_p,w
  7236  4text25ý'  3E47                     addlw   71
  7237  4text25þ&  0086                     movwf   6
  7238  4text25ÿ%  0187                     clrf    7
  7239  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7240  4text25  0081                     movwf   1
  7241                           
  7242                           ;I2C1.c: 302: SSP1CON2bits.ACKDT = 0;
  7243  4text25š  1296                     bcf     22,5    ;volatile
  7244                           
  7245                           ;I2C1.c: 303: SSP1CON2bits.ACKEN = 1;
  7246  4text25‹  1616                     bsf     22,4    ;volatile
  7247                           
  7248                           ;I2C1.c: 304: } else {
  7249  4text25%  0008                      return
  7250  4text25›                     i1l2599:      
  7251                           
  7252                           ;I2C1.c: 306: i2c_data_p->operating_state = 0xB;
  7253  4text25'  300B                      movlw   11
  7254  4text25  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7255  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7256  4text25'  3E47                      addlw   71
  7257  4text25     &  0086                  movwf   6
  7258  4text25
%  0187                  clrf    7
  7259  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7260  4text25  0081                     movwf   1
  7261                           
  7262                           ;I2C1.c: 307: SSP1CON2bits.ACKDT = 1;
  7263  4text25
š  1696                     bsf     22,5    ;volatile
  7264                           
  7265                           ;I2C1.c: 308: SSP1CON2bits.ACKEN = 1;
  7266  4text25º  1616                     bsf     22,4    ;volatile
  7267                           
  7268                           ;I2C1.c: 309: }
  7269                           ;I2C1.c: 310: break;
  7270  4text25%  0008                      return
  7271  4text25ö                     i1l2605:      
  7272                           ;I2C1.c: 311: case 0xA:
  7273                           
  7274                           
  7275                           ;I2C1.c: 313: i2c_data_p->operating_state = 0x3;
  7276  4text25&  3003                      movlw   3
  7277  4text25  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7278  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7279  4text25'  3E47                      addlw   71
  7280  4text25&  0086                      movwf   6
  7281  4text25%  0187                      clrf    7
  7282  4text25  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7283  4text25Ž  0081                     movwf   1
  7284                           
  7285                           ;I2C1.c: 314: SSP1CON2bits.RCEN = 1;
  7286  4text255  0024                      movlb   4       ; select bank4
  7287  4text25‰  1596                     bsf     22,3    ;volatile
  7288                           
  7289                           ;I2C1.c: 315: break;
  7290  4text25%  0008                      return
  7291  4text25ö                     i1l2609:      
  7292                           ;I2C1.c: 316: case 0xB:
  7293                           
  7294                           
  7295                           ;I2C1.c: 318: i2c_data_p->operating_state = 0x1;
  7296  4text25  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7297  4text25'  3E47                      addlw   71
  7298  4text25&  0086                      movwf   6
  7299  4text25%  0187                      clrf    7
  7300  4text25%  0181                      clrf    1
  7301  4text25 Ž  0A81                     incf    1,f
  7302                           
  7303                           ;I2C1.c: 319: SSP1CON2bits.PEN = 1;
  7304  4text25!5  0024                      movlb   4       ; select bank4
  7305  4text25"¤  1516                     bsf     22,2    ;volatile
  7306                           
  7307                           ;I2C1.c: 320: i2c_data_p->master_status = 0x23;
  7308  4text25#'  3023                      movlw   35
  7309  4text25$  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7310  4text25%  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7311  4text25&'  3E4A                      addlw   74
  7312  4text25'&  0086                      movwf   6
  7313  4text25(%  0187                      clrf    7
  7314  4text25)  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7315  4text25*™  0081                     movwf   1
  7316                           
  7317                           ;I2C1.c: 321: i2c_data_p->return_status = 0x32;
  7318  4text25+'  3032                      movlw   50
  7319  4text25,  €÷cstackCOMMON7                    movwf   ??_I2C1_Interrupt_Master
  7320  4text25-  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7321  4text25.'  3E48                      addlw   72
  7322  4text25/&  0086                      movwf   6
  7323  4text250%  0187                      clrf    7
  7324  4text251  ÷cstackCOMMON8                     movf    ??_I2C1_Interrupt_Master,w
  7325  4text252Ñ  0081                     movwf   1
  7326                           
  7327                           ;I2C1.c: 323: }
  7328                           
  7329                           ;I2C1.c: 322: break;
  7330  4text253%  0008                      return
  7331  4text254'                     i1l2615:       
  7332  4text254  ÷nvCOMMON+                 movf    _i2c_data_p,w
  7333  4text255'  3E47                      addlw   71
  7334  4text256&  0086                      movwf   6
  7335  4text257%  0187                      clrf    7
  7336  4text258ý  0801                     movf    1,w
  7337                           
  7338                           ; Switch size 1, requested type "space"
  7339                           ; Number of cases is 9, Range of values is 1 to 11
  7340                           ; switch strategies available:
  7341                           ; Name         Instructions Cycles
  7342                           ; simple_byte           28    15 (average)
  7343                           ; direct_byte           31     9 (fixed)
  7344                           ; jumptable            263     9 (fixed)
  7345                           ;      Chosen strategy is simple_byte
  7346  4text259/  3A01                      xorlw   1       ; case 1
  7347  4text25:%  1903                      skipnz
  7348  4text25;  (ûÿtext25V
$                    goto    i1l174
  7349  4text25</  3A02                      xorlw   2       ; case 3
  7350  4text25=%  1903                      skipnz
  7351  4text25>  (ûÿtext25×
%                    goto    i1l2589
  7352  4text25?/  3A06                      xorlw   6       ; case 5
  7353  4text25@%  1903                      skipnz
  7354  4text25A  (ûÿtext25?
%                    goto    i1l2555
  7355  4text25B/  3A03                      xorlw   3       ; case 6
  7356  4text25C%  1903                      skipnz
  7357  4text25D  (ûÿtext25
%                    goto    i1l2573
  7358  4text25E/  3A01                      xorlw   1       ; case 7
  7359  4text25F%  1903                      skipnz
  7360  4text25G  (ûÿtext25O
$                    goto    i1l159
  7361  4text25H0  3A0F                      xorlw   15      ; case 8
  7362  4text25I%  1903                      skipnz
  7363  4text25J  (ûÿtext25²
$                    goto    i1l166
  7364  4text25K/  3A01                      xorlw   1       ; case 9
  7365  4text25L%  1903                      skipnz
  7366  4text25M  (ûÿtext25x
$                    goto    i1l162
  7367  4text25N0  3A03                      xorlw   3       ; case 10
  7368  4text25O%  1903                      skipnz
  7369  4text25P  (ûÿtext25
%                    goto    i1l2605
  7370  4text25Q0  3A01                      xorlw   1       ; case 11
  7371  4text25R%  1903                      skipnz
  7372  4text25S  (ûÿtext25
%                    goto    i1l2609
  7373  4text25T  %(ûøÿÿtext25
text25V$                     goto    i1l174
  7374  4text25U%  0008                      return
  7375  4text25V&                     i1l174:        
  7376  4text25V%  0008                      return
  7377  4text25Wý                     __end_of_I2C1_Interrupt_Master:       
  7378  007E                     btemp  set     126     ;btemp
  7379  007E                     wtemp0 set     126


Data Sizes:
    Strings     0
    Constant    0
    Data        18
    BSS         0
    Persistent  2
    Stack       0

Auto Spaces:
    Space          Size  Autos    Used
    COMMON           14      9      10
    BANK0            80     55      74
    BANK1            80     77      77
    BANK2            80     77      77
    BANK3            ý80      0       0
    BANK4            80      0       0
    BANK5            80      0       0
    BANK6            80      0       0
    BANK7            80      0       0
    BANK8            80      0       0
    BANK9            80      0       0
    BANK10           80      0       0
    BANK11           80      0       0
    BANK12           48      0       0

Pointer List with Targets:

    TLC59116_Write_All@values   PTR unsigned char  size(1) Largest target is 16
                 -> main@leds(BANK0[16]), 

   ý I2C2_Read_Buffer@buffer PTR unsigned char  size(1) Largest target is 2
                 -> MCP23009_Query@buffer(BANK0[2]), 

    I2C2_Master_Send@msg        PTR unsigned char  size(1) Largest target is 25
                 -> MCP23009_Query@buffer(BANK0[2]), MCP23009_Init@buffer(BANK0[8]), TLC59116_Write_BC@buffer(COMMON[2]), TLC59116_Write_All@buffer(BANK0[17]), 
                 -> TLC59116_Write@buffer(COMMON[2]), TLC59116_Init@buffer(BANK0[25]), I2C2_Master_Restart@c(COMMON[1]), 

    I2C2_Init@data      PTR struct . size(1) Largest target is 77
                 -> ýmain@i2c2_data(BANK2[77]), 

    I2C2@i2c_data_p     PTR struct . size(1) Largest target is 77
                 -> NULL(NULL[0]), main@i2c2_data(BANK2[77]), 

    I2C1_Init@data      PTR struct . size(1) Largest target is 77
                 -> main@i2c1_data(BANK1[77]), 

    i2c_data_p  PTR struct . size(1) Largest target is 77
                 -> NULL(NULL[0]), main@i2c1_data(BANK1[77]), 


Critical Paths under _main in COMMON

    None.

Critical Paths under _InterruptHandler in COMMON

    _I2C2_Interrupt_Handler->_I2C2_Interrupt_Slave
    _I2C2_Inteýrrupt_Slave->_I2C2_Process_Receive
    _I2C1_Interrupt_Handler->_I2C1_Interrupt_Slave
    _I2C1_Interrupt_Slave->_I2C1_Process_Receive

Critical Paths under _main in BANK0

    _main->_TLC59116_Init
    _MCP23009_Query->_I2C2_Master_Send
    _MCP23009_Init->_I2C2_Master_Send
    _TLC59116_Write_All->_I2C2_Master_Send
    _TLC59116_Init->_I2C2_Master_Send

Critical Paths under _InterruptHandler in BANK0

    None.

Critical Paths under _main in BANK1

    None.

Critical Paths under _InterruptHandler in BýANK1

    None.

Critical Paths under _main in BANK2

    None.

Critical Paths under _InterruptHandler in BANK2

    None.

Critical Paths under _main in BANK3

    None.

Critical Paths under _InterruptHandler in BANK3

    None.

Critical Paths under _main in BANK4

    None.

Critical Paths under _InterruptHandler in BANK4

    None.

Critical Paths under _main in BANK5

    None.

Critical Paths under _InterruptHandler in BANK5

    None.

Critical Paths under _main in BANK6

    None.

Critical Patýhs under _InterruptHandler in BANK6

    None.

Critical Paths under _main in BANK7

    None.

Critical Paths under _InterruptHandler in BANK7

    None.

Critical Paths under _main in BANK8

    None.

Critical Paths under _InterruptHandler in BANK8

    None.

Critical Paths under _main in BANK9

    None.

Critical Paths under _InterruptHandler in BANK9

    None.

Critical Paths under _main in BANK10

    None.

Critical Paths under _InterruptHandler in BANK10

    None.

Critical Paths under _main ýin BANK11

    None.

Critical Paths under _InterruptHandler in BANK11

    None.

Critical Paths under _main in BANK12

    None.

Critical Paths under _InterruptHandler in BANK12

    None.

Call Graph Tables:

 ---------------------------------------------------------------------------------
 (Depth) Function               Calls       Base Space   Used Autos Params    Refs
 ---------------------------------------------------------------------------------
 (0) _main                                        ý       208   208      0    3554
                                             35 BANK0     20    20      0
                                              0 BANK1     77    77      0
                                              0 BANK2     77    77      0
                          _Pins_Init
                       _Read_Address
                          _I2C1_Init
               _I2C1_Configure_Slave
                          _I2C2_Init
              _I2C2_Configure_Master
                     _Interrupt_Iýnit
                   _Interrupt_Enable
                      _TLC59116_Init
                 _TLC59116_Write_All
                      _MCP23009_Init
                     _MCP23009_Query
 ---------------------------------------------------------------------------------
 (1) _MCP23009_Query                                       4     4      0     412
                                              7 BANK0      4     4      0
                   _I2C2_Master_Send
                   _I2C2_Master_Recv
       ý             _I2C2_Get_Status
                   _I2C2_Read_Buffer
 ---------------------------------------------------------------------------------
 (2) _I2C2_Read_Buffer                                     5     5      0      52
                                              0 BANK0      5     5      0
 ---------------------------------------------------------------------------------
 (2) _I2C2_Master_Recv                                     3     2      1      66
                                      ý        0 BANK0      3     2      1
 ---------------------------------------------------------------------------------
 (1) _MCP23009_Init                                       11    11      0     393
                                              7 BANK0     11    11      0
                   _I2C2_Master_Send
                    _I2C2_Get_Status
 ---------------------------------------------------------------------------------
 (1) _TLC59116_Write_All                                  22    22      0    ý 962
                                              7 BANK0     21    21      0
                   _I2C2_Master_Send
                    _I2C2_Get_Status
 ---------------------------------------------------------------------------------
 (1) _TLC59116_Init                                       28    28      0     801
                                              7 BANK0     28    28      0
                   _I2C2_Master_Send
                    _I2C2_Get_Status
 ------------------------------------------ý---------------------------------------
 (2) _I2C2_Get_Status                                      0     0      0       0
 ---------------------------------------------------------------------------------
 (2) _I2C2_Master_Send                                     7     5      2     178
                                              0 BANK0      7     5      2
 ---------------------------------------------------------------------------------
 (1) _Interrupt_Enable                                     0     ý0      0       0
 ---------------------------------------------------------------------------------
 (1) _Interrupt_Init                                       0     0      0       0
 ---------------------------------------------------------------------------------
 (1) _I2C2_Configure_Master                                2     2      0      22
                                              0 BANK0      2     2      0
 ---------------------------------------------------------------------------------
 (1) ý_I2C2_Init                                            2     2      0      22
                                              0 BANK0      2     2      0
 ---------------------------------------------------------------------------------
 (1) _I2C1_Configure_Slave                                 2     2      0      22
                                              0 BANK0      2     2      0
 ---------------------------------------------------------------------------------
 (1) _I2C1_Init                     ý                       2     2      0      22
                                              0 BANK0      2     2      0
 ---------------------------------------------------------------------------------
 (1) _Read_Address                                         4     4      0      27
                                              0 BANK0      4     4      0
 ---------------------------------------------------------------------------------
 (1) _Pins_Init                                            0     0 ý     0       0
 ---------------------------------------------------------------------------------
 Estimated maximum stack depth 2
 ---------------------------------------------------------------------------------
 (Depth) Function               Calls       Base Space   Used Autos Params    Refs
 ---------------------------------------------------------------------------------
 (3) _InterruptHandler                                     1     1      0     642
                                              8 COýMMON     1     1      0
             _I2C1_Interrupt_Handler
             _I2C2_Interrupt_Handler
 ---------------------------------------------------------------------------------
 (4) _I2C2_Interrupt_Handler                               0     0      0     321
              _I2C2_Interrupt_Master
               _I2C2_Interrupt_Slave
 ---------------------------------------------------------------------------------
 (5) _I2C2_Interrupt_Slave                                 6     6      0     273
       ý                                       2 COMMON     6     6      0
               _I2C2_Process_Receive
 ---------------------------------------------------------------------------------
 (6) _I2C2_Process_Receive                                 3     3      0      45
                                              0 COMMON     2     2      0
 ---------------------------------------------------------------------------------
 (5) _I2C2_Interrupt_Master                                4     4      0      48
 ý                                             0 COMMON     4     4      0
 ---------------------------------------------------------------------------------
 (4) _I2C1_Interrupt_Handler                               0     0      0     321
              _I2C1_Interrupt_Master
               _I2C1_Interrupt_Slave
 ---------------------------------------------------------------------------------
 (5) _I2C1_Interrupt_Slave                                 6     6      0     273
                                ý              2 COMMON     6     6      0
               _I2C1_Process_Receive
 ---------------------------------------------------------------------------------
 (6) _I2C1_Process_Receive                                 3     3      0      45
                                              0 COMMON     2     2      0
 ---------------------------------------------------------------------------------
 (5) _I2C1_Interrupt_Master                                4     4      0      48
                          ý                    0 COMMON     4     4      0
 ---------------------------------------------------------------------------------
 Estimated maximum stack depth 6
 ---------------------------------------------------------------------------------

 Call Graph Graphs:

 _main (ROOT)
   _Pins_Init
   _Read_Address
   _I2C1_Init
   _I2C1_Configure_Slave
   _I2C2_Init
   _I2C2_Configure_Master
   _Interrupt_Init
   _Interrupt_Enable
   _TLC59116_Init
     _I2C2_Master_Send
     _I2C2_Get_Status
   _TLC59116_ýWrite_All
     _I2C2_Master_Send
     _I2C2_Get_Status
   _MCP23009_Init
     _I2C2_Master_Send
     _I2C2_Get_Status
   _MCP23009_Query
     _I2C2_Master_Send
     _I2C2_Master_Recv
     _I2C2_Get_Status
     _I2C2_Read_Buffer

 _InterruptHandler (ROOT)
   _I2C1_Interrupt_Handler
     _I2C1_Interrupt_Master
     _I2C1_Interrupt_Slave
       _I2C1_Process_Receive
   _I2C2_Interrupt_Handler
     _I2C2_Interrupt_Master
     _I2C2_Interrupt_Slave
       _I2C2_Process_Receive

 Address spaces:
Name          ý     Size   Autos  Total    Cost      Usage
BIGRAM             3F0      0       0       0        0.0%
EEDATA             100      0       0       0        0.0%
NULL                 0      0       0       0        0.0%
CODE                 0      0       0       0        0.0%
BITCOMMON            E      0       0       1        0.0%
BITSFR0              0      0       0       1        0.0%
SFR0                 0      0       0       1        0.0%
COMMON               E      9       A       2       71.4%
BýITSFR1              0      0       0       2        0.0%
SFR1                 0      0       0       2        0.0%
BITSFR2              0      0       0       3        0.0%
SFR2                 0      0       0       3        0.0%
STACK                0      0       A       3        0.0%
BITBANK0            50      0       0       4        0.0%
BITSFR3              0      0       0       4        0.0%
SFR3                 0      0       0       4        0.0%
BANK0               50     37      4A       5 ý      92.5%
BITSFR4              0      0       0       5        0.0%
SFR4                 0      0       0       5        0.0%
BITBANK1            50      0       0       6        0.0%
BITSFR5              0      0       0       6        0.0%
SFR5                 0      0       0       6        0.0%
BANK1               50     4D      4D       7       96.3%
BITSFR6              0      0       0       7        0.0%
SFR6                 0      0       0       7        0.0%
BITBANK2            50      0    ý   0       8        0.0%
BITSFR7              0      0       0       8        0.0%
SFR7                 0      0       0       8        0.0%
BANK2               50     4D      4D       9       96.3%
BITSFR8              0      0       0       9        0.0%
SFR8                 0      0       0       9        0.0%
BITBANK3            50      0       0      10        0.0%
BITSFR9              0      0       0      10        0.0%
SFR9                 0      0       0      10        0.0%
BANK3               ý50      0       0      11        0.0%
BITSFR10             0      0       0      11        0.0%
SFR10                0      0       0      11        0.0%
BITBANK4            50      0       0      12        0.0%
BITSFR11             0      0       0      12        0.0%
SFR11                0      0       0      12        0.0%
BANK4               50      0       0      13        0.0%
BITSFR12             0      0       0      13        0.0%
SFR12                0      0       0      13        0.0%
BITBANKý5            50      0       0      14        0.0%
BITSFR13             0      0       0      14        0.0%
SFR13                0      0       0      14        0.0%
BANK5               50      0       0      15        0.0%
BITSFR14             0      0       0      15        0.0%
SFR14                0      0       0      15        0.0%
BITBANK6            50      0       0      16        0.0%
BITSFR15             0      0       0      16        0.0%
SFR15                0      0       0      16       ý 0.0%
BANK6               50      0       0      17        0.0%
BITSFR16             0      0       0      17        0.0%
SFR16                0      0       0      17        0.0%
BITBANK7            50      0       0      18        0.0%
BITSFR17             0      0       0      18        0.0%
SFR17                0      0       0      18        0.0%
BANK7               50      0       0      19        0.0%
BITSFR18             0      0       0      19        0.0%
SFR18                0      0       0  ý    19        0.0%
BITSFR19             0      0       0      20        0.0%
SFR19                0      0       0      20        0.0%
ABS                  0      0      EE      20        0.0%
BITBANK8            50      0       0      21        0.0%
BITSFR20             0      0       0      21        0.0%
SFR20                0      0       0      21        0.0%
BANK8               50      0       0      22        0.0%
BITSFR21             0      0       0      22        0.0%
SFR21                0    ý  0       0      22        0.0%
BITBANK9            50      0       0      23        0.0%
BITSFR22             0      0       0      23        0.0%
SFR22                0      0       0      23        0.0%
BANK9               50      0       0      24        0.0%
BITSFR23             0      0       0      24        0.0%
SFR23                0      0       0      24        0.0%
BITBANK10           50      0       0      25        0.0%
BITSFR24             0      0       0      25        0.0%
SFR24        ý        0      0       0      25        0.0%
BANK10              50      0       0      26        0.0%
BITSFR25             0      0       0      26        0.0%
SFR25                0      0       0      26        0.0%
BITBANK11           50      0       0      27        0.0%
BITSFR26             0      0       0      27        0.0%
SFR26                0      0       0      27        0.0%
BANK11              50      0       0      28        0.0%
BITSFR27             0      0       0      28        0.0%
ýSFR27                0      0       0      28        0.0%
BITBANK12           30      0       0      29        0.0%
BITSFR28             0      0       0      29        0.0%
SFR28                0      0       0      29        0.0%
BANK12              30      0       0      30        0.0%
BITSFR29             0      0       0      30        0.0%
SFR29                0      0       0      30        0.0%
BITSFR30             0      0       0      31        0.0%
SFR30                0      0       0      31ž        0.0%
DATA                 0      0      F8      31        0.0%
BITSFR31             0      0       0      32        0.0%
SFR31                0      0       0      32        0.0%


Microchip Technology PIC Macro Assembler V1.20 build 52243 
Symbol Table                                                                                   Sun Jan 26 16:29:58 2014

                          ??_Interrupt_Init 4cstackBANK0.                          ??_Interrupt_Enable 4cstackBANK0/  
                  TLC59116_Write_All@values 4cstackBANK0.                    TLC59116_Write_All@result 4cstackBANK0a  
                               __CFG_CP$OFF 0000           I2C2_Interrupt_Slave@received_data 4cstackCOMMON/  
                             main@i2c1_data 4cstackBANK1.                               main@i2c2_data 4cstackBANK2/  
                                       l500 4text1!.                                         l445 4text2/  
                                       l448 4text2>+                                __CFG_CPD$OFF 0000  
                              __CFG_BORV$LO 0000                                         wreg 0009  
                              __CFG_IESO$ON 0000                                __CFG_LVP$OFF 0000  
                                      l2171 4maintextd.                                        l2333 4text6;/  
                                      l2165 4maintextM.                                        l2157 4maintextA/  
                                      l2175 4maintextl.                                        l2169 4maintext\/  
                                      l2277 4text11.                                        l2373 4text5e/  
                                      l2385 4text4.                                        l2393 4text1/  
                                      l2661 4text8.                                        l2663 4text8 /  
                                      l2909 4text25.                                        l2881 4text7/  
                                      l2875 4text7.                                        l2885 4text7$/  
                                      l2895 4text77.                                        l2889 4text75/  
                                      u1104 4maintextR.                                        u1105 4maintextQ/  
                                      u1080 4maintext6.                                        u1065 4text15/  
                                      u1075 4text15“                                __CFG_WRT$OFF 0000  
                             __CFG_FCMEN$ON 0000                                        _main 4maintextà 
                                      fsr0h 0005                                        fsr1h 0007  
                                      fsr0l 0004                                        indf0 0000  
                                      indf1 0001                                        fsr1l 0006  
                                      btemp 007E                               __CFG_BOREN$ON 0000  
                                      start 4 start.                  I2C2_Configure_Master@speed 4cstackBANK0a  
                             __CFG_MCLRE$ON 0000                    ??_I2C1_Interrupt_Handler 4cstackCOMMON/  
                             ?_Read_Address 4cstackCOMMON.                           ??_I2C2_Get_Status 4cstackBANK0”  
                             __CFG_PLLEN$ON 0000                      __size_of_TLC59116_Init 0046  
                     _I2C2_Configure_Master 4text11.                           __end_of_I2C1_Init 4text14N/  
                         __end_of_I2C2_Init 4text12[.                                       ?_main 4cstackCOMMONa  
                             __CFG_WDTE$OFF 0000                                       i1l200 4text23‹/  
                                     i1l211 4text23.                                       i1l205 4text23¶/  
                                     i1l134 4text25.                                       i1l145 4text25›/  
                                     i1l209 4text23$.                                       i1l162 4text25x/  
                                     i1l412 4text19ä.                                       i1l181 4text23#/  
                                     i1l341 4text21.                                       i1l166 4text25²/  
                                     i1l174 4text25V.                                       i1l159 4text25O/  
                                     i1l407 4text19².                                       i1l271 4intentry/  
                                     i1l184 4text23,.                                       i1l352 4text21¶/  
                                     i1l416 4text19d.                                       i1l272 4intentry/  
                                     i1l418 4text19P.                                       i1l373 4text21/  
                                     i1l381 4text21Á.                                       i1l366 4text21‰/  
                                     i1l391 4text194.                                       i1l369 4text21½/  
                                     i1l388 4text19'.                       __end_of_MCP23009_Init 4text4)/  
                   I2C2_Process_Receive@ret 4cstackCOMMON.                                       main@i 4cstackBANK06”  
             __size_of_I2C1_Interrupt_Slave 0166                                       wtemp0 007E  
                                _i2c_data_p 4nvCOMMON.                             __initialization 4cinit/  
                            ??_Read_Address 4cstackBANK0.                                __end_of_main 4maintextq/  
                            _MCP23009_Query 4text1.                                      ??_main 4cstackBANK0#/  
              __end_of_I2C1_Process_Receive 4text24
.                       _I2C1_Interrupt_Master 4text25/  
         I2C1_Interrupt_Slave@received_data 4cstackCOMMON.                               main@btn_value 4cstackBANK05Æ  
                                    _ANSELA 018C                                      _ANSELB 018D  
                                    _ANSELC 018E                                      i1l3003 4text23È/  
                                    i1l3005 4text23Ö.                                      i1l3031 4text23;/  
                                    i1l3007 4text23â.                                      i1l3009 4text23é/  
                                    i1l3113 4text19Û.                                      i1l3121 4text19      /  
                                    i1l3027 4text232.                                      i1l3019 4text23
/  
                                    i1l3035 4text23J.                                      i1l3123 4text19/  
                                    i1l2501 4text25m.                                      i1l3037 4text23\/  
                                    i1l3125 4text19 .                                      i1l3053 4text19/  
                                    i1l2503 4text25}.                                      i1l3135 4text19G/  
                                    i1l3119 4text19ø.                                      i1l3151 4text19Š/  
                                    i1l3081 4text19Q.                                      i1l3153 4text19ž/  
                                    i1l2523 4text25À.                                      i1l2507 4text25†/  
                                    i1l3163 4text22.                                      i1l3147 4text19x/  
                                    i1l3059 4text19#.                                      i1l3171 4text18
/  
                                    i1l2605 4text25.                                      i1l2533 4text25î/  
                                    i1l3093 4text19€.                                      i1l3077 4text19G/  
                                    i1l3069 4text199.                                      i1l2615 4text254/  
                                    i1l2543 4text25.                                      i1l2519 4text25¨/  
                                    i1l2551 4text256.                                      i1l2623 4text24/  
                                    i1l2609 4text25.                                      i1l2561 4text25`/  
                                    i1l3097 4text19¨.                                      i1l3089 4text19~/  
                                    i1l2555 4text25?.                                      i1l2539 4text25ù/  
                                    i1l2491 4text25=.                                      i1l2483 4text25       /  
                                    i1l2811 4text21Ì.                                      i1l2803 4text21Ÿ/  
                                    i1l3099 4text19«.                                      i1l2573 4text25/  
                                    i1l2549 4text25.                                      i1l2733 4text21I/  
                                    i1l2725 4text21.                                      i1l2495 4text25U/  
                                    i1l2831 4text21/.                                      i1l2815 4text21ê/  
                                    i1l2743 4text21„.                                      i1l2585 4text25¿/  
                                    i1l2569 4text25….                                      i1l2841 4text21e/  
                                    i1l2761 4text21Æ.                                      i1l2737 4text21f/  
                                    i1l2745 4text21•.                                      i1l2851 4text21€/  
                                    i1l2827 4text21.                                      i1l2589 4text25×/  
                                    i1l2781 4text21(.                                      i1l2765 4text21ä/  
                                    i1l2749 4text21Ÿ.                                      i1l2599 4text25/  
                                    i1l2943 4text23.                                      i1l2847 4text21s/  
                                    i1l2775 4text21.                                      i1l2791 4text21S/  
                                    i1l2937 4text23.                                      i1l2857 4text21ž/  
                                    i1l2785 4text215.                                      i1l2793 4text21m/  
                                    i1l2865 4text20.                                      i1l2981 4text23‚/  
                                    i1l2965 4text23:.                                      i1l2797 4text21w/  
                                    i1l2983 4text23….                                      i1l2977 4text23`/  
                                    i1l2997 4text23®.                     I2C2_Master_Recv@address 4cstackBANK0/  
                             _TLC59116_Init 4text6Æ                                      _SSPADD 0212  
                            __CFG_PWRTE$OFF 0000               __size_of_I2C2_Interrupt_Slave 01A8  
                    __end_of_MCP23009_Query 4text11Æ             __size_of_I2C1_Interrupt_Handler 0016  
                            __CFG_STVREN$ON 0000                          __size_of_Pins_Init 001A  
                    ?_I2C2_Configure_Master 4cstackCOMMON.                I2C2_Interrupt_Master@tmp_923 4cstackCOMMON/  
                   I2C2_Master_Send@address 4cstackBANK0.                __end_of_I2C2_Process_Receive 4text20
/  
                         ?_I2C2_Read_Buffer 4cstackCOMMON.                              ?_TLC59116_Init 4cstackCOMMON/  
                        ??_I2C2_Read_Buffer 4cstackBANK0.                     __end_of__initialization 4cinit/  
                         ?_I2C2_Master_Recv 4cstackBANK0.                           ?_I2C2_Master_Send 4cstackBANK0/  
                        ??_I2C2_Master_Recv 4cstackBANK0.                          ??_I2C2_Master_Send 4cstackBANK0/  
                            __pcstackCOMMON 4cstackCOMMON.                                __pidataBANK0 4idataBANK0/  
                         I2C2_Read_Buffer@i 4cstackBANK0.                             ?_MCP23009_Query 4cstackCOMMON/  
                  I2C2_Interrupt_Master@tmp 4cstackCOMMON.                      ?_I2C1_Interrupt_Master 4cstackCOMMONa  
                 __size_of_InterruptHandler 0015                __end_of_I2C1_Configure_Slave 4text13Æ  
                            _OPTION_REGbits 0095                   __size_of_Interrupt_Enable 0003  
               __size_of_TLC59116_Write_All 0070                        MCP23009_Query@buffer 4cstackBANK0/  
                    _I2C1_Interrupt_Handler 4text22.                        __end_of_Read_Address 4text153/  
                      MCP23009_Query@result 4cstackBANK0
.                           __end_of_Pins_Init 4text16/  
                           _I2C2_Get_Status 4text7.                                  __pnvCOMMON 4nvCOMMON/  
                     _I2C2_Interrupt_Master 4text21.                        _I2C1_Process_Receive 4text24/  
                       I2C2_Master_Send@msg 4cstackBANK0.                           I2C2_Master_Send@i 4cstackBANK0/  
                                __pmaintext 4maintext.                                  __pintentry 4intentry/  
                                 _I2C1_Init 4text14.                                   _I2C2_Init 4text12ù  
                                   _SSP1ADD 0212                                     _SSP2ADD 021A  
                                   _SSP1BUF 0211                                     _SSP2BUF 0219  
                           ??_TLC59116_Init 4cstackBANK0.                              I2C2@i2c_data_p 4nvBANK0/  
                     ?_I2C1_Process_Receive 4cstackCOMMON.                    ??_I2C2_Interrupt_Handler 4cstackCOMMON/  
 I2C2_Interrupt_Slave@data_read_from_buffer 4cstackCOMMON.   I2C1_Interrupt_Slave@data_read_from_buffer 4cstackCOMMON/  
              __end_of_I2C1_Interrupt_Slave 4text23f.                        _I2C2_Process_Receive 4text20/  
                                   __ptext1 4text1.                                     __ptext2 4text2/  
                                   __ptext3 4text3.                                     __ptext4 4text4/  
                                   __ptext5 4text5.                                     __ptext6 4text6/  
                                   __ptext7 4text7.                                     __ptext8 4text8/  
                                   __ptext9 4text9a                     __size_of_Interrupt_Init 0001  
                                ?_I2C1_Init 4cstackCOMMON.                                  ?_I2C2_Init 4cstackCOMMON/  
                   __end_of_I2C2_Get_Status 4text7>.                         MCP23009_Init@buffer 4cstackBANK0   /  
                     I2C1_Process_Receive@c 4cstackCOMMON.                        end_of_initialization 4cinit/  
                       MCP23009_Init@result 4cstackBANK0.                      ?_I2C2_Interrupt_Master 4cstackCOMMON/  
                                   init_ram 4inittext.                                     initloop 4inittext/  
                      _I2C1_Configure_Slave 4text13.                     ??_I2C2_Configure_Master 4cstackBANK0a  
                    __size_of_MCP23009_Init 0029                       ?_I2C2_Process_Receive 4cstackCOMMON/  
                          _InterruptHandler 4intentrya                       __size_of_Read_Address 0033  
              __end_of_I2C2_Interrupt_Slave 4text19¨.                            _Interrupt_Enable 4text9ù  
                          __CFG_FOSC$INTOSC 0000                                   _TRISAbits 008C  
                                 _TRISBbits 008D                                   _TRISCbits 008E  
                    ??_I2C1_Process_Receive 4cstackCOMMON.                       ?_I2C1_Configure_Slave 4cstackCOMMON/  
                          ??_MCP23009_Query 4cstackBANK0a                   __size_of_I2C2_Read_Buffer 0046  
                   ??_I2C1_Interrupt_Master 4cstackCOMMONa             __size_of_I2C2_Interrupt_Handler 001A  
                              _Read_Address 4text15.                I2C1_Interrupt_Master@tmp_611 4cstackCOMMON”  
                 __size_of_I2C2_Master_Recv 0038                   __size_of_I2C2_Master_Send 0053  
                   ?_I2C1_Interrupt_Handler 4cstackCOMMON.                         start_initialization 4cinit/  
                               ??_I2C1_Init 4cstackBANK0.                                 ??_I2C2_Init 4cstackBANK0/  
                          ?_I2C2_Get_Status 4cstackCOMMON.                               _MCP23009_Init 4text4/  
                      _I2C1_Interrupt_Slave 4text23.           I2C2_Interrupt_Slave@overrun_error 4cstackCOMMON/  
                                 _Pins_Init 4text16.                      I2C2_Master_Recv@length 4cstackBANK0/  
                    ??_I2C2_Process_Receive 4cstackCOMMON.                                 __pdataBANK0 4dataBANK0/  
                  I2C1_Interrupt_Master@tmp 4cstackCOMMON.              __end_of_I2C1_Interrupt_Handler 4text22/  
                __end_of_TLC59116_Write_All 4text5p.                          main@i2c_slave_addr 4cstackBANK04/  
                    I2C2_Master_Send@length 4cstackBANK0.                              _Interrupt_Init 4text10/  
                       MCP23009_Query@F3053 4dataBANK0.                               __pcstackBANK0 4cstackBANK0/  
                             __pcstackBANK1 4cstackBANK1.                               __pcstackBANK2 4cstackBANK2/  
                            ?_MCP23009_Init 4cstackCOMMON.                      _I2C2_Interrupt_Handler 4text18/  
                       TLC59116_Init@buffer 4cstackBANK0    .                       ?_I2C1_Interrupt_Slave 4cstackCOMMON/  
                       TLC59116_Init@result 4cstackBANK0".                      ??_I2C1_Configure_Slave 4cstackBANK0/  
                                ?_Pins_Init 4cstackCOMMON.                                   __pnvBANK0 4nvBANK0/  
                      _I2C2_Interrupt_Slave 4text19.                      __end_of_Interrupt_Init 4text10/  
                   ??_I2C2_Interrupt_Master 4cstackCOMMON.                      I2C2_Read_Buffer@buffer 4cstackBANK0/  
                     __end_of_TLC59116_Init 4text6F.                    __end_of_InterruptHandler 4intentryÆ  
                                  _LATCbits 010E                                    _PIE1bits 0091  
                                  _PIE4bits 0094                       ?_I2C2_Interrupt_Slave 4cstackCOMMON/  
                  __end_of_Interrupt_Enable 4text9.                             Read_Address@ret 4cstackBANK0/  
         I2C1_Interrupt_Slave@overrun_error 4cstackCOMMON“                                    _PIR1bits 0011  
                                  _PIR4bits 0014                            _I2C2_Read_Buffer 4text2/  
                                 main@F3130 4dataBANK0+                                    _SSP1CON1 0215  
                                  _SSP1CON2 0216                                    _SSP2CON1 021D  
                                  _SSP2CON2 021E              __size_of_I2C2_Configure_Master 0022  
             __end_of_I2C2_Configure_Master 4text11"“                                    _SSP1STAT 0214  
                                  _SSP2STAT 021C                             ?_Interrupt_Init 4cstackCOMMON/  
                          _I2C2_Master_Recv 4text3.                            _I2C2_Master_Send 4text8a  
                                  _WPUCbits 020E                             ??_MCP23009_Init 4cstackBANK0/  
                    ??_I2C1_Interrupt_Slave 4cstackCOMMON.                     I2C1_Process_Receive@ret 4cstackCOMMON/  
                     I2C2_Process_Receive@c 4cstackCOMMON.                                 ??_Pins_Init 4cstackBANK0a  
            __size_of_I2C1_Interrupt_Master 0257               __end_of_I2C1_Interrupt_Master 4text25W/  
                                  __ptext10 4text10.                                    __ptext11 4text11/  
                                  __ptext20 4text20.                                    __ptext12 4text12/  
                                  __ptext21 4text21.                                    __ptext13 4text13/  
                                  __ptext22 4text22.                                    __ptext14 4text14/  
                                  __ptext23 4text23.                                    __ptext15 4text15/  
                                  __ptext24 4text24.                                    __ptext16 4text16/  
                                  __ptext25 4text25.                                    __ptext18 4text18/  
                                  __ptext19 4text19“                                _SSP1CON1bits 0215  
                              _SSP1CON2bits 0216  I2C2_Interrupt_Slave@data_written_to_buffer 4cstackCOMMON/  
I2C1_Interrupt_Slave@data_written_to_buffer 4cstackCOMMON“                                _SSP2CON1bits 021D  
                              _SSP2CON2bits 021E                    I2C1_Configure_Slave@addr 4cstackBANK0a  
                             __size_of_main 0071                      ??_I2C2_Interrupt_Slave 4cstackCOMMON”  
             __size_of_I2C1_Process_Receive 000A                                _SSP1STATbits 0214  
                                  main@leds 4cstackBANK0$a                                _SSP2STATbits 021C  
                   ?_I2C2_Interrupt_Handler 4cstackCOMMONa                                  _INTCONbits 000B  
                                  intlevel1 4 intlevel1.                          _TLC59116_Write_All 4text5”  
                  __size_of_I2C2_Get_Status 003E                           __CFG_CLKOUTEN$OFF 0000  
                       ?_TLC59116_Write_All 4cstackCOMMONa                                  _OSCCONbits 0099  
                             I2C1_Init@data 4cstackBANK0a               __size_of_I2C2_Process_Receive 000A  
                             I2C2_Init@data 4cstackBANK0a                     __size_of_MCP23009_Query 0031  
            __end_of_I2C2_Interrupt_Handler 4text18.                        ??_TLC59116_Write_All 4cstackBANK0/  
                  __end_of_I2C2_Read_Buffer 4text2Fa              __size_of_I2C2_Interrupt_Master 02C2  
             __end_of_I2C2_Interrupt_Master 4text21“                          __size_of_I2C1_Init 004E  
                        __size_of_I2C2_Init 005B                    __end_of_I2C2_Master_Recv 4text38/  
                  __end_of_I2C2_Master_Send 4text8S.                           ?_InterruptHandler 4cstackCOMMONa  
             __size_of_I2C1_Configure_Slave 001C                          ??_InterruptHandler 4cstackCOMMON/  
                         ?_Interrupt_Enable 4cstackCOMMON.                    TLC59116_Write_All@buffer 4cstackBANK0