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 clock20mhz entered
1375                    ; # Copyright (c) 2004 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 = 'clock20mhz'
1383                    ; line_number = 9
1384                    ; constant clock_rate = 20000000
1385 01312d00 = clock_rate equ 20000000
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 004c4b40 = instruction_rate equ 5000000
1392            
1393            
1394                    ; buffer = 'bus'
1395                    ; line_number = 7
1396                    ; library clock20mhz 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 01312d00 = _eusart_clock equ 20000000
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 00000822 = _eusart_2400 equ 2082
1447                    ; line_number = 24
1448                    ; constant _eusart_2400_low = _eusart_2400 & 0xff
1449 00000022 = _eusart_2400_low equ 34
1450                    ; line_number = 25
1451                    ; constant _eusart_2400_high = _eusart_2400 >> 8
1452 00000008 = _eusart_2400_high equ 8
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 00000410 = _eusart_4800 equ 1040
1460                    ; line_number = 29
1461                    ; constant _eusart_4800_low = _eusart_4800 & 0xff
1462 00000010 = _eusart_4800_low equ 16
1463                    ; line_number = 30
1464                    ; constant _eusart_4800_high = _eusart_4800 >> 8
1465 00000004 = _eusart_4800_high equ 4
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 00000207 = _eusart_9600 equ 519
1473                    ; line_number = 34
1474                    ; constant _eusart_9600_low = _eusart_9600 & 0xff
1475 00000007 = _eusart_9600_low equ 7
1476                    ; line_number = 35
1477                    ; constant _eusart_9600_high = _eusart_9600 >> 8
1478 00000002 = _eusart_9600_high equ 2
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 00000103 = _eusart_19200 equ 259
1486                    ; line_number = 39
1487                    ; constant _eusart_19200_low = _eusart_19200 & 0xff
1488 00000003 = _eusart_19200_low equ 3
1489                    ; line_number = 40
1490                    ; constant _eusart_19200_high = _eusart_19200 >> 8
1491 00000001 = _eusart_19200_high equ 1
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 00000081 = _eusart_38400 equ 129
1499                    ; line_number = 44
1500                    ; constant _eusart_38400_low = _eusart_38400 & 0xff
1501 00000081 = _eusart_38400_low equ 129
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 00000055 = _eusart_57600 equ 85
1512                    ; line_number = 49
1513                    ; constant _eusart_57600_low = _eusart_57600 & 0xff
1514 00000055 = _eusart_57600_low equ 85
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 0000002a = _eusart_115200 equ 42
1525                    ; line_number = 54
1526                    ; constant _eusart_115200_low = _eusart_115200 & 0xff
1527 0000002a = _eusart_115200_low equ 42
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 00000014 = _eusart_230400 equ 20
1538                    ; line_number = 59
1539                    ; constant _eusart_230400_low = _eusart_230400 & 0xff
1540 00000014 = _eusart_230400_low equ 20
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 0000000b = _eusart_406800 equ 11
1551                    ; line_number = 64
1552                    ; constant _eusart_406800_low = _eusart_406800 & 0xff
1553 0000000b = _eusart_406800_low equ 11
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 00000009 = _eusart_500000 equ 9
1564                    ; line_number = 69
1565                    ; constant _eusart_500000_low = _eusart_500000 & 0xff
1566 00000009 = _eusart_500000_low equ 9
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 00000007 = _eusart_625000 equ 7
1577                    ; line_number = 74
1578                    ; constant _eusart_625000_low = _eusart_625000 & 0xff
1579 00000007 = _eusart_625000_low equ 7
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 00000005 = _eusart_833333 equ 5
1590                    ; line_number = 79
1591                    ; constant _eusart_833333_low = _eusart_833333 & 0xff
1592 00000005 = _eusart_833333_low equ 5
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 00000004 = _eusart_1000000 equ 4
1603                    ; line_number = 84
1604                    ; constant _eusart_1000000_low = _eusart_1000000 & 0xff
1605 00000004 = _eusart_1000000_low equ 4
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_625000_low
1842                    ;info   91, 35
1843 0023 3007          movlw   7
1844 0024 0093          movwf   _spbrg
1845                    ; line_number = 92
1846                    ;  _spbrgh := _eusart_625000_high
1847                    ;info   92, 37
1848 0025 0192          clrf    _spbrgh
1849                    ; #_spbrg := _eusart_833333_low
1850                    ; #_spbrgh := _eusart_833333_high
1851            
1852                    ; # For debugging only -- Just output pulses on {reset}:
1853                    ; #loop_forever
1854                    ; #	reset := _false
1855                    ; #	reset := _true
1856            
1857                    ; # For debugging only -- Just output pulses on {reset}:
1858                    ; #loop_forever
1859                    ; #	p5 := _false
1860                    ; #	p5 := _true
1861            
1862                    ; #loop_forever
1863                    ; #	if p6
1864                    ; #	    p5 := _true
1865                    ; #	    reset := _true
1866                    ; #	else
1867                    ; #	    p5 := _false
1868                    ; #	    reset := _false
1869            
1870                    ; line_number = 114
1871                    ;  loop_forever start
1872   0026 :   main__3:
1873                    ; line_number = 115
1874                    ; if p6 start
1875                    ;info   115, 38
1876                    ; =>bit_code_emit@symbol(): sym=p6
1877                    ; No 1TEST: true.size=7 false.size=7
1878                    ; No 2TEST: true.size=7 false.size=7
1879                    ; 2GOTO: Single test with two GOTO's
1880 0026 1d85          btfss   p6___byte, p6___bit
1881 0027 2830          goto    main__8
1882                    ; # P6=1; wait for it to go low:
1883                    ; line_number = 117
1884                    ;  while p6 start
1885   0028 :   main__6:
1886                    ;info   117, 40
1887                    ; =>bit_code_emit@symbol(): sym=p6
1888                    ; No 1TEST: true.size=3 false.size=0
1889                    ; No 2TEST: true.size=3 false.size=0
1890                    ; 1GOTO: Single test with GOTO
1891 0028 1d85          btfss   p6___byte, p6___bit
1892 0029 282d          goto    main__7
1893                    ; line_number = 118
1894                    ; if _rcif start
1895                    ;info   118, 42
1896                    ; =>bit_code_emit@symbol(): sym=_rcif
1897                    ; 1TEST: Single test with code in skip slot
1898 002a 1a8c          btfsc   _rcif___byte, _rcif___bit
1899                    ; line_number = 119
1900                    ; call byte_receive()
1901                    ;info   119, 43
1902 002b 2073          call    byte_receive
1903                    ; Recombine size1 = 0 || size2 = 0
1904                    ; line_number = 118
1905                    ; if _rcif done
1906 002c 2828          goto    main__6
1907                    ; Recombine size1 = 0 || size2 = 0
1908   002d :   main__7:
1909                    ; line_number = 117
1910                    ;  while p6 done
1911                    ; line_number = 120
1912                    ; call process()
1913                    ;info   120, 45
1914 002d 2039          call    process
1915                    ; line_number = 121
1916                    ;  p5 := _false
1917                    ;info   121, 46
1918 002e 1085          bcf     p5___byte, p5___bit
1919 002f 2838          goto    main__9
1920                    ; 2GOTO: Starting code 2
1921   0030 :   main__8:
1922 0030 1303          bcf     __rp1___byte, __rp1___bit
1923                    ; # P6=0; wait for it to go high:
1924                    ; line_number = 124
1925                    ;  while !p6 start
1926   0031 :   main__4:
1927                    ;info   124, 49
1928                    ; =>bit_code_emit@symbol(): sym=p6
1929                    ; No 1TEST: true.size=0 false.size=3
1930                    ; No 2TEST: true.size=0 false.size=3
1931                    ; 1GOTO: Single test with GOTO
1932 0031 1985          btfsc   p6___byte, p6___bit
1933 0032 2836          goto    main__5
1934                    ; line_number = 125
1935                    ; if _rcif start
1936                    ;info   125, 51
1937                    ; =>bit_code_emit@symbol(): sym=_rcif
1938                    ; 1TEST: Single test with code in skip slot
1939 0033 1a8c          btfsc   _rcif___byte, _rcif___bit
1940                    ; line_number = 126
1941                    ; call byte_receive()
1942                    ;info   126, 52
1943 0034 2073          call    byte_receive
1944                    ; Recombine size1 = 0 || size2 = 0
1945                    ; line_number = 125
1946                    ; if _rcif done
1947 0035 2831          goto    main__4
1948   0036 :   main__5:
1949                    ; Recombine size1 = 0 || size2 = 0
1950                    ; line_number = 124
1951                    ;  while !p6 done
1952                    ; line_number = 127
1953                    ; call process()
1954                    ;info   127, 54
1955 0036 2039          call    process
1956                    ; line_number = 128
1957                    ;  p5 := _true
1958                    ;info   128, 55
1959 0037 1485          bsf     p5___byte, p5___bit
1960            
1961   0038 :   main__9:
1962                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1963                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1964                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1965                    ; line_number = 115
1966                    ; if p6 done
1967                    ; line_number = 114
1968                    ;  loop_forever wrap-up
1969 0038 2826          goto    main__3
1970                    ; line_number = 114
1971                    ;  loop_forever done
1972                    ; delay after procedure statements=non-uniform
1973            
1974            
1975            
1976            
1977                    ; #    # Process commands:
1978                    ; #    loop_forever
1979                    ; #	# Wait for some data from the host:
1980                    ; #	while !p6
1981                    ; #	    if _rcif
1982                    ; #		call byte_receive()
1983                    ; #	call process()
1984                    ; #
1985                    ; #	# Wait for some data from the host:
1986                    ; #	while p6
1987                    ; #	    if _rcif
1988                    ; #		call byte_receive()
1989                    ; #	call process()
1990            
1991            
1992                    ; line_number = 145
1993                    ;info   145, 57
1994                    ; procedure process
1995   0039 :   process:
1996                    ; arguments_none
1997                    ; line_number = 147
1998                    ;  returns_nothing
1999            
2000                    ; # This procedure will process the bits coming in on P4:2 and
2001                    ; # respond with two bits on P1:0.
2002            
2003                    ; line_number = 152
2004                    ;  local low byte
2005 00000068 = process__low equ globals___0+72
2006                    ; line_number = 153
2007                    ;  local high byte
2008 00000069 = process__high equ globals___0+73
2009            
2010                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2011                    ; line_number = 155
2012                    ;  p1 := _false
2013                    ;info   155, 57
2014 0039 1087          bcf     p1___byte, p1___bit
2015                    ; line_number = 156
2016                    ;  p0 := _false
2017                    ;info   156, 58
2018 003a 1007          bcf     p0___byte, p0___bit
2019            
2020                    ; line_number = 158
2021                    ;  if p4 start
2022                    ;info   158, 59
2023                    ; =>bit_code_emit@symbol(): sym=p4
2024                    ; No 1TEST: true.size=36 false.size=16
2025                    ; No 2TEST: true.size=36 false.size=16
2026                    ; 2GOTO: Single test with two GOTO's
2027 003b 1c05          btfss   p4___byte, p4___bit
2028 003c 2862          goto    process__12
2029                    ; # We have a command to process:
2030                    ; line_number = 160
2031                    ;  if p3 start
2032                    ;info   160, 61
2033                    ; =>bit_code_emit@symbol(): sym=p3
2034                    ; No 1TEST: true.size=26 false.size=6
2035                    ; No 2TEST: true.size=26 false.size=6
2036                    ; 2GOTO: Single test with two GOTO's
2037 003d 1d87          btfss   p3___byte, p3___bit
2038 003e 285a          goto    process__10
2039                    ; # Command 1x:
2040                    ; line_number = 162
2041                    ;  if p2 start
2042                    ;info   162, 63
2043                    ; =>bit_code_emit@symbol(): sym=p2
2044                    ; No 1TEST: true.size=2 false.size=21
2045                    ; No 2TEST: true.size=2 false.size=21
2046                    ; 2GOTO: Single test with two GOTO's
2047 003f 1d07          btfss   p2___byte, p2___bit
2048 0040 2844          goto    process__8
2049                    ; # Command 11 (Reset):
2050                    ; line_number = 164
2051                    ;  reset := _false
2052                    ;info   164, 65
2053 0041 1105          bcf     reset___byte, reset___bit
2054                    ; line_number = 165
2055                    ;  delay 10 * microsecond start
2056                    ;info   165, 66
2057                    ; Delay expression evaluates to 0
2058                    ; line_number = 166
2059                    ; do_nothing
2060                    ;info   166, 66
2061                    ; line_number = 165
2062                    ;  delay 10 * microsecond done
2063                    ; line_number = 167
2064                    ; reset := _true
2065                    ;info   167, 66
2066 0042 1505          bsf     reset___byte, reset___bit
2067                    ; Recombine code1_bit_states != code2_bit_states
2068 0043 2859          goto    process__9
2069                    ; 2GOTO: Starting code 2
2070   0044 :   process__8:
2071                    ; # Command 10 (Receive Byte):
2072                    ; line_number = 170
2073                    ;  if buffer_amount = 0 start
2074                    ;info   170, 68
2075                    ; Left minus Right
2076 0044 0865          movf    buffer_amount,w
2077                    ; =>bit_code_emit@symbol(): sym=__z
2078                    ; No 1TEST: true.size=1 false.size=16
2079                    ; No 2TEST: true.size=1 false.size=16
2080                    ; 2GOTO: Single test with two GOTO's
2081 0045 1d03          btfss   __z___byte, __z___bit
2082 0046 2849          goto    process__6
2083                    ; # Empty buffer:
2084                    ; line_number = 172
2085                    ;  p1 := _true
2086                    ;info   172, 71
2087 0047 1487          bsf     p1___byte, p1___bit
2088                    ; Recombine code1_bit_states != code2_bit_states
2089 0048 2859          goto    process__7
2090                    ; 2GOTO: Starting code 2
2091   0049 :   process__6:
2092                    ; # We've got one:
2093                    ; line_number = 175
2094                    ;  high := highs[buffer_out & buffer_mask]
2095                    ;info   175, 73
2096 0049 301f          movlw   31
2097 004a 0564          andwf   buffer_out,w
2098 004b 3e43          addlw   highs
2099 004c 0084          movwf   __fsr
2100 004d 0800          movf    __indf,w
2101 004e 00e9          movwf   process__high
2102                    ; line_number = 176
2103                    ;  if high@0 start
2104                    ;info   176, 79
2105 00000069 = process__select__5___byte equ process__high
2106 00000000 = process__select__5___bit equ 0
2107                    ; =>bit_code_emit@symbol(): sym=process__select__5
2108                    ; 1TEST: Single test with code in skip slot
2109 004f 1869          btfsc   process__select__5___byte, process__select__5___bit
2110                    ; line_number = 177
2111                    ; p0 := _true
2112                    ;info   177, 80
2113 0050 1407          bsf     p0___byte, p0___bit
2114                    ; Recombine size1 = 0 || size2 = 0
2115                    ; line_number = 176
2116                    ;  if high@0 done
2117                    ; line_number = 178
2118                    ; response := lows[buffer_out & buffer_mask]
2119                    ;info   178, 81
2120 0051 301f          movlw   31
2121 0052 0564          andwf   buffer_out,w
2122 0053 3e23          addlw   lows
2123 0054 0084          movwf   __fsr
2124 0055 0800          movf    __indf,w
2125 0056 00e7          movwf   response
2126                    ; line_number = 179
2127                    ;  buffer_out := buffer_out + 1
2128                    ;info   179, 87
2129 0057 0ae4          incf    buffer_out,f
2130                    ; line_number = 180
2131                    ;  buffer_amount := buffer_amount - 1
2132                    ;info   180, 88
2133 0058 03e5          decf    buffer_amount,f
2134   0059 :   process__7:
2135                    ; 2GOTO: code1 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
2136                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2137                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2138                    ; line_number = 170
2139                    ;  if buffer_amount = 0 done
2140   0059 :   process__9:
2141                    ; 2GOTO: code1 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
2142                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2143                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2144                    ; line_number = 162
2145                    ;  if p2 done
2146 0059 2861          goto    process__11
2147                    ; 2GOTO: Starting code 2
2148   005a :   process__10:
2149 005a 1303          bcf     __rp1___byte, __rp1___bit
2150                    ; # Command 0x (Send a byte):
2151                    ; line_number = 183
2152                    ;  _tx9d := _false
2153                    ;info   183, 91
2154 005b 1016          bcf     _tx9d___byte, _tx9d___bit
2155                    ; line_number = 184
2156                    ;  if p2 start
2157                    ;info   184, 92
2158                    ; =>bit_code_emit@symbol(): sym=p2
2159                    ; 1TEST: Single test with code in skip slot
2160 005c 1907          btfsc   p2___byte, p2___bit
2161                    ; line_number = 185
2162                    ; _tx9d := _true
2163                    ;info   185, 93
2164 005d 1416          bsf     _tx9d___byte, _tx9d___bit
2165                    ; Recombine size1 = 0 || size2 = 0
2166                    ; line_number = 184
2167                    ;  if p2 done
2168                    ; line_number = 186
2169                    ; _txreg := command
2170                    ;info   186, 94
2171 005e 0866          movf    command,w
2172 005f 0095          movwf   _txreg
2173                    ; line_number = 187
2174                    ;  p1 := _true
2175                    ;info   187, 96
2176 0060 1487          bsf     p1___byte, p1___bit
2177   0061 :   process__11:
2178                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2179                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2180                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2181                    ; line_number = 160
2182                    ;  if p3 done
2183 0061 2872          goto    process__13
2184                    ; 2GOTO: Starting code 2
2185   0062 :   process__12:
2186                    ; # We just need to shift command data in and the response data out:
2187                    ; line_number = 190
2188                    ;  command := command >> 2
2189                    ;info   190, 98
2190                    ; Assignment of variable to self (no code needed)
2191 0062 0ce6          rrf     command,f
2192 0063 0ce6          rrf     command,f
2193 0064 303f          movlw   63
2194 0065 05e6          andwf   command,f
2195                    ; line_number = 191
2196                    ;  if p3 start
2197                    ;info   191, 102
2198                    ; =>bit_code_emit@symbol(): sym=p3
2199                    ; 1TEST: Single test with code in skip slot
2200 0066 1987          btfsc   p3___byte, p3___bit
2201                    ; line_number = 192
2202                    ; command@7 := _true
2203                    ;info   192, 103
2204 00000066 = process__select__1___byte equ command
2205 00000007 = process__select__1___bit equ 7
2206 0067 17e6          bsf     process__select__1___byte, process__select__1___bit
2207                    ; Recombine size1 = 0 || size2 = 0
2208                    ; line_number = 191
2209                    ;  if p3 done
2210                    ; line_number = 193
2211                    ; if p2 start
2212                    ;info   193, 104
2213                    ; =>bit_code_emit@symbol(): sym=p2
2214                    ; 1TEST: Single test with code in skip slot
2215 0068 1907          btfsc   p2___byte, p2___bit
2216                    ; line_number = 194
2217                    ; command@6 := _true
2218                    ;info   194, 105
2219 00000066 = process__select__2___byte equ command
2220 00000006 = process__select__2___bit equ 6
2221 0069 1766          bsf     process__select__2___byte, process__select__2___bit
2222            
2223                    ; Recombine size1 = 0 || size2 = 0
2224                    ; line_number = 193
2225                    ; if p2 done
2226                    ; line_number = 196
2227                    ; if response@7 start
2228                    ;info   196, 106
2229 00000067 = process__select__3___byte equ response
2230 00000007 = process__select__3___bit equ 7
2231                    ; =>bit_code_emit@symbol(): sym=process__select__3
2232                    ; 1TEST: Single test with code in skip slot
2233 006a 1be7          btfsc   process__select__3___byte, process__select__3___bit
2234                    ; line_number = 197
2235                    ; p1 := _true
2236                    ;info   197, 107
2237 006b 1487          bsf     p1___byte, p1___bit
2238                    ; Recombine size1 = 0 || size2 = 0
2239                    ; line_number = 196
2240                    ; if response@7 done
2241                    ; line_number = 198
2242                    ; if response@6 start
2243                    ;info   198, 108
2244 00000067 = process__select__4___byte equ response
2245 00000006 = process__select__4___bit equ 6
2246                    ; =>bit_code_emit@symbol(): sym=process__select__4
2247                    ; 1TEST: Single test with code in skip slot
2248 006c 1b67          btfsc   process__select__4___byte, process__select__4___bit
2249                    ; line_number = 199
2250                    ; p0 := _true
2251                    ;info   199, 109
2252 006d 1407          bsf     p0___byte, p0___bit
2253                    ; Recombine size1 = 0 || size2 = 0
2254                    ; line_number = 198
2255                    ; if response@6 done
2256                    ; line_number = 200
2257                    ; response := response << 2
2258                    ;info   200, 110
2259                    ; Assignment of variable to self (no code needed)
2260 006e 0de7          rlf     response,f
2261 006f 0de7          rlf     response,f
2262 0070 30fc          movlw   252
2263 0071 05e7          andwf   response,f
2264            
2265            
2266   0072 :   process__13:
2267                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2268                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2269                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2270                    ; line_number = 158
2271                    ;  if p4 done
2272                    ; delay after procedure statements=non-uniform
2273                    ; Implied return
2274 0072 3400          retlw   0
2275            
2276            
2277            
2278            
2279                    ; line_number = 203
2280                    ;info   203, 115
2281                    ; procedure byte_receive
2282   0073 :   byte_receive:
2283                    ; arguments_none
2284                    ; line_number = 205
2285                    ;  returns_nothing
2286            
2287                    ; # This procedure will receive a 9-bit "byte" from the UART
2288                    ; # and store the result into the {highs} and {lows} buffers.
2289            
2290                    ; line_number = 210
2291                    ;  local high byte
2292 0000006a = byte_receive__high equ globals___0+74
2293                    ; line_number = 211
2294                    ;  local low byte
2295 0000006b = byte_receive__low equ globals___0+75
2296            
2297                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2298                    ; line_number = 213
2299                    ;  high := 0
2300                    ;info   213, 115
2301 0073 01ea          clrf    byte_receive__high
2302                    ; line_number = 214
2303                    ;  if _rx9 start
2304                    ;info   214, 116
2305                    ; =>bit_code_emit@symbol(): sym=_rx9
2306                    ; 1TEST: Single test with code in skip slot
2307 0074 1b17          btfsc   _rx9___byte, _rx9___bit
2308                    ; line_number = 215
2309                    ; high := high + 1
2310                    ;info   215, 117
2311 0075 0aea          incf    byte_receive__high,f
2312                    ; Recombine size1 = 0 || size2 = 0
2313                    ; line_number = 214
2314                    ;  if _rx9 done
2315                    ; line_number = 216
2316                    ; highs[buffer_in & buffer_mask] := high
2317                    ;info   216, 118
2318                    ; index_fsr_first
2319 0076 301f          movlw   31
2320 0077 0563          andwf   buffer_in,w
2321 0078 3e43          addlw   highs
2322 0079 0084          movwf   __fsr
2323 007a 086a          movf    byte_receive__high,w
2324 007b 0080          movwf   __indf
2325                    ; line_number = 217
2326                    ;  lows[buffer_in & buffer_mask] := _rcreg
2327                    ;info   217, 124
2328                    ; index_fsr_first
2329 007c 301f          movlw   31
2330 007d 0563          andwf   buffer_in,w
2331 007e 3e23          addlw   lows
2332 007f 0084          movwf   __fsr
2333 0080 0814          movf    _rcreg,w
2334 0081 0080          movwf   __indf
2335                    ; line_number = 218
2336                    ;  buffer_in := buffer_in + 1
2337                    ;info   218, 130
2338 0082 0ae3          incf    buffer_in,f
2339                    ; line_number = 219
2340                    ;  buffer_amount := buffer_amount + 1
2341                    ;info   219, 131
2342 0083 0ae5          incf    buffer_amount,f
2343            
2344            
2345            
2346            
2347            
2348                    ; delay after procedure statements=non-uniform
2349                    ; Implied return
2350 0084 3400          retlw   0
2351            
2352            
2353            
2354            
2355            
2356                    ; Appending 7 delayed procedures to code bank 0
2357                    ; buffer = '_uart'
2358                    ; line_number = 7
2359                    ;info   7, 133
2360                    ; procedure _uart_byte_safe_get
2361   0085 :   _uart_byte_safe_get:
2362                    ; arguments_none
2363                    ; line_number = 9
2364                    ;  returns byte
2365            
2366                    ; # This procedure will the next byte from UART.  If no byte
2367                    ; # received in a reasonable time, 0xfc is returned.
2368            
2369                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2370                    ; line_number = 14
2371                    ;  loop_exactly 255 start
2372                    ;info   14, 133
2373 0000006c = _uart_byte_safe_get__1 equ globals___0+76
2374 0085 30ff          movlw   255
2375 0086 00ec          movwf   _uart_byte_safe_get__1
2376   0087 :   _uart_byte_safe_get__2:
2377                    ; line_number = 15
2378                    ; loop_exactly 255 start
2379                    ;info   15, 135
2380 0000006d = _uart_byte_safe_get__3 equ globals___0+77
2381 0087 30ff          movlw   255
2382 0088 00ed          movwf   _uart_byte_safe_get__3
2383   0089 :   _uart_byte_safe_get__4:
2384                    ; line_number = 16
2385                    ; if _rcif start
2386                    ;info   16, 137
2387                    ; =>bit_code_emit@symbol(): sym=_rcif
2388                    ; No 1TEST: true.size=2 false.size=0
2389                    ; No 2TEST: true.size=2 false.size=0
2390                    ; 1GOTO: Single test with GOTO
2391 0089 1e8c          btfss   _rcif___byte, _rcif___bit
2392 008a 288d          goto    _uart_byte_safe_get__5
2393                    ; line_number = 17
2394                    ; return _rcreg start
2395                    ; line_number = 17
2396                    ;info   17, 139
2397 008b 0814          movf    _rcreg,w
2398 008c 0008          return  
2399                    ; line_number = 17
2400                    ; return _rcreg done
2401                    ; Recombine size1 = 0 || size2 = 0
2402   008d :   _uart_byte_safe_get__5:
2403                    ; line_number = 16
2404                    ; if _rcif done
2405                    ; line_number = 15
2406                    ; loop_exactly 255 wrap-up
2407 008d 0bed          decfsz  _uart_byte_safe_get__3,f
2408 008e 2889          goto    _uart_byte_safe_get__4
2409                    ; line_number = 15
2410                    ; loop_exactly 255 done
2411                    ; line_number = 14
2412                    ;  loop_exactly 255 wrap-up
2413 008f 0bec          decfsz  _uart_byte_safe_get__1,f
2414 0090 2887          goto    _uart_byte_safe_get__2
2415                    ; line_number = 14
2416                    ;  loop_exactly 255 done
2417                    ; line_number = 18
2418                    ; return 0xfc start
2419                    ; line_number = 18
2420                    ;info   18, 145
2421 0091 34fc          retlw   252
2422                    ; line_number = 18
2423                    ; return 0xfc done
2424            
2425            
2426                    ; delay after procedure statements=non-uniform
2427            
2428            
2429            
2430            
2431                    ; line_number = 21
2432                    ;info   21, 146
2433                    ; procedure _uart_byte_get
2434   0092 :   _uart_byte_get:
2435                    ; arguments_none
2436                    ; line_number = 23
2437                    ;  returns byte
2438            
2439                    ; # This procedure will return the next byte from the UART.
2440            
2441                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2442                    ; line_number = 27
2443                    ;  while !_rcif start
2444   0092 :   _uart_byte_get__1:
2445                    ;info   27, 146
2446                    ; =>bit_code_emit@symbol(): sym=_rcif
2447                    ; 1TEST: Single test with code in skip slot
2448 0092 1e8c          btfss   _rcif___byte, _rcif___bit
2449                    ; line_number = 28
2450                    ; do_nothing
2451                    ;info   28, 147
2452 0093 2892          goto    _uart_byte_get__1
2453                    ; Recombine size1 = 0 || size2 = 0
2454                    ; line_number = 27
2455                    ;  while !_rcif done
2456                    ; line_number = 29
2457                    ; return _rcreg start
2458                    ; line_number = 29
2459                    ;info   29, 148
2460 0094 0814          movf    _rcreg,w
2461 0095 0008          return  
2462                    ; line_number = 29
2463                    ; return _rcreg done
2464            
2465            
2466                    ; delay after procedure statements=non-uniform
2467            
2468            
2469            
2470            
2471                    ; line_number = 32
2472                    ;info   32, 150
2473                    ; procedure _uart_hex_put
2474   0096 :   _uart_hex_put:
2475                    ; Last argument is sitting in W; save into argument variable
2476 0096 00a0          movwf   _uart_hex_put__value
2477                    ; delay=4294967295
2478                    ; line_number = 33
2479                    ; argument value byte
2480 00000020 = _uart_hex_put__value equ globals___0
2481                    ; line_number = 34
2482                    ;  returns_nothing
2483            
2484                    ; # This procedure will output {value} to the UART as a 2-digit
2485                    ; # hexadecimal number.
2486            
2487                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2488                    ; line_number = 39
2489                    ;  call _uart_nibble_put(value >> 4)
2490                    ;info   39, 151
2491 0000006e = _uart_hex_put__1 equ globals___0+78
2492 0097 0e20          swapf   _uart_hex_put__value,w
2493 0098 390f          andlw   15
2494 0099 209e          call    _uart_nibble_put
2495                    ; line_number = 40
2496                    ;  call _uart_nibble_put(value & 0xf)
2497                    ;info   40, 154
2498 009a 300f          movlw   15
2499 009b 0520          andwf   _uart_hex_put__value,w
2500 009c 209e          call    _uart_nibble_put
2501            
2502            
2503                    ; delay after procedure statements=non-uniform
2504                    ; Implied return
2505 009d 3400          retlw   0
2506            
2507            
2508            
2509            
2510                    ; line_number = 43
2511                    ;info   43, 158
2512                    ; procedure _uart_nibble_put
2513   009e :   _uart_nibble_put:
2514                    ; Last argument is sitting in W; save into argument variable
2515 009e 00a1          movwf   _uart_nibble_put__nibble
2516                    ; delay=4294967295
2517                    ; line_number = 44
2518                    ; argument nibble byte
2519 00000021 = _uart_nibble_put__nibble equ globals___0+1
2520                    ; line_number = 45
2521                    ;  returns_nothing
2522            
2523                    ; # This procedure will output {value} to UART as a 1 digit
2524                    ; # hexadecimal number.
2525            
2526                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2527                    ; line_number = 50
2528                    ;  if nibble < 10 start
2529                    ;info   50, 159
2530 009f 300a          movlw   10
2531 00a0 0221          subwf   _uart_nibble_put__nibble,w
2532                    ; =>bit_code_emit@symbol(): sym=__c
2533                    ; No 1TEST: true.size=1 false.size=1
2534                    ; 2TEST: two tests with code in both delay slots
2535 00a1 1803          btfsc   __c___byte, __c___bit
2536                    ; line_number = 53
2537                    ; nibble := nibble - 10 + 'A'
2538                    ;info   53, 162
2539 00a2 3037          movlw   55
2540 00a3 1c03          btfss   __c___byte, __c___bit
2541                    ; line_number = 51
2542                    ; nibble := nibble + '0'
2543                    ;info   51, 164
2544 00a4 3030          movlw   48
2545 00a5 07a1          addwf   _uart_nibble_put__nibble,f
2546                    ; line_number = 50
2547                    ;  if nibble < 10 done
2548                    ; line_number = 54
2549                    ; call _uart_byte_put(nibble)
2550                    ;info   54, 166
2551 00a6 0821          movf    _uart_nibble_put__nibble,w
2552 00a7 20b1          call    _uart_byte_put
2553            
2554            
2555                    ; delay after procedure statements=non-uniform
2556                    ; Implied return
2557 00a8 3400          retlw   0
2558            
2559            
2560            
2561            
2562                    ; line_number = 57
2563                    ;info   57, 169
2564                    ; procedure _uart_space_put
2565   00a9 :   _uart_space_put:
2566                    ; arguments_none
2567                    ; line_number = 59
2568                    ;  returns_nothing
2569            
2570                    ; # This procedure will output a space to the UART.
2571            
2572                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2573                    ; line_number = 63
2574                    ;  call _uart_byte_put(' ')
2575                    ;info   63, 169
2576 00a9 3020          movlw   32
2577 00aa 20b1          call    _uart_byte_put
2578            
2579            
2580                    ; delay after procedure statements=non-uniform
2581                    ; Implied return
2582 00ab 3400          retlw   0
2583            
2584            
2585            
2586            
2587                    ; line_number = 66
2588                    ;info   66, 172
2589                    ; procedure _uart_crlf_put
2590   00ac :   _uart_crlf_put:
2591                    ; arguments_none
2592                    ; line_number = 68
2593                    ;  returns_nothing
2594            
2595                    ; # This procedure will output a carriage return line feed sequecne to
2596                    ; # the UART.
2597            
2598                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2599                    ; line_number = 73
2600                    ;  call _uart_byte_put('\cr\')
2601                    ;info   73, 172
2602 00ac 300d          movlw   13
2603 00ad 20b1          call    _uart_byte_put
2604                    ; line_number = 74
2605                    ;  call _uart_byte_put('\lf\')
2606                    ;info   74, 174
2607 00ae 300a          movlw   10
2608 00af 20b1          call    _uart_byte_put
2609            
2610            
2611                    ; delay after procedure statements=non-uniform
2612                    ; Implied return
2613 00b0 3400          retlw   0
2614            
2615            
2616            
2617            
2618                    ; line_number = 77
2619                    ;info   77, 177
2620                    ; procedure _uart_byte_put
2621   00b1 :   _uart_byte_put:
2622                    ; Last argument is sitting in W; save into argument variable
2623 00b1 00a2          movwf   _uart_byte_put__byte
2624                    ; delay=4294967295
2625                    ; line_number = 78
2626                    ; argument byte byte
2627 00000022 = _uart_byte_put__byte equ globals___0+2
2628                    ; line_number = 79
2629                    ;  returns_nothing
2630            
2631                    ; # This procedure will send {byte} out using to the UART.
2632            
2633                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2634                    ; line_number = 83
2635                    ;  while !_txif start
2636   00b2 :   _uart_byte_put__1:
2637                    ;info   83, 178
2638                    ; =>bit_code_emit@symbol(): sym=_txif
2639                    ; 1TEST: Single test with code in skip slot
2640 00b2 1c8c          btfss   _txif___byte, _txif___bit
2641                    ; line_number = 84
2642                    ; do_nothing
2643                    ;info   84, 179
2644 00b3 28b2          goto    _uart_byte_put__1
2645                    ; Recombine size1 = 0 || size2 = 0
2646                    ; line_number = 83
2647                    ;  while !_txif done
2648                    ; line_number = 85
2649                    ; _txreg := byte
2650                    ;info   85, 180
2651 00b4 0822          movf    _uart_byte_put__byte,w
2652 00b5 0095          movwf   _txreg
2653            
2654            
2655                    ; delay after procedure statements=non-uniform
2656                    ; Implied return
2657 00b6 3400          retlw   0
2658            
2659            
2660            
2661            
2662                    ; Configuration bits
2663                    ; address = 0x2007, fill = 0x3000
2664                    ; fcmen = off (0x0)
2665                    ; ieso = off (0x0)
2666                    ; boden = off (0x0)
2667                    ; cpd = off (0x80)
2668                    ; cp = off (0x40)
2669                    ; mclre = off (0x0)
2670                    ; pwrte = off (0x10)
2671                    ; wdte = off (0x0)
2672                    ; fosc = hs (0x2)
2673                    ; 12498 = 0x30d2
2674   30d2 =           __config 12498
2675                    ; Define start addresses for data regions
2676                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2677                    ; Region="globals___0" Address=32" Size=80 Bytes=79 Bits=0 Available=1
2678                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
2679                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
2680                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2681                    end
