1                       radix   dec
2                       ; Code bank 0; Start address: 0; End address: 4095
3      0000 :           org     0
4               
5                       ; Define start addresses for data regions
6    00000070 = shared___globals equ 112
7    00000020 = globals___0 equ 32
8    000000a0 = globals___1 equ 160
9    00000120 = globals___2 equ 288
10   00000000 = __indf equ 0
11   00000002 = __pcl equ 2
12   00000003 = __status equ 3
13   00000004 = __fsr equ 4
14   00000003 = __c___byte equ 3
15   00000000 = __c___bit equ 0
16   00000003 = __z___byte equ 3
17   00000002 = __z___bit equ 2
18   00000003 = __rp0___byte equ 3
19   00000005 = __rp0___bit equ 5
20   00000003 = __rp1___byte equ 3
21   00000006 = __rp1___bit equ 6
22   00000003 = __irp___byte equ 3
23   00000007 = __irp___bit equ 7
24   0000000a = __pclath equ 10
25   0000000a = __cb0___byte equ 10
26   00000003 = __cb0___bit equ 3
27   0000000a = __cb1___byte equ 10
28   00000004 = __cb1___bit equ 4
29              
30                      ; # Copyright (c) 2005-2006 by Wayne C. Gramlich
31                      ; # All rights reserved.
32              
33                      ; buffer = 'bus'
34                      ; line_number = 6
35                      ; library _pic16f688 entered
36              
37                      ; # Copyright (c) 2004-2006 by Wayne C. Gramlich
38                      ; # All rights reserved.
39              
40                      ; buffer = '_pic16f688'
41                      ; line_number = 6
42                      ; processor pic16f688
43                      ; line_number = 7
44                      ; configure_address 0x2007
45                      ; line_number = 8
46                      ;  configure_fill 0x3000
47                      ; line_number = 9
48                      ;  configure_option fcmen: on = 0x800
49                      ; line_number = 10
50                      ;  configure_option fcmen: off = 0x000
51                      ; line_number = 11
52                      ;  configure_option ieso: on = 0x400
53                      ; line_number = 12
54                      ;  configure_option ieso: off = 0x000
55                      ; line_number = 13
56                      ;  configure_option boden: on = 0x300
57                      ; line_number = 14
58                      ;  configure_option boden: partial = 0x200
59                      ; line_number = 15
60                      ;  configure_option boden: sboden = 0x100
61                      ; line_number = 16
62                      ;  configure_option boden: off = 0x000
63                      ; line_number = 17
64                      ;  configure_option cpd: on = 0x00
65                      ; line_number = 18
66                      ;  configure_option cpd: off = 0x80
67                      ; line_number = 19
68                      ;  configure_option cp: on = 0x00
69                      ; line_number = 20
70                      ;  configure_option cp: off = 0x40
71                      ; line_number = 21
72                      ;  configure_option mclre: on = 0x20
73                      ; line_number = 22
74                      ;  configure_option mclre: off = 0x00
75                      ; line_number = 23
76                      ;  configure_option pwrte: on = 0x00
77                      ; line_number = 24
78                      ;  configure_option pwrte: off = 0x10
79                      ; line_number = 25
80                      ;  configure_option wdte: on = 8
81                      ; line_number = 26
82                      ;  configure_option wdte: off = 0
83                      ; line_number = 27
84                      ;  configure_option fosc: rc_clk = 7
85                      ; line_number = 28
86                      ;  configure_option fosc: rc_no_clk = 6
87                      ; line_number = 29
88                      ;  configure_option fosc: int_clk = 5
89                      ; line_number = 30
90                      ;  configure_option fosc: int_no_clk = 4
91                      ; line_number = 31
92                      ;  configure_option fosc: ec = 3
93                      ; line_number = 32
94                      ;  configure_option fosc: hs = 2
95                      ; line_number = 33
96                      ;  configure_option fosc: xt = 1
97                      ; line_number = 34
98                      ;  configure_option fosc: lp = 0
99              
100                     ; line_number = 36
101                     ;  code_bank 0x0 : 0xfff
102                     ; line_number = 37
103                     ;  data_bank 0x0 : 0x7f
104                     ; line_number = 38
105                     ;  data_bank 0x80 : 0xff
106                     ; line_number = 39
107                     ;  data_bank 0x100 : 0x17f
108                     ; line_number = 40
109                     ;  data_bank 0x180 : 0x1ff
110             
111                     ; line_number = 42
112                     ;  global_region 0x20 : 0x6f
113                     ; line_number = 43
114                     ;  icd2_global_region 0x20 : 0x6f
115             
116                     ; line_number = 45
117                     ;  global_region 0xa0 : 0xef
118                     ; line_number = 46
119                     ;  icd2_global_region 0xa0 : 0xef
120             
121                     ; line_number = 48
122                     ;  global_region 0x120 : 0x16f
123                     ; line_number = 49
124                     ;  icd2_global_region 0x120 : 0x164
125             
126                     ; line_number = 51
127                     ;  shared_region 0x70 : 0x7f
128                     ; line_number = 52
129                     ;  icd2_shared_region 0x71 : 0x7f
130             
131                     ; line_number = 54
132                     ;  interrupts_possible
133                     ; line_number = 55
134                     ;  packages pdip=14, soic=14, tssop=14
135                     ; line_number = 56
136                     ;  pin vdd, power_supply
137                     ; line_number = 57
138                     ; pin_bindings pdip=1, soic=1, tssop=1
139                     ; line_number = 58
140                     ; pin ra5_in, ra5_nc, ra5_out, t1cki, osc1, clkin
141                     ; line_number = 59
142                     ; pin_bindings pdip=2, soic=2, tssop=2
143                     ; line_number = 60
144                     ;  bind_to _porta@5
145                     ; line_number = 61
146                     ;  or_if ra5_in _trisa 32
147                     ; line_number = 62
148                     ;  or_if ra5_nc _trisa 32
149                     ; line_number = 63
150                     ;  or_if ra5_out _trisa 0
151                     ; line_number = 64
152                     ;  or_if osc1 _trisa 32
153                     ; line_number = 65
154                     ; pin ra4_in, ra4_nc, ra4_out, t1g, osc2, an3, clkout
155                     ; line_number = 66
156                     ; pin_bindings pdip=3, soic=3, tssop=3
157                     ; line_number = 67
158                     ;  bind_to _porta@4
159                     ; line_number = 68
160                     ;  or_if ra4_in _trisa 16
161                     ; line_number = 69
162                     ;  or_if ra4_nc _trisa 16
163                     ; line_number = 70
164                     ;  or_if ra4_out _trisa 0
165                     ; line_number = 71
166                     ;  or_if an3 _trisa 16
167                     ; line_number = 72
168                     ;  or_if osc2 _trisa 16
169                     ; line_number = 73
170                     ;  or_if ra4_in _ansel 0
171                     ; line_number = 74
172                     ;  or_if ra4_out _ansel 0
173                     ; line_number = 75
174                     ;  or_if an3 _ansel 8
175                     ; line_number = 76
176                     ;  or_if ra4_in _adcon0 0
177                     ; line_number = 77
178                     ;  or_if ra4_out _adcon0 0
179                     ; line_number = 78
180                     ;  or_if an3 _adcon0 1
181                     ; line_number = 79
182                     ; pin ra3_in, ra3_nc, mclr, vpp
183                     ; line_number = 80
184                     ; pin_bindings pdip=4, soic=4, tssop=4
185                     ; line_number = 81
186                     ;  bind_to _porta@3
187                     ; line_number = 82
188                     ;  or_if ra3_in _trisa 8
189                     ; line_number = 83
190                     ;  or_if ra3_nc _trisa 8
191                     ; line_number = 84
192                     ; pin rc5_in, rc5_nc, rc5_out, rx, dt
193                     ; line_number = 85
194                     ; pin_bindings pdip=5, soic=5, tssop=5
195                     ; line_number = 86
196                     ;  bind_to _portc@5
197                     ; line_number = 87
198                     ;  or_if rc5_in _trisc 32
199                     ; line_number = 88
200                     ;  or_if rc5_nc _trisc 32
201                     ; line_number = 89
202                     ;  or_if rc5_out _trisc 0
203                     ; line_number = 90
204                     ;  or_if rx _trisc 32
205                     ; line_number = 91
206                     ; pin rc4_in, rc4_nc, rc4_out, c2out, tx, ck
207                     ; line_number = 92
208                     ; pin_bindings pdip=6, soic=6, tssop=6
209                     ; line_number = 93
210                     ;  bind_to _portc@4
211                     ; line_number = 94
212                     ;  or_if rc4_in _trisc 16
213                     ; line_number = 95
214                     ;  or_if rc4_nc _trisc 16
215                     ; line_number = 96
216                     ;  or_if rc4_out _trisc 0
217                     ; # The UART documentation says TX must be marked as in input:
218                     ; line_number = 98
219                     ;  or_if tx _trisc 16
220                     ; line_number = 99
221                     ; pin rc3_in, rc3_nc, rc3_out, an7
222                     ; line_number = 100
223                     ; pin_bindings pdip=7, soic=7, tssop=7
224                     ; line_number = 101
225                     ;  bind_to _portc@3
226                     ; line_number = 102
227                     ;  or_if rc3_in _trisc 8
228                     ; line_number = 103
229                     ;  or_if rc3_nc _trisc 8
230                     ; line_number = 104
231                     ;  or_if rc3_out _trisc 0
232                     ; line_number = 105
233                     ;  or_if an7 _trisc 8
234                     ; line_number = 106
235                     ;  or_if rc3_in _ansel 0
236                     ; line_number = 107
237                     ;  or_if rc3_out _ansel 0
238                     ; line_number = 108
239                     ;  or_if an7 _ansel 128
240                     ; line_number = 109
241                     ;  or_if rc3_in _adcon0 0
242                     ; line_number = 110
243                     ;  or_if rc3_out _adcon0 0
244                     ; line_number = 111
245                     ;  or_if an7 _adcon0 1
246                     ; line_number = 112
247                     ; pin rc2_in, rc2_nc, rc2_out, an6
248                     ; line_number = 113
249                     ; pin_bindings pdip=8, soic=8, tssop=8
250                     ; line_number = 114
251                     ;  bind_to _portc@2
252                     ; line_number = 115
253                     ;  or_if rc2_in _trisc 4
254                     ; line_number = 116
255                     ;  or_if rc2_nc _trisc 4
256                     ; line_number = 117
257                     ;  or_if rc2_out _trisc 0
258                     ; line_number = 118
259                     ;  or_if an6 _trisc 4
260                     ; line_number = 119
261                     ;  or_if rc2_in _ansel 0
262                     ; line_number = 120
263                     ;  or_if rc2_out _ansel 0
264                     ; line_number = 121
265                     ;  or_if an6 _ansel 64
266                     ; line_number = 122
267                     ;  or_if rc2_in _adcon0 0
268                     ; line_number = 123
269                     ;  or_if rc2_out _adcon0 0
270                     ; line_number = 124
271                     ;  or_if an6 _adcon0 1
272                     ; line_number = 125
273                     ; pin rc1_in, rc1_nc, rc1_out, an5, c2in_minus
274                     ; line_number = 126
275                     ; pin_bindings pdip=9, soic=9, tssop=9
276                     ; line_number = 127
277                     ;  bind_to _portc@1
278                     ; line_number = 128
279                     ;  or_if rc1_in _trisc 2
280                     ; line_number = 129
281                     ;  or_if rc1_nc _trisc 2
282                     ; line_number = 130
283                     ;  or_if rc1_out _trisc 0
284                     ; line_number = 131
285                     ;  or_if rc1_in _cmcon0 7
286                     ; line_number = 132
287                     ;  or_if rc1_out _cmcon0 7
288                     ; line_number = 133
289                     ;  or_if an5 _trisc 2
290                     ; line_number = 134
291                     ;  or_if rc1_in _ansel 0
292                     ; line_number = 135
293                     ;  or_if rc1_out _ansel 0
294                     ; line_number = 136
295                     ;  or_if an5 _ansel 32
296                     ; line_number = 137
297                     ;  or_if rc1_in _adcon0 0
298                     ; line_number = 138
299                     ;  or_if rc1_out _adcon0 0
300                     ; line_number = 139
301                     ;  or_if an5 _adcon0 1
302                     ; line_number = 140
303                     ; pin rc0_in, rc0_nc, rc0_out, an4, c2in_plus
304                     ; line_number = 141
305                     ; pin_bindings pdip=10, soic=10, tssop=10
306                     ; line_number = 142
307                     ;  bind_to _portc@0
308                     ; line_number = 143
309                     ;  or_if rc0_in _trisc 1
310                     ; line_number = 144
311                     ;  or_if rc0_nc _trisc 1
312                     ; line_number = 145
313                     ;  or_if rc0_out _trisc 0
314                     ; line_number = 146
315                     ;  or_if rc0_in _cmcon0 7
316                     ; line_number = 147
317                     ;  or_if rc0_out _cmcon0 7
318                     ; line_number = 148
319                     ;  or_if an4 _trisc 1
320                     ; line_number = 149
321                     ;  or_if rc0_in _ansel 0
322                     ; line_number = 150
323                     ;  or_if rc0_out _ansel 0
324                     ; line_number = 151
325                     ;  or_if an4 _ansel 16
326                     ; line_number = 152
327                     ;  or_if rc0_in _adcon0 0
328                     ; line_number = 153
329                     ;  or_if rc0_out _adcon0 0
330                     ; line_number = 154
331                     ;  or_if an4 _adcon0 1
332                     ; line_number = 155
333                     ; pin ra2_in, ra2_nc, ra2_out, an2, c1out, t0cki, int
334                     ; line_number = 156
335                     ; pin_bindings pdip=11, soic=11, tssop=11
336                     ; line_number = 157
337                     ;  bind_to _porta@2
338                     ; line_number = 158
339                     ;  or_if ra2_in _trisa 4
340                     ; line_number = 159
341                     ;  or_if ra2_nc _trisa 4
342                     ; line_number = 160
343                     ;  or_if ra2_out _trisa 0
344                     ; line_number = 161
345                     ;  or_if an2 _trisa 4
346                     ; line_number = 162
347                     ;  or_if ra2_in _ansel 0
348                     ; line_number = 163
349                     ;  or_if ra2_out _ansel 0
350                     ; line_number = 164
351                     ;  or_if an2 _ansel 4
352                     ; line_number = 165
353                     ;  or_if ra2_in _adcon0 0
354                     ; line_number = 166
355                     ;  or_if ra2_out _adcon0 0
356                     ; line_number = 167
357                     ;  or_if an2 _adcon0 1
358                     ; line_number = 168
359                     ; pin ra1_in, ra1_nc, ra1_out, an1, c1in_minus, vref, icspclk
360                     ; line_number = 169
361                     ; pin_bindings pdip=12, soic=12, tssop=12
362                     ; line_number = 170
363                     ;  bind_to _porta@1
364                     ; line_number = 171
365                     ;  or_if ra1_in _trisa 2
366                     ; line_number = 172
367                     ;  or_if ra1_nc _trisa 2
368                     ; line_number = 173
369                     ;  or_if ra1_out _trisa 0
370                     ; line_number = 174
371                     ;  or_if ra1_in _cmcon0 7
372                     ; line_number = 175
373                     ;  or_if ra1_out _cmcon0 7
374                     ; line_number = 176
375                     ;  or_if an1 _trisa 2
376                     ; line_number = 177
377                     ;  or_if vref _trisa 2
378                     ; line_number = 178
379                     ;  or_if ra1_in _ansel 0
380                     ; line_number = 179
381                     ;  or_if ra1_out _ansel 0
382                     ; line_number = 180
383                     ;  or_if an1 _ansel 2
384                     ; line_number = 181
385                     ;  or_if vref _ansel 2
386                     ; line_number = 182
387                     ;  or_if ra1_in _adcon0 0
388                     ; line_number = 183
389                     ;  or_if ra1_out _adcon0 0
390                     ; line_number = 184
391                     ;  or_if an1 _adcon0 1		# Turn on _addon
392                     ; line_number = 185
393                     ;  or_if vref _adcon0 1		# Turn on _addon
394                     ; line_number = 186
395                     ;  or_if vref _adcon0 64		# Turn of _vcfg
396                     ; line_number = 187
397                     ; pin ra0_in, ra0_nc, ra0_out, an0, c1in_plus, icspdat, ulpwu
398                     ; line_number = 188
399                     ; pin_bindings pdip=13, soic=13, tssop=13
400                     ; line_number = 189
401                     ;  bind_to _porta@0
402                     ; line_number = 190
403                     ;  or_if ra0_in _trisa 1
404                     ; line_number = 191
405                     ;  or_if ra0_nc _trisa 1
406                     ; line_number = 192
407                     ;  or_if ra0_out _trisa 0
408                     ; line_number = 193
409                     ;  or_if ra0_in _cmcon0 7
410                     ; line_number = 194
411                     ;  or_if ra0_out _cmcon0 7
412                     ; line_number = 195
413                     ;  or_if an0 _trisa 1
414                     ; line_number = 196
415                     ;  or_if ra0_in _ansel 0
416                     ; line_number = 197
417                     ;  or_if ra0_out _ansel 0
418                     ; line_number = 198
419                     ;  or_if an0 _ansel 1
420                     ; line_number = 199
421                     ;  or_if ra0_in _adcon0 0
422                     ; line_number = 200
423                     ;  or_if ra0_out _adcon0 0
424                     ; line_number = 201
425                     ;  or_if an0 _adcon0 1
426                     ; line_number = 202
427                     ; pin vss, ground
428                     ; line_number = 203
429                     ; pin_bindings pdip=14, soic=14, tssop=14
430             
431                     ; line_number = 205
432                     ; library _standard entered
433             
434                     ; # Copyright (c) 2006 by Wayne C. Gramlich
435                     ; # All rights reserved.
436             
437                     ; # Standard definition for uCL:
438             
439                     ; buffer = '_standard'
440                     ; line_number = 8
441                     ; constant _true = (1 = 1)
442  00000001 = _true equ 1
443                     ; line_number = 9
444                     ; constant _false = (0 != 0)
445  00000000 = _false equ 0
446             
447             
448                     ; buffer = '_pic16f688'
449                     ; line_number = 205
450                     ; library _standard exited
451             
452             
453                     ; # Register/bit bindings:
454             
455                     ; # Databank 0 (0x0 - 0x7f):
456             
457                     ; line_number = 216
458                     ; register _indf = 
459  00000000 = _indf equ 0
460             
461                     ; line_number = 218
462                     ; register _tmr0 = 
463  00000001 = _tmr0 equ 1
464             
465                     ; line_number = 220
466                     ; register _pcl = 
467  00000002 = _pcl equ 2
468             
469                     ; line_number = 222
470                     ; register _status = 
471  00000003 = _status equ 3
472                     ; line_number = 223
473                     ; bind _irp = _status@7
474  00000003 = _irp___byte equ _status
475  00000007 = _irp___bit equ 7
476                     ; line_number = 224
477                     ; bind _rp1 = _status@5
478  00000003 = _rp1___byte equ _status
479  00000005 = _rp1___bit equ 5
480                     ; line_number = 225
481                     ; bind _rp0 = _status@5
482  00000003 = _rp0___byte equ _status
483  00000005 = _rp0___bit equ 5
484                     ; line_number = 226
485                     ; bind _to = _status@4
486  00000003 = _to___byte equ _status
487  00000004 = _to___bit equ 4
488                     ; line_number = 227
489                     ; bind _pd = _status@3
490  00000003 = _pd___byte equ _status
491  00000003 = _pd___bit equ 3
492                     ; line_number = 228
493                     ; bind _z = _status@2
494  00000003 = _z___byte equ _status
495  00000002 = _z___bit equ 2
496                     ; line_number = 229
497                     ; bind _dc = _status@1
498  00000003 = _dc___byte equ _status
499  00000001 = _dc___bit equ 1
500                     ; line_number = 230
501                     ; bind _c = _status@0
502  00000003 = _c___byte equ _status
503  00000000 = _c___bit equ 0
504             
505                     ; line_number = 232
506                     ; register _fsr = 
507  00000004 = _fsr equ 4
508             
509                     ; line_number = 234
510                     ; register _porta = 
511  00000005 = _porta equ 5
512                     ; line_number = 235
513                     ; register _ra = 
514  00000005 = _ra equ 5
515                     ; line_number = 236
516                     ; bind _ra5 = _porta@5
517  00000005 = _ra5___byte equ _porta
518  00000005 = _ra5___bit equ 5
519                     ; line_number = 237
520                     ; bind _ra4 = _porta@4
521  00000005 = _ra4___byte equ _porta
522  00000004 = _ra4___bit equ 4
523                     ; line_number = 238
524                     ; bind _ra3 = _porta@3
525  00000005 = _ra3___byte equ _porta
526  00000003 = _ra3___bit equ 3
527                     ; line_number = 239
528                     ; bind _ra2 = _porta@2
529  00000005 = _ra2___byte equ _porta
530  00000002 = _ra2___bit equ 2
531                     ; line_number = 240
532                     ; bind _ra1 = _porta@1
533  00000005 = _ra1___byte equ _porta
534  00000001 = _ra1___bit equ 1
535                     ; line_number = 241
536                     ; bind _ra0 = _porta@0
537  00000005 = _ra0___byte equ _porta
538  00000000 = _ra0___bit equ 0
539             
540                     ; line_number = 243
541                     ; register _portc = 
542  00000007 = _portc equ 7
543                     ; line_number = 244
544                     ; register _rc = 
545  00000007 = _rc equ 7
546                     ; line_number = 245
547                     ; bind _rc5 = _portc@5
548  00000007 = _rc5___byte equ _portc
549  00000005 = _rc5___bit equ 5
550                     ; line_number = 246
551                     ; bind _rc4 = _portc@4
552  00000007 = _rc4___byte equ _portc
553  00000004 = _rc4___bit equ 4
554                     ; line_number = 247
555                     ; bind _rc3 = _portc@3
556  00000007 = _rc3___byte equ _portc
557  00000003 = _rc3___bit equ 3
558                     ; line_number = 248
559                     ; bind _rc2 = _portc@2
560  00000007 = _rc2___byte equ _portc
561  00000002 = _rc2___bit equ 2
562                     ; line_number = 249
563                     ; bind _rc1 = _portc@1
564  00000007 = _rc1___byte equ _portc
565  00000001 = _rc1___bit equ 1
566                     ; line_number = 250
567                     ; bind _rc0 = _portc@0
568  00000007 = _rc0___byte equ _portc
569  00000000 = _rc0___bit equ 0
570             
571                     ; line_number = 252
572                     ; register _pclath = 
573  0000000a = _pclath equ 10
574             
575                     ; line_number = 254
576                     ; register _intcon = 
577  0000000b = _intcon equ 11
578                     ; line_number = 255
579                     ; bind _gie = _intcon@7
580  0000000b = _gie___byte equ _intcon
581  00000007 = _gie___bit equ 7
582                     ; line_number = 256
583                     ; bind _peie = _intcon@6
584  0000000b = _peie___byte equ _intcon
585  00000006 = _peie___bit equ 6
586                     ; line_number = 257
587                     ; bind _t0ie = _intcon@5
588  0000000b = _t0ie___byte equ _intcon
589  00000005 = _t0ie___bit equ 5
590                     ; line_number = 258
591                     ; bind _inte = _intcon@4
592  0000000b = _inte___byte equ _intcon
593  00000004 = _inte___bit equ 4
594                     ; line_number = 259
595                     ; bind _raie = _intcon@3
596  0000000b = _raie___byte equ _intcon
597  00000003 = _raie___bit equ 3
598                     ; line_number = 260
599                     ; bind _t0if = _intcon@2
600  0000000b = _t0if___byte equ _intcon
601  00000002 = _t0if___bit equ 2
602                     ; line_number = 261
603                     ; bind _intf = _intcon@1
604  0000000b = _intf___byte equ _intcon
605  00000001 = _intf___bit equ 1
606                     ; line_number = 262
607                     ; bind _raif = _intcon@0
608  0000000b = _raif___byte equ _intcon
609  00000000 = _raif___bit equ 0
610             
611                     ; line_number = 264
612                     ; register _pir1 = 
613  0000000c = _pir1 equ 12
614                     ; line_number = 265
615                     ; bind _eeif = _pir1@7
616  0000000c = _eeif___byte equ _pir1
617  00000007 = _eeif___bit equ 7
618                     ; line_number = 266
619                     ; bind _adif = _pir1@6
620  0000000c = _adif___byte equ _pir1
621  00000006 = _adif___bit equ 6
622                     ; line_number = 267
623                     ; bind _rcif = _pir1@5
624  0000000c = _rcif___byte equ _pir1
625  00000005 = _rcif___bit equ 5
626                     ; line_number = 268
627                     ; bind _c2if = _pir1@4
628  0000000c = _c2if___byte equ _pir1
629  00000004 = _c2if___bit equ 4
630                     ; line_number = 269
631                     ; bind _c1if = _pir1@3
632  0000000c = _c1if___byte equ _pir1
633  00000003 = _c1if___bit equ 3
634                     ; line_number = 270
635                     ; bind _osfif = _pir1@2
636  0000000c = _osfif___byte equ _pir1
637  00000002 = _osfif___bit equ 2
638                     ; line_number = 271
639                     ; bind _txif = _pir1@1
640  0000000c = _txif___byte equ _pir1
641  00000001 = _txif___bit equ 1
642                     ; line_number = 272
643                     ; bind _tmr1if = _pir1@0
644  0000000c = _tmr1if___byte equ _pir1
645  00000000 = _tmr1if___bit equ 0
646             
647                     ; line_number = 274
648                     ; register _tmr1l = 
649  0000000e = _tmr1l equ 14
650             
651                     ; line_number = 276
652                     ; register _tmr1h = 
653  0000000f = _tmr1h equ 15
654             
655                     ; line_number = 278
656                     ; register _t1con = 
657  00000010 = _t1con equ 16
658                     ; line_number = 279
659                     ; bind t1ginv = _t1con@7
660  00000010 = t1ginv___byte equ _t1con
661  00000007 = t1ginv___bit equ 7
662                     ; line_number = 280
663                     ; bind _tmr1ge = _t1con@6
664  00000010 = _tmr1ge___byte equ _t1con
665  00000006 = _tmr1ge___bit equ 6
666                     ; line_number = 281
667                     ; bind _t1ckps1 = _t1con@5
668  00000010 = _t1ckps1___byte equ _t1con
669  00000005 = _t1ckps1___bit equ 5
670                     ; line_number = 282
671                     ; bind _t1ckps0 = _t1con@4
672  00000010 = _t1ckps0___byte equ _t1con
673  00000004 = _t1ckps0___bit equ 4
674                     ; line_number = 283
675                     ; bind _t1oscen = _t1con@3
676  00000010 = _t1oscen___byte equ _t1con
677  00000003 = _t1oscen___bit equ 3
678                     ; line_number = 284
679                     ; bind _t1sync = _t1con@2
680  00000010 = _t1sync___byte equ _t1con
681  00000002 = _t1sync___bit equ 2
682                     ; line_number = 285
683                     ; bind _tmr1cs = _t1con@1
684  00000010 = _tmr1cs___byte equ _t1con
685  00000001 = _tmr1cs___bit equ 1
686                     ; line_number = 286
687                     ; bind _tmr1on = _t1con@0
688  00000010 = _tmr1on___byte equ _t1con
689  00000000 = _tmr1on___bit equ 0
690             
691                     ; line_number = 288
692                     ; register _baudctl = 
693  00000011 = _baudctl equ 17
694                     ; line_number = 289
695                     ; bind _abdovf = _baudctl@7
696  00000011 = _abdovf___byte equ _baudctl
697  00000007 = _abdovf___bit equ 7
698                     ; line_number = 290
699                     ; bind _rcidl = _baudctl@6
700  00000011 = _rcidl___byte equ _baudctl
701  00000006 = _rcidl___bit equ 6
702                     ; line_number = 291
703                     ; bind _sckp = _baudctl@4
704  00000011 = _sckp___byte equ _baudctl
705  00000004 = _sckp___bit equ 4
706                     ; line_number = 292
707                     ; bind _brg16 = _baudctl@3
708  00000011 = _brg16___byte equ _baudctl
709  00000003 = _brg16___bit equ 3
710                     ; line_number = 293
711                     ; bind _wue = _baudctl@1
712  00000011 = _wue___byte equ _baudctl
713  00000001 = _wue___bit equ 1
714                     ; line_number = 294
715                     ; bind _abden = _baudctl@0
716  00000011 = _abden___byte equ _baudctl
717  00000000 = _abden___bit equ 0
718             
719                     ; line_number = 296
720                     ; register _spbrgh = 
721  00000012 = _spbrgh equ 18
722             
723                     ; line_number = 298
724                     ; register _spbrg = 
725  00000013 = _spbrg equ 19
726             
727                     ; line_number = 300
728                     ; register _rcreg = 
729  00000014 = _rcreg equ 20
730             
731                     ; line_number = 302
732                     ; register _txreg = 
733  00000015 = _txreg equ 21
734             
735                     ; line_number = 304
736                     ; register _txsta = 
737  00000016 = _txsta equ 22
738                     ; line_number = 305
739                     ; bind _csrc = _txsta@7
740  00000016 = _csrc___byte equ _txsta
741  00000007 = _csrc___bit equ 7
742                     ; line_number = 306
743                     ; bind _tx9 = _txsta@6
744  00000016 = _tx9___byte equ _txsta
745  00000006 = _tx9___bit equ 6
746                     ; line_number = 307
747                     ; bind _txen = _txsta@5
748  00000016 = _txen___byte equ _txsta
749  00000005 = _txen___bit equ 5
750                     ; line_number = 308
751                     ; bind _sync = _txsta@4
752  00000016 = _sync___byte equ _txsta
753  00000004 = _sync___bit equ 4
754                     ; line_number = 309
755                     ; bind _sendb = _txsta@3
756  00000016 = _sendb___byte equ _txsta
757  00000003 = _sendb___bit equ 3
758                     ; line_number = 310
759                     ; bind _brgh = _txsta@2
760  00000016 = _brgh___byte equ _txsta
761  00000002 = _brgh___bit equ 2
762                     ; line_number = 311
763                     ; bind _trmt = _txsta@1
764  00000016 = _trmt___byte equ _txsta
765  00000001 = _trmt___bit equ 1
766                     ; line_number = 312
767                     ; bind _tx9d = _txsta@0
768  00000016 = _tx9d___byte equ _txsta
769  00000000 = _tx9d___bit equ 0
770             
771                     ; line_number = 314
772                     ; register _rcsta = 
773  00000017 = _rcsta equ 23
774                     ; line_number = 315
775                     ; bind _spen = _rcsta@7
776  00000017 = _spen___byte equ _rcsta
777  00000007 = _spen___bit equ 7
778                     ; line_number = 316
779                     ; bind _rx9 = _rcsta@6
780  00000017 = _rx9___byte equ _rcsta
781  00000006 = _rx9___bit equ 6
782                     ; line_number = 317
783                     ; bind _sren = _rcsta@5
784  00000017 = _sren___byte equ _rcsta
785  00000005 = _sren___bit equ 5
786                     ; line_number = 318
787                     ; bind _cren = _rcsta@4
788  00000017 = _cren___byte equ _rcsta
789  00000004 = _cren___bit equ 4
790                     ; line_number = 319
791                     ; bind _adden = _rcsta@3
792  00000017 = _adden___byte equ _rcsta
793  00000003 = _adden___bit equ 3
794                     ; line_number = 320
795                     ; bind _ferr = _rcsta@2
796  00000017 = _ferr___byte equ _rcsta
797  00000002 = _ferr___bit equ 2
798                     ; line_number = 321
799                     ; bind _oerr = _rcsta@1
800  00000017 = _oerr___byte equ _rcsta
801  00000001 = _oerr___bit equ 1
802                     ; line_number = 322
803                     ; bind _rx9d = _rcsta@0
804  00000017 = _rx9d___byte equ _rcsta
805  00000000 = _rx9d___bit equ 0
806             
807                     ; line_number = 324
808                     ; register _wdtcon = 
809  00000018 = _wdtcon equ 24
810                     ; line_number = 325
811                     ; bind _wdtps3 = _wdtcon@4
812  00000018 = _wdtps3___byte equ _wdtcon
813  00000004 = _wdtps3___bit equ 4
814                     ; line_number = 326
815                     ; bind _wdtps2 = _wdtcon@3
816  00000018 = _wdtps2___byte equ _wdtcon
817  00000003 = _wdtps2___bit equ 3
818                     ; line_number = 327
819                     ; bind _wdtps1 = _wdtcon@2
820  00000018 = _wdtps1___byte equ _wdtcon
821  00000002 = _wdtps1___bit equ 2
822                     ; line_number = 328
823                     ; bind _wdtps0 = _wdtcon@1
824  00000018 = _wdtps0___byte equ _wdtcon
825  00000001 = _wdtps0___bit equ 1
826                     ; line_number = 329
827                     ; bind _swdten = _wdtcon@0
828  00000018 = _swdten___byte equ _wdtcon
829  00000000 = _swdten___bit equ 0
830             
831                     ; line_number = 331
832                     ; register _cmcon0 = 
833  00000019 = _cmcon0 equ 25
834                     ; line_number = 332
835                     ; bind _c1out = _cmcon0@7
836  00000019 = _c1out___byte equ _cmcon0
837  00000007 = _c1out___bit equ 7
838                     ; line_number = 333
839                     ; bind _c2out = _cmcon0@6
840  00000019 = _c2out___byte equ _cmcon0
841  00000006 = _c2out___bit equ 6
842                     ; line_number = 334
843                     ; bind _c1inv = _cmcon0@5
844  00000019 = _c1inv___byte equ _cmcon0
845  00000005 = _c1inv___bit equ 5
846                     ; line_number = 335
847                     ; bind _c2inv = _cmcon0@4
848  00000019 = _c2inv___byte equ _cmcon0
849  00000004 = _c2inv___bit equ 4
850                     ; line_number = 336
851                     ; bind _cis = _cmcon0@3
852  00000019 = _cis___byte equ _cmcon0
853  00000003 = _cis___bit equ 3
854                     ; line_number = 337
855                     ; bind _cm2 = _cmcon0@2
856  00000019 = _cm2___byte equ _cmcon0
857  00000002 = _cm2___bit equ 2
858                     ; line_number = 338
859                     ; bind _cm1 = _cmcon0@1
860  00000019 = _cm1___byte equ _cmcon0
861  00000001 = _cm1___bit equ 1
862                     ; line_number = 339
863                     ; bind _cm0 = _cmcon0@0
864  00000019 = _cm0___byte equ _cmcon0
865  00000000 = _cm0___bit equ 0
866             
867                     ; line_number = 341
868                     ; register _cmcon1 = 
869  0000001a = _cmcon1 equ 26
870                     ; line_number = 342
871                     ; bind _t1gss = _cmcon1@0
872  0000001a = _t1gss___byte equ _cmcon1
873  00000000 = _t1gss___bit equ 0
874                     ; line_number = 343
875                     ; bind _c2sync = _cmcon1@1
876  0000001a = _c2sync___byte equ _cmcon1
877  00000001 = _c2sync___bit equ 1
878             
879                     ; line_number = 345
880                     ; register _adresh = 
881  0000001e = _adresh equ 30
882             
883                     ; line_number = 347
884                     ; register _adcon0 = 
885  0000001f = _adcon0 equ 31
886                     ; line_number = 348
887                     ; bind _adfm = _adcon0@7
888  0000001f = _adfm___byte equ _adcon0
889  00000007 = _adfm___bit equ 7
890                     ; line_number = 349
891                     ; bind _vcfg = _adcon0@6
892  0000001f = _vcfg___byte equ _adcon0
893  00000006 = _vcfg___bit equ 6
894                     ; line_number = 350
895                     ; bind _chs2 = _adcon0@4
896  0000001f = _chs2___byte equ _adcon0
897  00000004 = _chs2___bit equ 4
898                     ; line_number = 351
899                     ; bind _chs1 = _adcon0@3
900  0000001f = _chs1___byte equ _adcon0
901  00000003 = _chs1___bit equ 3
902                     ; line_number = 352
903                     ; bind _chs0 = _adcon0@2
904  0000001f = _chs0___byte equ _adcon0
905  00000002 = _chs0___bit equ 2
906                     ; line_number = 353
907                     ; bind _go = _adcon0@1
908  0000001f = _go___byte equ _adcon0
909  00000001 = _go___bit equ 1
910                     ; line_number = 354
911                     ; bind _adon = _adcon0@0
912  0000001f = _adon___byte equ _adcon0
913  00000000 = _adon___bit equ 0
914             
915                     ; # Data bank 1 (0x80-0xff):
916             
917                     ; line_number = 358
918                     ; register _option_reg = 
919  00000081 = _option_reg equ 129
920                     ; line_number = 359
921                     ; bind _rapu = _option_reg@7
922  00000081 = _rapu___byte equ _option_reg
923  00000007 = _rapu___bit equ 7
924                     ; line_number = 360
925                     ; bind _intedg = _option_reg@6
926  00000081 = _intedg___byte equ _option_reg
927  00000006 = _intedg___bit equ 6
928                     ; line_number = 361
929                     ; bind _t0cs = _option_reg@5
930  00000081 = _t0cs___byte equ _option_reg
931  00000005 = _t0cs___bit equ 5
932                     ; line_number = 362
933                     ; bind _t0se = _option_reg@4
934  00000081 = _t0se___byte equ _option_reg
935  00000004 = _t0se___bit equ 4
936                     ; line_number = 363
937                     ; bind _psa = _option_reg@3
938  00000081 = _psa___byte equ _option_reg
939  00000003 = _psa___bit equ 3
940                     ; line_number = 364
941                     ; bind _ps2 = _option_reg@2
942  00000081 = _ps2___byte equ _option_reg
943  00000002 = _ps2___bit equ 2
944                     ; line_number = 365
945                     ; bind _ps1 = _option_reg@1
946  00000081 = _ps1___byte equ _option_reg
947  00000001 = _ps1___bit equ 1
948                     ; line_number = 366
949                     ; bind _ps0 = _option_reg@0
950  00000081 = _ps0___byte equ _option_reg
951  00000000 = _ps0___bit equ 0
952             
953                     ; line_number = 368
954                     ; register _trisa = 
955  00000085 = _trisa equ 133
956                     ; line_number = 369
957                     ; bind _trisa5 = _trisa@5
958  00000085 = _trisa5___byte equ _trisa
959  00000005 = _trisa5___bit equ 5
960                     ; line_number = 370
961                     ; bind _trisa4 = _trisa@4
962  00000085 = _trisa4___byte equ _trisa
963  00000004 = _trisa4___bit equ 4
964                     ; line_number = 371
965                     ; bind _trisa3 = _trisa@3
966  00000085 = _trisa3___byte equ _trisa
967  00000003 = _trisa3___bit equ 3
968                     ; line_number = 372
969                     ; bind _trisa2 = _trisa@2
970  00000085 = _trisa2___byte equ _trisa
971  00000002 = _trisa2___bit equ 2
972                     ; line_number = 373
973                     ; bind _trisa1 = _trisa@1
974  00000085 = _trisa1___byte equ _trisa
975  00000001 = _trisa1___bit equ 1
976                     ; line_number = 374
977                     ; bind _trisa0 = _trisa@0
978  00000085 = _trisa0___byte equ _trisa
979  00000000 = _trisa0___bit equ 0
980             
981                     ; line_number = 376
982                     ; register _trisc = 
983  00000087 = _trisc equ 135
984                     ; line_number = 377
985                     ; bind _trisc5 = _trisc@5
986  00000087 = _trisc5___byte equ _trisc
987  00000005 = _trisc5___bit equ 5
988                     ; line_number = 378
989                     ; bind _trisc4 = _trisc@4
990  00000087 = _trisc4___byte equ _trisc
991  00000004 = _trisc4___bit equ 4
992                     ; line_number = 379
993                     ; bind _trisc3 = _trisc@3
994  00000087 = _trisc3___byte equ _trisc
995  00000003 = _trisc3___bit equ 3
996                     ; line_number = 380
997                     ; bind _trisc2 = _trisc@2
998  00000087 = _trisc2___byte equ _trisc
999  00000002 = _trisc2___bit equ 2
1000                    ; line_number = 381
1001                    ; bind _trisc1 = _trisc@1
1002 00000087 = _trisc1___byte equ _trisc
1003 00000001 = _trisc1___bit equ 1
1004                    ; line_number = 382
1005                    ; bind _trisc0 = _trisc@0
1006 00000087 = _trisc0___byte equ _trisc
1007 00000000 = _trisc0___bit equ 0
1008            
1009                    ; line_number = 384
1010                    ; register _pie1 = 
1011 0000008c = _pie1 equ 140
1012                    ; line_number = 385
1013                    ; bind _eeie = _pie1@7
1014 0000008c = _eeie___byte equ _pie1
1015 00000007 = _eeie___bit equ 7
1016                    ; line_number = 386
1017                    ; bind _adie = _pie1@6
1018 0000008c = _adie___byte equ _pie1
1019 00000006 = _adie___bit equ 6
1020                    ; line_number = 387
1021                    ; bind _rcie = _pie1@5
1022 0000008c = _rcie___byte equ _pie1
1023 00000005 = _rcie___bit equ 5
1024                    ; line_number = 388
1025                    ; bind _c2ie = _pie1@4
1026 0000008c = _c2ie___byte equ _pie1
1027 00000004 = _c2ie___bit equ 4
1028                    ; line_number = 389
1029                    ; bind _c1ie = _pie1@3
1030 0000008c = _c1ie___byte equ _pie1
1031 00000003 = _c1ie___bit equ 3
1032                    ; line_number = 390
1033                    ; bind _osfie = _pie1@2
1034 0000008c = _osfie___byte equ _pie1
1035 00000002 = _osfie___bit equ 2
1036                    ; line_number = 391
1037                    ; bind _txie = _pie1@1
1038 0000008c = _txie___byte equ _pie1
1039 00000001 = _txie___bit equ 1
1040                    ; line_number = 392
1041                    ; bind _tmr1ie = _pie1@0
1042 0000008c = _tmr1ie___byte equ _pie1
1043 00000000 = _tmr1ie___bit equ 0
1044            
1045                    ; line_number = 394
1046                    ; register _pcon = 
1047 0000008e = _pcon equ 142
1048                    ; line_number = 395
1049                    ; bind _ulpwue = _pcon@5
1050 0000008e = _ulpwue___byte equ _pcon
1051 00000005 = _ulpwue___bit equ 5
1052                    ; line_number = 396
1053                    ; bind _sboden = _pcon@4
1054 0000008e = _sboden___byte equ _pcon
1055 00000004 = _sboden___bit equ 4
1056                    ; line_number = 397
1057                    ; bind _por = _pcon@1
1058 0000008e = _por___byte equ _pcon
1059 00000001 = _por___bit equ 1
1060                    ; line_number = 398
1061                    ; bind _bod = _pcon@0
1062 0000008e = _bod___byte equ _pcon
1063 00000000 = _bod___bit equ 0
1064            
1065                    ; line_number = 400
1066                    ; register _osccon = 
1067 0000008f = _osccon equ 143
1068                    ; line_number = 401
1069                    ; bind _ircf2 = _osccon@6
1070 0000008f = _ircf2___byte equ _osccon
1071 00000006 = _ircf2___bit equ 6
1072                    ; line_number = 402
1073                    ; bind _ircf1 = _osccon@5
1074 0000008f = _ircf1___byte equ _osccon
1075 00000005 = _ircf1___bit equ 5
1076                    ; line_number = 403
1077                    ; bind _ircf0 = _osccon@4
1078 0000008f = _ircf0___byte equ _osccon
1079 00000004 = _ircf0___bit equ 4
1080                    ; line_number = 404
1081                    ; bind _osts = _osccon@3
1082 0000008f = _osts___byte equ _osccon
1083 00000003 = _osts___bit equ 3
1084                    ; line_number = 405
1085                    ; bind _hts = _osccon@2
1086 0000008f = _hts___byte equ _osccon
1087 00000002 = _hts___bit equ 2
1088                    ; line_number = 406
1089                    ; bind _lts = _osccon@3
1090 0000008f = _lts___byte equ _osccon
1091 00000003 = _lts___bit equ 3
1092                    ; line_number = 407
1093                    ; bind _scs = _osccon@2
1094 0000008f = _scs___byte equ _osccon
1095 00000002 = _scs___bit equ 2
1096            
1097                    ; line_number = 409
1098                    ; register _osctune = 
1099 00000090 = _osctune equ 144
1100                    ; line_number = 410
1101                    ; bind _tun4 = _osctune@4
1102 00000090 = _tun4___byte equ _osctune
1103 00000004 = _tun4___bit equ 4
1104                    ; line_number = 411
1105                    ; bind _tun3 = _osctune@3
1106 00000090 = _tun3___byte equ _osctune
1107 00000003 = _tun3___bit equ 3
1108                    ; line_number = 412
1109                    ; bind _tun2 = _osctune@2
1110 00000090 = _tun2___byte equ _osctune
1111 00000002 = _tun2___bit equ 2
1112                    ; line_number = 413
1113                    ; bind _tun1 = _osctune@1
1114 00000090 = _tun1___byte equ _osctune
1115 00000001 = _tun1___bit equ 1
1116                    ; line_number = 414
1117                    ; bind _tun0 = _osctune@0
1118 00000090 = _tun0___byte equ _osctune
1119 00000000 = _tun0___bit equ 0
1120                    ; line_number = 415
1121                    ; constant _osccal_lsb = 1
1122 00000001 = _osccal_lsb equ 1
1123            
1124                    ; line_number = 417
1125                    ; register _ansel = 
1126 00000091 = _ansel equ 145
1127                    ; line_number = 418
1128                    ; bind _ans7 = _ansel@7
1129 00000091 = _ans7___byte equ _ansel
1130 00000007 = _ans7___bit equ 7
1131                    ; line_number = 419
1132                    ; bind _ans6 = _ansel@6
1133 00000091 = _ans6___byte equ _ansel
1134 00000006 = _ans6___bit equ 6
1135                    ; line_number = 420
1136                    ; bind _ans5 = _ansel@5
1137 00000091 = _ans5___byte equ _ansel
1138 00000005 = _ans5___bit equ 5
1139                    ; line_number = 421
1140                    ; bind _ans4 = _ansel@4
1141 00000091 = _ans4___byte equ _ansel
1142 00000004 = _ans4___bit equ 4
1143                    ; line_number = 422
1144                    ; bind _ans3 = _ansel@3
1145 00000091 = _ans3___byte equ _ansel
1146 00000003 = _ans3___bit equ 3
1147                    ; line_number = 423
1148                    ; bind _ans2 = _ansel@2
1149 00000091 = _ans2___byte equ _ansel
1150 00000002 = _ans2___bit equ 2
1151                    ; line_number = 424
1152                    ; bind _ans1 = _ansel@1
1153 00000091 = _ans1___byte equ _ansel
1154 00000001 = _ans1___bit equ 1
1155                    ; line_number = 425
1156                    ; bind _ans0 = _ansel@0
1157 00000091 = _ans0___byte equ _ansel
1158 00000000 = _ans0___bit equ 0
1159            
1160                    ; line_number = 427
1161                    ; register _wpua = 
1162 00000095 = _wpua equ 149
1163                    ; line_number = 428
1164                    ; bind _wpua5 = _wpua@5
1165 00000095 = _wpua5___byte equ _wpua
1166 00000005 = _wpua5___bit equ 5
1167                    ; line_number = 429
1168                    ; bind _wpua4 = _wpua@4
1169 00000095 = _wpua4___byte equ _wpua
1170 00000004 = _wpua4___bit equ 4
1171                    ; line_number = 430
1172                    ; bind _wpua2 = _wpua@2
1173 00000095 = _wpua2___byte equ _wpua
1174 00000002 = _wpua2___bit equ 2
1175                    ; line_number = 431
1176                    ; bind _wpua1 = _wpua@1
1177 00000095 = _wpua1___byte equ _wpua
1178 00000001 = _wpua1___bit equ 1
1179                    ; line_number = 432
1180                    ; bind _wpua0 = _wpua@0
1181 00000095 = _wpua0___byte equ _wpua
1182 00000000 = _wpua0___bit equ 0
1183            
1184                    ; line_number = 434
1185                    ; register _ioca = 
1186 00000096 = _ioca equ 150
1187                    ; line_number = 435
1188                    ; bind _ioca5 = _ioca@5
1189 00000096 = _ioca5___byte equ _ioca
1190 00000005 = _ioca5___bit equ 5
1191                    ; line_number = 436
1192                    ; bind _ioca4 = _ioca@4
1193 00000096 = _ioca4___byte equ _ioca
1194 00000004 = _ioca4___bit equ 4
1195                    ; line_number = 437
1196                    ; bind _ioca3 = _ioca@3
1197 00000096 = _ioca3___byte equ _ioca
1198 00000003 = _ioca3___bit equ 3
1199                    ; line_number = 438
1200                    ; bind _ioca2 = _ioca@2
1201 00000096 = _ioca2___byte equ _ioca
1202 00000002 = _ioca2___bit equ 2
1203                    ; line_number = 439
1204                    ; bind _ioca1 = _ioca@1
1205 00000096 = _ioca1___byte equ _ioca
1206 00000001 = _ioca1___bit equ 1
1207                    ; line_number = 440
1208                    ; bind _ioca0 = _ioca@0
1209 00000096 = _ioca0___byte equ _ioca
1210 00000000 = _ioca0___bit equ 0
1211            
1212                    ; line_number = 442
1213                    ; register _eedath = 
1214 00000097 = _eedath equ 151
1215            
1216                    ; line_number = 444
1217                    ; register _eeadrh = 
1218 00000098 = _eeadrh equ 152
1219            
1220                    ; line_number = 446
1221                    ; register _vrcon = 
1222 00000099 = _vrcon equ 153
1223                    ; line_number = 447
1224                    ; bind _vren = _vrcon@7
1225 00000099 = _vren___byte equ _vrcon
1226 00000007 = _vren___bit equ 7
1227                    ; line_number = 448
1228                    ; bind _vrr = _vrcon@5
1229 00000099 = _vrr___byte equ _vrcon
1230 00000005 = _vrr___bit equ 5
1231                    ; line_number = 449
1232                    ; bind _vr3 = _vrcon@3
1233 00000099 = _vr3___byte equ _vrcon
1234 00000003 = _vr3___bit equ 3
1235                    ; line_number = 450
1236                    ; bind _vr2 = _vrcon@2
1237 00000099 = _vr2___byte equ _vrcon
1238 00000002 = _vr2___bit equ 2
1239                    ; line_number = 451
1240                    ; bind _vr1 = _vrcon@1
1241 00000099 = _vr1___byte equ _vrcon
1242 00000001 = _vr1___bit equ 1
1243                    ; line_number = 452
1244                    ; bind _vr0 = _vrcon@0
1245 00000099 = _vr0___byte equ _vrcon
1246 00000000 = _vr0___bit equ 0
1247            
1248                    ; line_number = 454
1249                    ; register _eedat = 
1250 0000009a = _eedat equ 154
1251                    ; line_number = 455
1252                    ; bind _eedat7 = _eedat@7
1253 0000009a = _eedat7___byte equ _eedat
1254 00000007 = _eedat7___bit equ 7
1255                    ; line_number = 456
1256                    ; bind _eedat6 = _eedat@6
1257 0000009a = _eedat6___byte equ _eedat
1258 00000006 = _eedat6___bit equ 6
1259                    ; line_number = 457
1260                    ; bind _eedat5 = _eedat@5
1261 0000009a = _eedat5___byte equ _eedat
1262 00000005 = _eedat5___bit equ 5
1263                    ; line_number = 458
1264                    ; bind _eedat4 = _eedat@4
1265 0000009a = _eedat4___byte equ _eedat
1266 00000004 = _eedat4___bit equ 4
1267                    ; line_number = 459
1268                    ; bind _eedat3 = _eedat@3
1269 0000009a = _eedat3___byte equ _eedat
1270 00000003 = _eedat3___bit equ 3
1271                    ; line_number = 460
1272                    ; bind _eedat2 = _eedat@2
1273 0000009a = _eedat2___byte equ _eedat
1274 00000002 = _eedat2___bit equ 2
1275                    ; line_number = 461
1276                    ; bind _eedat1 = _eedat@1
1277 0000009a = _eedat1___byte equ _eedat
1278 00000001 = _eedat1___bit equ 1
1279                    ; line_number = 462
1280                    ; bind _eedat0 = _eedat@0
1281 0000009a = _eedat0___byte equ _eedat
1282 00000000 = _eedat0___bit equ 0
1283            
1284                    ; line_number = 464
1285                    ; register _eeadr = 
1286 0000009b = _eeadr equ 155
1287                    ; line_number = 465
1288                    ; bind _eeadr7 = _eeadr@7
1289 0000009b = _eeadr7___byte equ _eeadr
1290 00000007 = _eeadr7___bit equ 7
1291                    ; line_number = 466
1292                    ; bind _eeadr6 = _eeadr@6
1293 0000009b = _eeadr6___byte equ _eeadr
1294 00000006 = _eeadr6___bit equ 6
1295                    ; line_number = 467
1296                    ; bind _eeadr5 = _eeadr@5
1297 0000009b = _eeadr5___byte equ _eeadr
1298 00000005 = _eeadr5___bit equ 5
1299                    ; line_number = 468
1300                    ; bind _eeadr4 = _eeadr@4
1301 0000009b = _eeadr4___byte equ _eeadr
1302 00000004 = _eeadr4___bit equ 4
1303                    ; line_number = 469
1304                    ; bind _eeadr3 = _eeadr@3
1305 0000009b = _eeadr3___byte equ _eeadr
1306 00000003 = _eeadr3___bit equ 3
1307                    ; line_number = 470
1308                    ; bind _eeadr2 = _eeadr@2
1309 0000009b = _eeadr2___byte equ _eeadr
1310 00000002 = _eeadr2___bit equ 2
1311                    ; line_number = 471
1312                    ; bind _eeadr1 = _eeadr@1
1313 0000009b = _eeadr1___byte equ _eeadr
1314 00000001 = _eeadr1___bit equ 1
1315                    ; line_number = 472
1316                    ; bind _eeadr0 = _eeadr@0
1317 0000009b = _eeadr0___byte equ _eeadr
1318 00000000 = _eeadr0___bit equ 0
1319            
1320                    ; line_number = 474
1321                    ; register _eecon1 = 
1322 0000009c = _eecon1 equ 156
1323                    ; line_number = 475
1324                    ; bind _eepgd = _eecon1@7
1325 0000009c = _eepgd___byte equ _eecon1
1326 00000007 = _eepgd___bit equ 7
1327                    ; line_number = 476
1328                    ; bind _wrerr = _eecon1@3
1329 0000009c = _wrerr___byte equ _eecon1
1330 00000003 = _wrerr___bit equ 3
1331                    ; line_number = 477
1332                    ; bind _wren = _eecon1@2
1333 0000009c = _wren___byte equ _eecon1
1334 00000002 = _wren___bit equ 2
1335                    ; line_number = 478
1336                    ; bind _wr = _eecon1@1
1337 0000009c = _wr___byte equ _eecon1
1338 00000001 = _wr___bit equ 1
1339                    ; line_number = 479
1340                    ; bind _rd = _eecon1@0
1341 0000009c = _rd___byte equ _eecon1
1342 00000000 = _rd___bit equ 0
1343            
1344                    ; line_number = 481
1345                    ; register _eecon2 = 
1346 0000009d = _eecon2 equ 157
1347            
1348                    ; line_number = 483
1349                    ; register _adresl = 
1350 0000009e = _adresl equ 158
1351            
1352                    ; line_number = 485
1353                    ; register _adcon1 = 
1354 0000009f = _adcon1 equ 159
1355                    ; line_number = 486
1356                    ; bind _adcs2 = _adcon1@6
1357 0000009f = _adcs2___byte equ _adcon1
1358 00000006 = _adcs2___bit equ 6
1359                    ; line_number = 487
1360                    ; bind _adcs1 = _adcon1@5
1361 0000009f = _adcs1___byte equ _adcon1
1362 00000005 = _adcs1___bit equ 5
1363                    ; line_number = 488
1364                    ; bind _adcs0 = _adcon1@4
1365 0000009f = _adcs0___byte equ _adcon1
1366 00000004 = _adcs0___bit equ 4
1367            
1368                    ; # Data Bank 2 (0x100 - 0x17f):
1369            
1370                    ; buffer = 'bus'
1371                    ; line_number = 6
1372                    ; library _pic16f688 exited
1373                    ; line_number = 7
1374                    ; library clock16mhz entered
1375                    ; # Copyright (c) 2006 by Wayne C. Gramlich
1376                    ; # All rights reserved.
1377            
1378                    ; # This library defines the contstants {clock_rate}, {instruction_rate},
1379                    ; # and {clocks_per_instruction}.
1380            
1381                    ; # Define processor constants:
1382                    ; buffer = 'clock16mhz'
1383                    ; line_number = 9
1384                    ; constant clock_rate = 16000000
1385 00f42400 = clock_rate equ 16000000
1386                    ; line_number = 10
1387                    ; constant clocks_per_instruction = 4
1388 00000004 = clocks_per_instruction equ 4
1389                    ; line_number = 11
1390                    ; constant instruction_rate = clock_rate / clocks_per_instruction
1391 003d0900 = instruction_rate equ 4000000
1392            
1393            
1394                    ; buffer = 'bus'
1395                    ; line_number = 7
1396                    ; library clock16mhz exited
1397                    ; line_number = 8
1398                    ; library _uart entered
1399                    ; # Copyright (c) 2004 by Wayne C. Gramlich.
1400                    ; # All rights reserved.
1401            
1402                    ; # This library contains some procedures for accessing the UART.
1403            
1404                    ; Delaying code generation for procedure  _uart_byte_safe_get
1405                    ; Delaying code generation for procedure  _uart_byte_get
1406                    ; Delaying code generation for procedure  _uart_hex_put
1407                    ; Delaying code generation for procedure  _uart_nibble_put
1408                    ; Delaying code generation for procedure  _uart_space_put
1409                    ; Delaying code generation for procedure  _uart_crlf_put
1410                    ; Delaying code generation for procedure  _uart_byte_put
1411            
1412                    ; line_number = 8
1413                    ; library _uart exited
1414                    ; line_number = 9
1415                    ; constant _eusart_clock = clock_rate
1416 00f42400 = _eusart_clock equ 16000000
1417                    ; line_number = 10
1418                    ; constant _eusart_factor = 4
1419 00000004 = _eusart_factor equ 4
1420                    ; line_number = 11
1421                    ; library _eusart entered
1422            
1423                    ; # Copyright (c) 2005 by Wayne C. Gramlich
1424                    ; # All rights reserved.
1425            
1426                    ; # This library contains a bunch of definitions for the Enhanced Universal
1427                    ; # Asynchronous Serial Receiver/Transmitter (EUSART) that is available
1428                    ; # on many of the PIC microcontrollers.
1429            
1430                    ; # In order to use this module you have to get two constants defined
1431                    ; # BEFORE including this library -- {_eusart_factor} and {_eusart_clock}.
1432                    ; # {_eusart_clock} should be set to the frequency oscillator for the chip.
1433                    ; # {_eusart_factor} should be set to 4, 16, or 64 depending upon whether
1434                    ; # the {_brg16} and {_brgh} bits are set.  Use the table below to select:
1435                    ; #
1436                    ; #        _{brg16}	{_brgh}		_{eusart_factor}
1437                    ; #	    0		   0		      64
1438                    ; #	    0		   1		      16
1439                    ; #	    1		   0		      16
1440                    ; #	    1		   1		       4
1441            
1442                    ; # 2400 baud:
1443                    ; buffer = '_eusart'
1444                    ; line_number = 23
1445                    ; constant _eusart_2400 = (_eusart_clock / (2400 * _eusart_factor)) - 1
1446 00000681 = _eusart_2400 equ 1665
1447                    ; line_number = 24
1448                    ; constant _eusart_2400_low = _eusart_2400 & 0xff
1449 00000081 = _eusart_2400_low equ 129
1450                    ; line_number = 25
1451                    ; constant _eusart_2400_high = _eusart_2400 >> 8
1452 00000006 = _eusart_2400_high equ 6
1453                    ; line_number = 26
1454                    ; constant _eusart_2400_index = 0
1455 00000000 = _eusart_2400_index equ 0
1456                    ; # 4800 baud:
1457                    ; line_number = 28
1458                    ; constant _eusart_4800 = (_eusart_clock / (4800 * _eusart_factor)) - 1
1459 00000340 = _eusart_4800 equ 832
1460                    ; line_number = 29
1461                    ; constant _eusart_4800_low = _eusart_4800 & 0xff
1462 00000040 = _eusart_4800_low equ 64
1463                    ; line_number = 30
1464                    ; constant _eusart_4800_high = _eusart_4800 >> 8
1465 00000003 = _eusart_4800_high equ 3
1466                    ; line_number = 31
1467                    ; constant _eusart_4800_index = 1
1468 00000001 = _eusart_4800_index equ 1
1469                    ; # 9600 baud:
1470                    ; line_number = 33
1471                    ; constant _eusart_9600 = (_eusart_clock / (9600 * _eusart_factor)) - 1
1472 0000019f = _eusart_9600 equ 415
1473                    ; line_number = 34
1474                    ; constant _eusart_9600_low = _eusart_9600 & 0xff
1475 0000009f = _eusart_9600_low equ 159
1476                    ; line_number = 35
1477                    ; constant _eusart_9600_high = _eusart_9600 >> 8
1478 00000001 = _eusart_9600_high equ 1
1479                    ; line_number = 36
1480                    ; constant _eusart_9600_index = 2
1481 00000002 = _eusart_9600_index equ 2
1482                    ; # 19200 baud:
1483                    ; line_number = 38
1484                    ; constant _eusart_19200 = (_eusart_clock / (19200 * _eusart_factor)) - 1
1485 000000cf = _eusart_19200 equ 207
1486                    ; line_number = 39
1487                    ; constant _eusart_19200_low = _eusart_19200 & 0xff
1488 000000cf = _eusart_19200_low equ 207
1489                    ; line_number = 40
1490                    ; constant _eusart_19200_high = _eusart_19200 >> 8
1491 00000000 = _eusart_19200_high equ 0
1492                    ; line_number = 41
1493                    ; constant _eusart_19200_index = 3
1494 00000003 = _eusart_19200_index equ 3
1495                    ; # 38400 baud:
1496                    ; line_number = 43
1497                    ; constant _eusart_38400 = (_eusart_clock / (38400 * _eusart_factor)) - 1
1498 00000067 = _eusart_38400 equ 103
1499                    ; line_number = 44
1500                    ; constant _eusart_38400_low = _eusart_38400 & 0xff
1501 00000067 = _eusart_38400_low equ 103
1502                    ; line_number = 45
1503                    ; constant _eusart_38400_high = _eusart_38400 >> 8
1504 00000000 = _eusart_38400_high equ 0
1505                    ; line_number = 46
1506                    ; constant _eusart_38400_index = 4
1507 00000004 = _eusart_38400_index equ 4
1508                    ; # 57600 baud:
1509                    ; line_number = 48
1510                    ; constant _eusart_57600 = (_eusart_clock / (57600 * _eusart_factor)) - 1
1511 00000044 = _eusart_57600 equ 68
1512                    ; line_number = 49
1513                    ; constant _eusart_57600_low = _eusart_57600 & 0xff
1514 00000044 = _eusart_57600_low equ 68
1515                    ; line_number = 50
1516                    ; constant _eusart_57600_high = _eusart_57600 >> 8
1517 00000000 = _eusart_57600_high equ 0
1518                    ; line_number = 51
1519                    ; constant _eusart_57600_index = 5
1520 00000005 = _eusart_57600_index equ 5
1521                    ; # 115200 baud:
1522                    ; line_number = 53
1523                    ; constant _eusart_115200 = (_eusart_clock / (115200 * _eusart_factor)) - 1
1524 00000021 = _eusart_115200 equ 33
1525                    ; line_number = 54
1526                    ; constant _eusart_115200_low = _eusart_115200 & 0xff
1527 00000021 = _eusart_115200_low equ 33
1528                    ; line_number = 55
1529                    ; constant _eusart_115200_high = _eusart_115200 >> 8
1530 00000000 = _eusart_115200_high equ 0
1531                    ; line_number = 56
1532                    ; constant _eusart_115200_index = 6
1533 00000006 = _eusart_115200_index equ 6
1534                    ; # 203400 baud:
1535                    ; line_number = 58
1536                    ; constant _eusart_230400 = (_eusart_clock / (230400 * _eusart_factor)) - 1
1537 00000010 = _eusart_230400 equ 16
1538                    ; line_number = 59
1539                    ; constant _eusart_230400_low = _eusart_230400 & 0xff
1540 00000010 = _eusart_230400_low equ 16
1541                    ; line_number = 60
1542                    ; constant _eusart_230400_high = _eusart_230400 >> 8
1543 00000000 = _eusart_230400_high equ 0
1544                    ; line_number = 61
1545                    ; constant _eusart_230400_index = 7
1546 00000007 = _eusart_230400_index equ 7
1547                    ; # 406800 baud:
1548                    ; line_number = 63
1549                    ; constant _eusart_406800 = (_eusart_clock / (406800 * _eusart_factor)) - 1
1550 00000008 = _eusart_406800 equ 8
1551                    ; line_number = 64
1552                    ; constant _eusart_406800_low = _eusart_406800 & 0xff
1553 00000008 = _eusart_406800_low equ 8
1554                    ; line_number = 65
1555                    ; constant _eusart_406800_high = _eusart_406800 >> 8
1556 00000000 = _eusart_406800_high equ 0
1557                    ; line_number = 66
1558                    ; constant _eusart_406800_index = 8
1559 00000008 = _eusart_406800_index equ 8
1560                    ; # 500000 baud:
1561                    ; line_number = 68
1562                    ; constant _eusart_500000 = (_eusart_clock / (500000 * _eusart_factor)) - 1
1563 00000007 = _eusart_500000 equ 7
1564                    ; line_number = 69
1565                    ; constant _eusart_500000_low = _eusart_500000 & 0xff
1566 00000007 = _eusart_500000_low equ 7
1567                    ; line_number = 70
1568                    ; constant _eusart_500000_high = _eusart_500000 >> 8
1569 00000000 = _eusart_500000_high equ 0
1570                    ; line_number = 71
1571                    ; constant _eusart_500000_index = 8
1572 00000008 = _eusart_500000_index equ 8
1573                    ; # 62500 baud:
1574                    ; line_number = 73
1575                    ; constant _eusart_625000 = (_eusart_clock / (625000 * _eusart_factor)) - 1
1576 00000005 = _eusart_625000 equ 5
1577                    ; line_number = 74
1578                    ; constant _eusart_625000_low = _eusart_625000 & 0xff
1579 00000005 = _eusart_625000_low equ 5
1580                    ; line_number = 75
1581                    ; constant _eusart_625000_high = _eusart_625000 >> 8
1582 00000000 = _eusart_625000_high equ 0
1583                    ; line_number = 76
1584                    ; constant _eusart_625000_index = 9
1585 00000009 = _eusart_625000_index equ 9
1586                    ; # 833333 baud:
1587                    ; line_number = 78
1588                    ; constant _eusart_833333 = (_eusart_clock / (833333 * _eusart_factor)) - 1
1589 00000003 = _eusart_833333 equ 3
1590                    ; line_number = 79
1591                    ; constant _eusart_833333_low = _eusart_833333 & 0xff
1592 00000003 = _eusart_833333_low equ 3
1593                    ; line_number = 80
1594                    ; constant _eusart_833333_high = _eusart_833333 >> 8
1595 00000000 = _eusart_833333_high equ 0
1596                    ; line_number = 81
1597                    ; constant _eusart_833333_index = 10
1598 0000000a = _eusart_833333_index equ 10
1599                    ; # 1000000 baud (1MHz):
1600                    ; line_number = 83
1601                    ; constant _eusart_1000000 = (_eusart_clock / (1000000 * _eusart_factor)) - 1
1602 00000003 = _eusart_1000000 equ 3
1603                    ; line_number = 84
1604                    ; constant _eusart_1000000_low = _eusart_1000000 & 0xff
1605 00000003 = _eusart_1000000_low equ 3
1606                    ; line_number = 85
1607                    ; constant _eusart_1000000_high = _eusart_1000000 >> 8
1608 00000000 = _eusart_1000000_high equ 0
1609                    ; line_number = 86
1610                    ; constant _eusart_1000000_index = 11
1611 0000000b = _eusart_1000000_index equ 11
1612            
1613                    ; buffer = 'bus'
1614                    ; line_number = 11
1615                    ; library _eusart exited
1616            
1617            
1618                    ; line_number = 15
1619                    ; package pdip
1620                    ; line_number = 16
1621                    ; pin 1 = power_supply
1622                    ; line_number = 17
1623                    ;  pin 2 = osc1
1624                    ; line_number = 18
1625                    ;  pin 3 = osc2
1626                    ; line_number = 19
1627                    ;  pin 4 = ra3_in, name=p6
1628 00000005 = p6___byte equ _porta
1629 00000003 = p6___bit equ 3
1630                    ; line_number = 20
1631                    ;  pin 5 = rx, name=rx
1632 00000007 = rx___byte equ _portc
1633 00000005 = rx___bit equ 5
1634                    ; line_number = 21
1635                    ;  pin 6 = tx, name=tx
1636 00000007 = tx___byte equ _portc
1637 00000004 = tx___bit equ 4
1638                    ; line_number = 22
1639                    ;  pin 7 = rc3_in, name=p3
1640 00000007 = p3___byte equ _portc
1641 00000003 = p3___bit equ 3
1642                    ; line_number = 23
1643                    ;  pin 8 = rc2_in, name=p2
1644 00000007 = p2___byte equ _portc
1645 00000002 = p2___bit equ 2
1646                    ; line_number = 24
1647                    ;  pin 9 = rc1_out, name=p1
1648 00000007 = p1___byte equ _portc
1649 00000001 = p1___bit equ 1
1650                    ; line_number = 25
1651                    ;  pin 10 = rc0_out, name=p0
1652 00000007 = p0___byte equ _portc
1653 00000000 = p0___bit equ 0
1654                    ; line_number = 26
1655                    ;  pin 11 = ra2_out, name=reset
1656 00000005 = reset___byte equ _porta
1657 00000002 = reset___bit equ 2
1658                    ; line_number = 27
1659                    ;  pin 12 = ra1_out, name=p5
1660 00000005 = p5___byte equ _porta
1661 00000001 = p5___bit equ 1
1662                    ; line_number = 28
1663                    ;  pin 13 = ra0_in, name=p4
1664 00000005 = p4___byte equ _porta
1665 00000000 = p4___bit equ 0
1666                    ; line_number = 29
1667                    ;  pin 14 = ground
1668            
1669                    ; line_number = 31
1670                    ; origin 0
1671   0000 :           org     0
1672            
1673                    ; line_number = 33
1674                    ; constant microsecond = clocks_per_instruction / 1000000
1675 00000000 = microsecond equ 0
1676            
1677                    ; line_number = 35
1678                    ; constant buffer_power = 5
1679 00000005 = buffer_power equ 5
1680                    ; line_number = 36
1681                    ; constant buffer_size = 1 << buffer_power
1682 00000020 = buffer_size equ 32
1683                    ; line_number = 37
1684                    ; constant buffer_mask = buffer_size - 1
1685 0000001f = buffer_mask equ 31
1686            
1687                    ; line_number = 39
1688                    ; global lows[buffer_size] array[byte]
1689 00000023 = lows equ globals___0+3
1690                    ; line_number = 40
1691                    ; global highs[buffer_size] array[byte]
1692 00000043 = highs equ globals___0+35
1693                    ; line_number = 41
1694                    ; global buffer_in byte
1695 00000063 = buffer_in equ globals___0+67
1696                    ; line_number = 42
1697                    ; global buffer_out byte
1698 00000064 = buffer_out equ globals___0+68
1699                    ; line_number = 43
1700                    ; global buffer_amount byte
1701 00000065 = buffer_amount equ globals___0+69
1702            
1703                    ; line_number = 45
1704                    ; global command byte
1705 00000066 = command equ globals___0+70
1706                    ; line_number = 46
1707                    ; global response byte
1708 00000067 = response equ globals___0+71
1709            
1710                    ; line_number = 48
1711                    ;info   48, 0
1712                    ; procedure main
1713   0000 :   main:
1714                    ; Initialize some registers
1715 0000 019f          clrf    _adcon0
1716 0001 1683          bsf     __rp0___byte, __rp0___bit
1717 0002 0191          clrf    _ansel
1718 0003 3007          movlw   7
1719 0004 1283          bcf     __rp0___byte, __rp0___bit
1720 0005 0099          movwf   _cmcon0
1721 0006 3039          movlw   57
1722 0007 1683          bsf     __rp0___byte, __rp0___bit
1723 0008 0085          movwf   _trisa
1724 0009 303c          movlw   60
1725 000a 0087          movwf   _trisc
1726                    ; arguments_none
1727                    ; line_number = 50
1728                    ;  returns_nothing
1729            
1730                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>01 code:XX=cc=>XX)
1731                    ; line_number = 52
1732                    ;  p0 := _false
1733                    ;info   52, 11
1734 000b 1283          bcf     __rp0___byte, __rp0___bit
1735 000c 1007          bcf     p0___byte, p0___bit
1736                    ; line_number = 53
1737                    ;  p1 := _false
1738                    ;info   53, 13
1739 000d 1087          bcf     p1___byte, p1___bit
1740                    ; line_number = 54
1741                    ;  p5 := _false
1742                    ;info   54, 14
1743 000e 1085          bcf     p5___byte, p5___bit
1744                    ; line_number = 55
1745                    ;  command := 0
1746                    ;info   55, 15
1747 000f 01e6          clrf    command
1748                    ; line_number = 56
1749                    ;  response := 0
1750                    ;info   56, 16
1751 0010 01e7          clrf    response
1752            
1753                    ; line_number = 58
1754                    ;  buffer_in := 0
1755                    ;info   58, 17
1756 0011 01e3          clrf    buffer_in
1757                    ; line_number = 59
1758                    ;  buffer_out := 0
1759                    ;info   59, 18
1760 0012 01e4          clrf    buffer_out
1761                    ; line_number = 60
1762                    ;  buffer_amount := 0
1763                    ;info   60, 19
1764 0013 01e5          clrf    buffer_amount
1765            
1766                    ; # Warm up the UART:
1767                    ; line_number = 63
1768                    ;  _trisc@5 := _true
1769                    ;info   63, 20
1770 00000087 = main__select__1___byte equ _trisc
1771 00000005 = main__select__1___bit equ 5
1772 0014 1683          bsf     __rp0___byte, __rp0___bit
1773 0015 1687          bsf     main__select__1___byte, main__select__1___bit
1774                    ; line_number = 64
1775                    ;  _trisc@4 := _true
1776                    ;info   64, 22
1777 00000087 = main__select__2___byte equ _trisc
1778 00000004 = main__select__2___bit equ 4
1779 0016 1607          bsf     main__select__2___byte, main__select__2___bit
1780            
1781                    ; line_number = 66
1782                    ;  _txsta := 0
1783                    ;info   66, 23
1784 0017 1283          bcf     __rp0___byte, __rp0___bit
1785 0018 0196          clrf    _txsta
1786                    ; line_number = 67
1787                    ;  _tx9 := _true
1788                    ;info   67, 25
1789 0019 1716          bsf     _tx9___byte, _tx9___bit
1790                    ; #_tx9 := _false
1791                    ; line_number = 69
1792                    ;  _txen := _true
1793                    ;info   69, 26
1794 001a 1696          bsf     _txen___byte, _txen___bit
1795                    ; line_number = 70
1796                    ;  _brgh := _true
1797                    ;info   70, 27
1798 001b 1516          bsf     _brgh___byte, _brgh___bit
1799            
1800                    ; line_number = 72
1801                    ;  _rcsta := 0
1802                    ;info   72, 28
1803 001c 0197          clrf    _rcsta
1804                    ; line_number = 73
1805                    ;  _spen := _true
1806                    ;info   73, 29
1807 001d 1797          bsf     _spen___byte, _spen___bit
1808                    ; line_number = 74
1809                    ;  _rx9 := _true
1810                    ;info   74, 30
1811 001e 1717          bsf     _rx9___byte, _rx9___bit
1812                    ; #_rx9 := _false
1813                    ; line_number = 76
1814                    ;  _cren := _true
1815                    ;info   76, 31
1816 001f 1617          bsf     _cren___byte, _cren___bit
1817                    ; #_adden := _true
1818                    ; line_number = 78
1819                    ;  _adden := _false
1820                    ;info   78, 32
1821 0020 1197          bcf     _adden___byte, _adden___bit
1822            
1823                    ; line_number = 80
1824                    ;  _baudctl := 0
1825                    ;info   80, 33
1826 0021 0191          clrf    _baudctl
1827                    ; line_number = 81
1828                    ;  _brg16 := _true
1829                    ;info   81, 34
1830 0022 1591          bsf     _brg16___byte, _brg16___bit
1831            
1832                    ; #_spbrg := _eusart_19200_low
1833                    ; #_spbrgh := _eusart_19200_high
1834                    ; #_spbrg := _eusart_115200_low
1835                    ; #_spbrgh := _eusart_115200_high
1836                    ; #_spbrg := _eusart_230400_low
1837                    ; #_spbrgh := _eusart_230400_high
1838                    ; #_spbrg := _eusart_406800_low
1839                    ; #_spbrgh := _eusart_406800_high
1840                    ; line_number = 91
1841                    ;  _spbrg := _eusart_500000_low
1842                    ;info   91, 35
1843 0023 3007          movlw   7
1844 0024 0093          movwf   _spbrg
1845                    ; line_number = 92
1846                    ;  _spbrgh := _eusart_500000_high
1847                    ;info   92, 37
1848 0025 0192          clrf    _spbrgh
1849                    ; #_spbrg := _eusart_500000_low
1850                    ; #_spbrgh := _eusart_625000_high
1851                    ; #_spbrg := _eusart_833333_low
1852                    ; #_spbrgh := _eusart_833333_high
1853                    ; #_spbrg := _eusart_1000000_low
1854                    ; #_spbrgh := _eusart_1000000_high
1855            
1856                    ; # For debugging only -- Just output pulses on {reset}:
1857                    ; #loop_forever
1858                    ; #	reset := _false
1859                    ; #	reset := _true
1860            
1861                    ; # For debugging only -- Just output pulses on {reset}:
1862                    ; #loop_forever
1863                    ; #	p5 := _false
1864                    ; #	p5 := _true
1865            
1866                    ; #loop_forever
1867                    ; #	if p6
1868                    ; #	    p5 := _true
1869                    ; #	    reset := _true
1870                    ; #	else
1871                    ; #	    p5 := _false
1872                    ; #	    reset := _false
1873            
1874                    ; line_number = 118
1875                    ;  loop_forever start
1876   0026 :   main__3:
1877                    ; line_number = 119
1878                    ; if p6 start
1879                    ;info   119, 38
1880                    ; =>bit_code_emit@symbol(): sym=p6
1881                    ; No 1TEST: true.size=7 false.size=7
1882                    ; No 2TEST: true.size=7 false.size=7
1883                    ; 2GOTO: Single test with two GOTO's
1884 0026 1d85          btfss   p6___byte, p6___bit
1885 0027 2830          goto    main__8
1886                    ; # P6=1; wait for it to go low:
1887                    ; line_number = 121
1888                    ;  while p6 start
1889   0028 :   main__6:
1890                    ;info   121, 40
1891                    ; =>bit_code_emit@symbol(): sym=p6
1892                    ; No 1TEST: true.size=3 false.size=0
1893                    ; No 2TEST: true.size=3 false.size=0
1894                    ; 1GOTO: Single test with GOTO
1895 0028 1d85          btfss   p6___byte, p6___bit
1896 0029 282d          goto    main__7
1897                    ; line_number = 122
1898                    ; if _rcif start
1899                    ;info   122, 42
1900                    ; =>bit_code_emit@symbol(): sym=_rcif
1901                    ; 1TEST: Single test with code in skip slot
1902 002a 1a8c          btfsc   _rcif___byte, _rcif___bit
1903                    ; line_number = 123
1904                    ; call byte_receive()
1905                    ;info   123, 43
1906 002b 2073          call    byte_receive
1907                    ; Recombine size1 = 0 || size2 = 0
1908                    ; line_number = 122
1909                    ; if _rcif done
1910 002c 2828          goto    main__6
1911                    ; Recombine size1 = 0 || size2 = 0
1912   002d :   main__7:
1913                    ; line_number = 121
1914                    ;  while p6 done
1915                    ; line_number = 124
1916                    ; call process()
1917                    ;info   124, 45
1918 002d 2039          call    process
1919                    ; line_number = 125
1920                    ;  p5 := _false
1921                    ;info   125, 46
1922 002e 1085          bcf     p5___byte, p5___bit
1923 002f 2838          goto    main__9
1924                    ; 2GOTO: Starting code 2
1925   0030 :   main__8:
1926 0030 1303          bcf     __rp1___byte, __rp1___bit
1927                    ; # P6=0; wait for it to go high:
1928                    ; line_number = 128
1929                    ;  while !p6 start
1930   0031 :   main__4:
1931                    ;info   128, 49
1932                    ; =>bit_code_emit@symbol(): sym=p6
1933                    ; No 1TEST: true.size=0 false.size=3
1934                    ; No 2TEST: true.size=0 false.size=3
1935                    ; 1GOTO: Single test with GOTO
1936 0031 1985          btfsc   p6___byte, p6___bit
1937 0032 2836          goto    main__5
1938                    ; line_number = 129
1939                    ; if _rcif start
1940                    ;info   129, 51
1941                    ; =>bit_code_emit@symbol(): sym=_rcif
1942                    ; 1TEST: Single test with code in skip slot
1943 0033 1a8c          btfsc   _rcif___byte, _rcif___bit
1944                    ; line_number = 130
1945                    ; call byte_receive()
1946                    ;info   130, 52
1947 0034 2073          call    byte_receive
1948                    ; Recombine size1 = 0 || size2 = 0
1949                    ; line_number = 129
1950                    ; if _rcif done
1951 0035 2831          goto    main__4
1952   0036 :   main__5:
1953                    ; Recombine size1 = 0 || size2 = 0
1954                    ; line_number = 128
1955                    ;  while !p6 done
1956                    ; line_number = 131
1957                    ; call process()
1958                    ;info   131, 54
1959 0036 2039          call    process
1960                    ; line_number = 132
1961                    ;  p5 := _true
1962                    ;info   132, 55
1963 0037 1485          bsf     p5___byte, p5___bit
1964            
1965   0038 :   main__9:
1966                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1967                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1968                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1969                    ; line_number = 119
1970                    ; if p6 done
1971                    ; line_number = 118
1972                    ;  loop_forever wrap-up
1973 0038 2826          goto    main__3
1974                    ; line_number = 118
1975                    ;  loop_forever done
1976                    ; delay after procedure statements=non-uniform
1977            
1978            
1979            
1980            
1981                    ; #    # Process commands:
1982                    ; #    loop_forever
1983                    ; #	# Wait for some data from the host:
1984                    ; #	while !p6
1985                    ; #	    if _rcif
1986                    ; #		call byte_receive()
1987                    ; #	call process()
1988                    ; #
1989                    ; #	# Wait for some data from the host:
1990                    ; #	while p6
1991                    ; #	    if _rcif
1992                    ; #		call byte_receive()
1993                    ; #	call process()
1994            
1995            
1996                    ; line_number = 149
1997                    ;info   149, 57
1998                    ; procedure process
1999   0039 :   process:
2000                    ; arguments_none
2001                    ; line_number = 151
2002                    ;  returns_nothing
2003            
2004                    ; # This procedure will process the bits coming in on P4:2 and
2005                    ; # respond with two bits on P1:0.
2006            
2007                    ; line_number = 156
2008                    ;  local low byte
2009 00000068 = process__low equ globals___0+72
2010                    ; line_number = 157
2011                    ;  local high byte
2012 00000069 = process__high equ globals___0+73
2013            
2014                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2015                    ; line_number = 159
2016                    ;  p1 := _false
2017                    ;info   159, 57
2018 0039 1087          bcf     p1___byte, p1___bit
2019                    ; line_number = 160
2020                    ;  p0 := _false
2021                    ;info   160, 58
2022 003a 1007          bcf     p0___byte, p0___bit
2023            
2024                    ; line_number = 162
2025                    ;  if p4 start
2026                    ;info   162, 59
2027                    ; =>bit_code_emit@symbol(): sym=p4
2028                    ; No 1TEST: true.size=36 false.size=16
2029                    ; No 2TEST: true.size=36 false.size=16
2030                    ; 2GOTO: Single test with two GOTO's
2031 003b 1c05          btfss   p4___byte, p4___bit
2032 003c 2862          goto    process__12
2033                    ; # We have a command to process:
2034                    ; line_number = 164
2035                    ;  if p3 start
2036                    ;info   164, 61
2037                    ; =>bit_code_emit@symbol(): sym=p3
2038                    ; No 1TEST: true.size=26 false.size=6
2039                    ; No 2TEST: true.size=26 false.size=6
2040                    ; 2GOTO: Single test with two GOTO's
2041 003d 1d87          btfss   p3___byte, p3___bit
2042 003e 285a          goto    process__10
2043                    ; # Command 1x:
2044                    ; line_number = 166
2045                    ;  if p2 start
2046                    ;info   166, 63
2047                    ; =>bit_code_emit@symbol(): sym=p2
2048                    ; No 1TEST: true.size=2 false.size=21
2049                    ; No 2TEST: true.size=2 false.size=21
2050                    ; 2GOTO: Single test with two GOTO's
2051 003f 1d07          btfss   p2___byte, p2___bit
2052 0040 2844          goto    process__8
2053                    ; # Command 11 (Reset):
2054                    ; line_number = 168
2055                    ;  reset := _false
2056                    ;info   168, 65
2057 0041 1105          bcf     reset___byte, reset___bit
2058                    ; line_number = 169
2059                    ;  delay 10 * microsecond start
2060                    ;info   169, 66
2061                    ; Delay expression evaluates to 0
2062                    ; line_number = 170
2063                    ; do_nothing
2064                    ;info   170, 66
2065                    ; line_number = 169
2066                    ;  delay 10 * microsecond done
2067                    ; line_number = 171
2068                    ; reset := _true
2069                    ;info   171, 66
2070 0042 1505          bsf     reset___byte, reset___bit
2071                    ; Recombine code1_bit_states != code2_bit_states
2072 0043 2859          goto    process__9
2073                    ; 2GOTO: Starting code 2
2074   0044 :   process__8:
2075                    ; # Command 10 (Receive Byte):
2076                    ; line_number = 174
2077                    ;  if buffer_amount = 0 start
2078                    ;info   174, 68
2079                    ; Left minus Right
2080 0044 0865          movf    buffer_amount,w
2081                    ; =>bit_code_emit@symbol(): sym=__z
2082                    ; No 1TEST: true.size=1 false.size=16
2083                    ; No 2TEST: true.size=1 false.size=16
2084                    ; 2GOTO: Single test with two GOTO's
2085 0045 1d03          btfss   __z___byte, __z___bit
2086 0046 2849          goto    process__6
2087                    ; # Empty buffer:
2088                    ; line_number = 176
2089                    ;  p1 := _true
2090                    ;info   176, 71
2091 0047 1487          bsf     p1___byte, p1___bit
2092                    ; Recombine code1_bit_states != code2_bit_states
2093 0048 2859          goto    process__7
2094                    ; 2GOTO: Starting code 2
2095   0049 :   process__6:
2096                    ; # We've got one:
2097                    ; line_number = 179
2098                    ;  high := highs[buffer_out & buffer_mask]
2099                    ;info   179, 73
2100 0049 301f          movlw   31
2101 004a 0564          andwf   buffer_out,w
2102 004b 3e43          addlw   highs
2103 004c 0084          movwf   __fsr
2104 004d 0800          movf    __indf,w
2105 004e 00e9          movwf   process__high
2106                    ; line_number = 180
2107                    ;  if high@0 start
2108                    ;info   180, 79
2109 00000069 = process__select__5___byte equ process__high
2110 00000000 = process__select__5___bit equ 0
2111                    ; =>bit_code_emit@symbol(): sym=process__select__5
2112                    ; 1TEST: Single test with code in skip slot
2113 004f 1869          btfsc   process__select__5___byte, process__select__5___bit
2114                    ; line_number = 181
2115                    ; p0 := _true
2116                    ;info   181, 80
2117 0050 1407          bsf     p0___byte, p0___bit
2118                    ; Recombine size1 = 0 || size2 = 0
2119                    ; line_number = 180
2120                    ;  if high@0 done
2121                    ; line_number = 182
2122                    ; response := lows[buffer_out & buffer_mask]
2123                    ;info   182, 81
2124 0051 301f          movlw   31
2125 0052 0564          andwf   buffer_out,w
2126 0053 3e23          addlw   lows
2127 0054 0084          movwf   __fsr
2128 0055 0800          movf    __indf,w
2129 0056 00e7          movwf   response
2130                    ; line_number = 183
2131                    ;  buffer_out := buffer_out + 1
2132                    ;info   183, 87
2133 0057 0ae4          incf    buffer_out,f
2134                    ; line_number = 184
2135                    ;  buffer_amount := buffer_amount - 1
2136                    ;info   184, 88
2137 0058 03e5          decf    buffer_amount,f
2138   0059 :   process__7:
2139                    ; 2GOTO: code1 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
2140                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2141                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2142                    ; line_number = 174
2143                    ;  if buffer_amount = 0 done
2144   0059 :   process__9:
2145                    ; 2GOTO: code1 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
2146                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2147                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2148                    ; line_number = 166
2149                    ;  if p2 done
2150 0059 2861          goto    process__11
2151                    ; 2GOTO: Starting code 2
2152   005a :   process__10:
2153 005a 1303          bcf     __rp1___byte, __rp1___bit
2154                    ; # Command 0x (Send a byte):
2155                    ; line_number = 187
2156                    ;  _tx9d := _false
2157                    ;info   187, 91
2158 005b 1016          bcf     _tx9d___byte, _tx9d___bit
2159                    ; line_number = 188
2160                    ;  if p2 start
2161                    ;info   188, 92
2162                    ; =>bit_code_emit@symbol(): sym=p2
2163                    ; 1TEST: Single test with code in skip slot
2164 005c 1907          btfsc   p2___byte, p2___bit
2165                    ; line_number = 189
2166                    ; _tx9d := _true
2167                    ;info   189, 93
2168 005d 1416          bsf     _tx9d___byte, _tx9d___bit
2169                    ; Recombine size1 = 0 || size2 = 0
2170                    ; line_number = 188
2171                    ;  if p2 done
2172                    ; line_number = 190
2173                    ; _txreg := command
2174                    ;info   190, 94
2175 005e 0866          movf    command,w
2176 005f 0095          movwf   _txreg
2177                    ; line_number = 191
2178                    ;  p1 := _true
2179                    ;info   191, 96
2180 0060 1487          bsf     p1___byte, p1___bit
2181   0061 :   process__11:
2182                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2183                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2184                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2185                    ; line_number = 164
2186                    ;  if p3 done
2187 0061 2872          goto    process__13
2188                    ; 2GOTO: Starting code 2
2189   0062 :   process__12:
2190                    ; # We just need to shift command data in and the response data out:
2191                    ; line_number = 194
2192                    ;  command := command >> 2
2193                    ;info   194, 98
2194                    ; Assignment of variable to self (no code needed)
2195 0062 0ce6          rrf     command,f
2196 0063 0ce6          rrf     command,f
2197 0064 303f          movlw   63
2198 0065 05e6          andwf   command,f
2199                    ; line_number = 195
2200                    ;  if p3 start
2201                    ;info   195, 102
2202                    ; =>bit_code_emit@symbol(): sym=p3
2203                    ; 1TEST: Single test with code in skip slot
2204 0066 1987          btfsc   p3___byte, p3___bit
2205                    ; line_number = 196
2206                    ; command@7 := _true
2207                    ;info   196, 103
2208 00000066 = process__select__1___byte equ command
2209 00000007 = process__select__1___bit equ 7
2210 0067 17e6          bsf     process__select__1___byte, process__select__1___bit
2211                    ; Recombine size1 = 0 || size2 = 0
2212                    ; line_number = 195
2213                    ;  if p3 done
2214                    ; line_number = 197
2215                    ; if p2 start
2216                    ;info   197, 104
2217                    ; =>bit_code_emit@symbol(): sym=p2
2218                    ; 1TEST: Single test with code in skip slot
2219 0068 1907          btfsc   p2___byte, p2___bit
2220                    ; line_number = 198
2221                    ; command@6 := _true
2222                    ;info   198, 105
2223 00000066 = process__select__2___byte equ command
2224 00000006 = process__select__2___bit equ 6
2225 0069 1766          bsf     process__select__2___byte, process__select__2___bit
2226            
2227                    ; Recombine size1 = 0 || size2 = 0
2228                    ; line_number = 197
2229                    ; if p2 done
2230                    ; line_number = 200
2231                    ; if response@7 start
2232                    ;info   200, 106
2233 00000067 = process__select__3___byte equ response
2234 00000007 = process__select__3___bit equ 7
2235                    ; =>bit_code_emit@symbol(): sym=process__select__3
2236                    ; 1TEST: Single test with code in skip slot
2237 006a 1be7          btfsc   process__select__3___byte, process__select__3___bit
2238                    ; line_number = 201
2239                    ; p1 := _true
2240                    ;info   201, 107
2241 006b 1487          bsf     p1___byte, p1___bit
2242                    ; Recombine size1 = 0 || size2 = 0
2243                    ; line_number = 200
2244                    ; if response@7 done
2245                    ; line_number = 202
2246                    ; if response@6 start
2247                    ;info   202, 108
2248 00000067 = process__select__4___byte equ response
2249 00000006 = process__select__4___bit equ 6
2250                    ; =>bit_code_emit@symbol(): sym=process__select__4
2251                    ; 1TEST: Single test with code in skip slot
2252 006c 1b67          btfsc   process__select__4___byte, process__select__4___bit
2253                    ; line_number = 203
2254                    ; p0 := _true
2255                    ;info   203, 109
2256 006d 1407          bsf     p0___byte, p0___bit
2257                    ; Recombine size1 = 0 || size2 = 0
2258                    ; line_number = 202
2259                    ; if response@6 done
2260                    ; line_number = 204
2261                    ; response := response << 2
2262                    ;info   204, 110
2263                    ; Assignment of variable to self (no code needed)
2264 006e 0de7          rlf     response,f
2265 006f 0de7          rlf     response,f
2266 0070 30fc          movlw   252
2267 0071 05e7          andwf   response,f
2268            
2269            
2270   0072 :   process__13:
2271                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2272                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2273                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2274                    ; line_number = 162
2275                    ;  if p4 done
2276                    ; delay after procedure statements=non-uniform
2277                    ; Implied return
2278 0072 3400          retlw   0
2279            
2280            
2281            
2282            
2283                    ; line_number = 207
2284                    ;info   207, 115
2285                    ; procedure byte_receive
2286   0073 :   byte_receive:
2287                    ; arguments_none
2288                    ; line_number = 209
2289                    ;  returns_nothing
2290            
2291                    ; # This procedure will receive a 9-bit "byte" from the UART
2292                    ; # and store the result into the {highs} and {lows} buffers.
2293            
2294                    ; line_number = 214
2295                    ;  local high byte
2296 0000006a = byte_receive__high equ globals___0+74
2297                    ; line_number = 215
2298                    ;  local low byte
2299 0000006b = byte_receive__low equ globals___0+75
2300            
2301                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2302                    ; line_number = 217
2303                    ;  high := 0
2304                    ;info   217, 115
2305 0073 01ea          clrf    byte_receive__high
2306                    ; line_number = 218
2307                    ;  if _rx9 start
2308                    ;info   218, 116
2309                    ; =>bit_code_emit@symbol(): sym=_rx9
2310                    ; 1TEST: Single test with code in skip slot
2311 0074 1b17          btfsc   _rx9___byte, _rx9___bit
2312                    ; line_number = 219
2313                    ; high := high + 1
2314                    ;info   219, 117
2315 0075 0aea          incf    byte_receive__high,f
2316                    ; Recombine size1 = 0 || size2 = 0
2317                    ; line_number = 218
2318                    ;  if _rx9 done
2319                    ; line_number = 220
2320                    ; highs[buffer_in & buffer_mask] := high
2321                    ;info   220, 118
2322                    ; index_fsr_first
2323 0076 301f          movlw   31
2324 0077 0563          andwf   buffer_in,w
2325 0078 3e43          addlw   highs
2326 0079 0084          movwf   __fsr
2327 007a 086a          movf    byte_receive__high,w
2328 007b 0080          movwf   __indf
2329                    ; line_number = 221
2330                    ;  lows[buffer_in & buffer_mask] := _rcreg
2331                    ;info   221, 124
2332                    ; index_fsr_first
2333 007c 301f          movlw   31
2334 007d 0563          andwf   buffer_in,w
2335 007e 3e23          addlw   lows
2336 007f 0084          movwf   __fsr
2337 0080 0814          movf    _rcreg,w
2338 0081 0080          movwf   __indf
2339                    ; line_number = 222
2340                    ;  buffer_in := buffer_in + 1
2341                    ;info   222, 130
2342 0082 0ae3          incf    buffer_in,f
2343                    ; line_number = 223
2344                    ;  buffer_amount := buffer_amount + 1
2345                    ;info   223, 131
2346 0083 0ae5          incf    buffer_amount,f
2347            
2348            
2349            
2350            
2351            
2352                    ; delay after procedure statements=non-uniform
2353                    ; Implied return
2354 0084 3400          retlw   0
2355            
2356            
2357            
2358            
2359            
2360                    ; Appending 7 delayed procedures to code bank 0
2361                    ; buffer = '_uart'
2362                    ; line_number = 7
2363                    ;info   7, 133
2364                    ; procedure _uart_byte_safe_get
2365   0085 :   _uart_byte_safe_get:
2366                    ; arguments_none
2367                    ; line_number = 9
2368                    ;  returns byte
2369            
2370                    ; # This procedure will the next byte from UART.  If no byte
2371                    ; # received in a reasonable time, 0xfc is returned.
2372            
2373                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2374                    ; line_number = 14
2375                    ;  loop_exactly 255 start
2376                    ;info   14, 133
2377 0000006c = _uart_byte_safe_get__1 equ globals___0+76
2378 0085 30ff          movlw   255
2379 0086 00ec          movwf   _uart_byte_safe_get__1
2380   0087 :   _uart_byte_safe_get__2:
2381                    ; line_number = 15
2382                    ; loop_exactly 255 start
2383                    ;info   15, 135
2384 0000006d = _uart_byte_safe_get__3 equ globals___0+77
2385 0087 30ff          movlw   255
2386 0088 00ed          movwf   _uart_byte_safe_get__3
2387   0089 :   _uart_byte_safe_get__4:
2388                    ; line_number = 16
2389                    ; if _rcif start
2390                    ;info   16, 137
2391                    ; =>bit_code_emit@symbol(): sym=_rcif
2392                    ; No 1TEST: true.size=2 false.size=0
2393                    ; No 2TEST: true.size=2 false.size=0
2394                    ; 1GOTO: Single test with GOTO
2395 0089 1e8c          btfss   _rcif___byte, _rcif___bit
2396 008a 288d          goto    _uart_byte_safe_get__5
2397                    ; line_number = 17
2398                    ; return _rcreg start
2399                    ; line_number = 17
2400                    ;info   17, 139
2401 008b 0814          movf    _rcreg,w
2402 008c 0008          return  
2403                    ; line_number = 17
2404                    ; return _rcreg done
2405                    ; Recombine size1 = 0 || size2 = 0
2406   008d :   _uart_byte_safe_get__5:
2407                    ; line_number = 16
2408                    ; if _rcif done
2409                    ; line_number = 15
2410                    ; loop_exactly 255 wrap-up
2411 008d 0bed          decfsz  _uart_byte_safe_get__3,f
2412 008e 2889          goto    _uart_byte_safe_get__4
2413                    ; line_number = 15
2414                    ; loop_exactly 255 done
2415                    ; line_number = 14
2416                    ;  loop_exactly 255 wrap-up
2417 008f 0bec          decfsz  _uart_byte_safe_get__1,f
2418 0090 2887          goto    _uart_byte_safe_get__2
2419                    ; line_number = 14
2420                    ;  loop_exactly 255 done
2421                    ; line_number = 18
2422                    ; return 0xfc start
2423                    ; line_number = 18
2424                    ;info   18, 145
2425 0091 34fc          retlw   252
2426                    ; line_number = 18
2427                    ; return 0xfc done
2428            
2429            
2430                    ; delay after procedure statements=non-uniform
2431            
2432            
2433            
2434            
2435                    ; line_number = 21
2436                    ;info   21, 146
2437                    ; procedure _uart_byte_get
2438   0092 :   _uart_byte_get:
2439                    ; arguments_none
2440                    ; line_number = 23
2441                    ;  returns byte
2442            
2443                    ; # This procedure will return the next byte from the UART.
2444            
2445                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2446                    ; line_number = 27
2447                    ;  while !_rcif start
2448   0092 :   _uart_byte_get__1:
2449                    ;info   27, 146
2450                    ; =>bit_code_emit@symbol(): sym=_rcif
2451                    ; 1TEST: Single test with code in skip slot
2452 0092 1e8c          btfss   _rcif___byte, _rcif___bit
2453                    ; line_number = 28
2454                    ; do_nothing
2455                    ;info   28, 147
2456 0093 2892          goto    _uart_byte_get__1
2457                    ; Recombine size1 = 0 || size2 = 0
2458                    ; line_number = 27
2459                    ;  while !_rcif done
2460                    ; line_number = 29
2461                    ; return _rcreg start
2462                    ; line_number = 29
2463                    ;info   29, 148
2464 0094 0814          movf    _rcreg,w
2465 0095 0008          return  
2466                    ; line_number = 29
2467                    ; return _rcreg done
2468            
2469            
2470                    ; delay after procedure statements=non-uniform
2471            
2472            
2473            
2474            
2475                    ; line_number = 32
2476                    ;info   32, 150
2477                    ; procedure _uart_hex_put
2478   0096 :   _uart_hex_put:
2479                    ; Last argument is sitting in W; save into argument variable
2480 0096 00a0          movwf   _uart_hex_put__value
2481                    ; delay=4294967295
2482                    ; line_number = 33
2483                    ; argument value byte
2484 00000020 = _uart_hex_put__value equ globals___0
2485                    ; line_number = 34
2486                    ;  returns_nothing
2487            
2488                    ; # This procedure will output {value} to the UART as a 2-digit
2489                    ; # hexadecimal number.
2490            
2491                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2492                    ; line_number = 39
2493                    ;  call _uart_nibble_put(value >> 4)
2494                    ;info   39, 151
2495 0000006e = _uart_hex_put__1 equ globals___0+78
2496 0097 0e20          swapf   _uart_hex_put__value,w
2497 0098 390f          andlw   15
2498 0099 209e          call    _uart_nibble_put
2499                    ; line_number = 40
2500                    ;  call _uart_nibble_put(value & 0xf)
2501                    ;info   40, 154
2502 009a 300f          movlw   15
2503 009b 0520          andwf   _uart_hex_put__value,w
2504 009c 209e          call    _uart_nibble_put
2505            
2506            
2507                    ; delay after procedure statements=non-uniform
2508                    ; Implied return
2509 009d 3400          retlw   0
2510            
2511            
2512            
2513            
2514                    ; line_number = 43
2515                    ;info   43, 158
2516                    ; procedure _uart_nibble_put
2517   009e :   _uart_nibble_put:
2518                    ; Last argument is sitting in W; save into argument variable
2519 009e 00a1          movwf   _uart_nibble_put__nibble
2520                    ; delay=4294967295
2521                    ; line_number = 44
2522                    ; argument nibble byte
2523 00000021 = _uart_nibble_put__nibble equ globals___0+1
2524                    ; line_number = 45
2525                    ;  returns_nothing
2526            
2527                    ; # This procedure will output {value} to UART as a 1 digit
2528                    ; # hexadecimal number.
2529            
2530                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2531                    ; line_number = 50
2532                    ;  if nibble < 10 start
2533                    ;info   50, 159
2534 009f 300a          movlw   10
2535 00a0 0221          subwf   _uart_nibble_put__nibble,w
2536                    ; =>bit_code_emit@symbol(): sym=__c
2537                    ; No 1TEST: true.size=1 false.size=1
2538                    ; 2TEST: two tests with code in both delay slots
2539 00a1 1803          btfsc   __c___byte, __c___bit
2540                    ; line_number = 53
2541                    ; nibble := nibble - 10 + 'A'
2542                    ;info   53, 162
2543 00a2 3037          movlw   55
2544 00a3 1c03          btfss   __c___byte, __c___bit
2545                    ; line_number = 51
2546                    ; nibble := nibble + '0'
2547                    ;info   51, 164
2548 00a4 3030          movlw   48
2549 00a5 07a1          addwf   _uart_nibble_put__nibble,f
2550                    ; line_number = 50
2551                    ;  if nibble < 10 done
2552                    ; line_number = 54
2553                    ; call _uart_byte_put(nibble)
2554                    ;info   54, 166
2555 00a6 0821          movf    _uart_nibble_put__nibble,w
2556 00a7 20b1          call    _uart_byte_put
2557            
2558            
2559                    ; delay after procedure statements=non-uniform
2560                    ; Implied return
2561 00a8 3400          retlw   0
2562            
2563            
2564            
2565            
2566                    ; line_number = 57
2567                    ;info   57, 169
2568                    ; procedure _uart_space_put
2569   00a9 :   _uart_space_put:
2570                    ; arguments_none
2571                    ; line_number = 59
2572                    ;  returns_nothing
2573            
2574                    ; # This procedure will output a space to the UART.
2575            
2576                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2577                    ; line_number = 63
2578                    ;  call _uart_byte_put(' ')
2579                    ;info   63, 169
2580 00a9 3020          movlw   32
2581 00aa 20b1          call    _uart_byte_put
2582            
2583            
2584                    ; delay after procedure statements=non-uniform
2585                    ; Implied return
2586 00ab 3400          retlw   0
2587            
2588            
2589            
2590            
2591                    ; line_number = 66
2592                    ;info   66, 172
2593                    ; procedure _uart_crlf_put
2594   00ac :   _uart_crlf_put:
2595                    ; arguments_none
2596                    ; line_number = 68
2597                    ;  returns_nothing
2598            
2599                    ; # This procedure will output a carriage return line feed sequecne to
2600                    ; # the UART.
2601            
2602                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2603                    ; line_number = 73
2604                    ;  call _uart_byte_put('\cr\')
2605                    ;info   73, 172
2606 00ac 300d          movlw   13
2607 00ad 20b1          call    _uart_byte_put
2608                    ; line_number = 74
2609                    ;  call _uart_byte_put('\lf\')
2610                    ;info   74, 174
2611 00ae 300a          movlw   10
2612 00af 20b1          call    _uart_byte_put
2613            
2614            
2615                    ; delay after procedure statements=non-uniform
2616                    ; Implied return
2617 00b0 3400          retlw   0
2618            
2619            
2620            
2621            
2622                    ; line_number = 77
2623                    ;info   77, 177
2624                    ; procedure _uart_byte_put
2625   00b1 :   _uart_byte_put:
2626                    ; Last argument is sitting in W; save into argument variable
2627 00b1 00a2          movwf   _uart_byte_put__byte
2628                    ; delay=4294967295
2629                    ; line_number = 78
2630                    ; argument byte byte
2631 00000022 = _uart_byte_put__byte equ globals___0+2
2632                    ; line_number = 79
2633                    ;  returns_nothing
2634            
2635                    ; # This procedure will send {byte} out using to the UART.
2636            
2637                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2638                    ; line_number = 83
2639                    ;  while !_txif start
2640   00b2 :   _uart_byte_put__1:
2641                    ;info   83, 178
2642                    ; =>bit_code_emit@symbol(): sym=_txif
2643                    ; 1TEST: Single test with code in skip slot
2644 00b2 1c8c          btfss   _txif___byte, _txif___bit
2645                    ; line_number = 84
2646                    ; do_nothing
2647                    ;info   84, 179
2648 00b3 28b2          goto    _uart_byte_put__1
2649                    ; Recombine size1 = 0 || size2 = 0
2650                    ; line_number = 83
2651                    ;  while !_txif done
2652                    ; line_number = 85
2653                    ; _txreg := byte
2654                    ;info   85, 180
2655 00b4 0822          movf    _uart_byte_put__byte,w
2656 00b5 0095          movwf   _txreg
2657            
2658            
2659                    ; delay after procedure statements=non-uniform
2660                    ; Implied return
2661 00b6 3400          retlw   0
2662            
2663            
2664            
2665            
2666                    ; Configuration bits
2667                    ; address = 0x2007, fill = 0x3000
2668                    ; fcmen = off (0x0)
2669                    ; ieso = off (0x0)
2670                    ; boden = off (0x0)
2671                    ; cpd = off (0x80)
2672                    ; cp = off (0x40)
2673                    ; mclre = off (0x0)
2674                    ; pwrte = off (0x10)
2675                    ; wdte = off (0x0)
2676                    ; fosc = hs (0x2)
2677                    ; 12498 = 0x30d2
2678   30d2 =           __config 12498
2679                    ; Define start addresses for data regions
2680                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2681                    ; Region="globals___0" Address=32" Size=80 Bytes=79 Bits=0 Available=1
2682                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
2683                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
2684                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2685                    end
