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 by Wayne C. Gramlich
31                      ; # All rights reserved.
32              
33                      ; buffer = 'io8'
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 = 'io8'
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 = 'io8'
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 = 'io8'
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 = ra4_in, name=io1, mask=io1_mask, bit=io1_bit
1626 00000005 = io1___byte equ _porta
1627 00000004 = io1___bit equ 4
1628 00000010 = io1_mask equ 16
1629 00000004 = io1_bit equ 4
1630                    ; line_number = 19
1631                    ;  pin 4 = ra3_nc, name=nc1
1632 00000005 = nc1___byte equ _porta
1633 00000003 = nc1___bit equ 3
1634                    ; line_number = 20
1635                    ;  pin 5 = rx, name=rx, bit=rx_bit
1636 00000007 = rx___byte equ _portc
1637 00000005 = rx___bit equ 5
1638 00000005 = rx_bit equ 5
1639                    ; line_number = 21
1640                    ;  pin 6 = tx, name=tx, bit=tx_bit
1641 00000007 = tx___byte equ _portc
1642 00000004 = tx___bit equ 4
1643 00000004 = tx_bit equ 4
1644                    ; line_number = 22
1645                    ;  pin 7 = rc3_in, name=io7, mask=io7_mask, bit=io7_bit
1646 00000007 = io7___byte equ _portc
1647 00000003 = io7___bit equ 3
1648 00000008 = io7_mask equ 8
1649 00000003 = io7_bit equ 3
1650                    ; line_number = 23
1651                    ;  pin 8 = rc2_in, name=io6, mask=io6_mask, bit=io6_bit
1652 00000007 = io6___byte equ _portc
1653 00000002 = io6___bit equ 2
1654 00000004 = io6_mask equ 4
1655 00000002 = io6_bit equ 2
1656                    ; line_number = 24
1657                    ;  pin 9 = rc1_in, name=io5, mask=io5_mask, bit=io5_bit
1658 00000007 = io5___byte equ _portc
1659 00000001 = io5___bit equ 1
1660 00000002 = io5_mask equ 2
1661 00000001 = io5_bit equ 1
1662                    ; line_number = 25
1663                    ;  pin 10 = rc0_in, name=io4, mask=io4_mask, bit=io4_bit
1664 00000007 = io4___byte equ _portc
1665 00000000 = io4___bit equ 0
1666 00000001 = io4_mask equ 1
1667 00000000 = io4_bit equ 0
1668                    ; line_number = 26
1669                    ;  pin 11 = ra2_in, name=io3, mask=io3_mask, bit=io3_bit
1670 00000005 = io3___byte equ _porta
1671 00000002 = io3___bit equ 2
1672 00000004 = io3_mask equ 4
1673 00000002 = io3_bit equ 2
1674                    ; line_number = 27
1675                    ;  pin 12 = ra1_in, name=io2, mask=io2_mask, bit=io2_bit
1676 00000005 = io2___byte equ _porta
1677 00000001 = io2___bit equ 1
1678 00000002 = io2_mask equ 2
1679 00000001 = io2_bit equ 1
1680                    ; line_number = 28
1681                    ;  pin 13 = ra0_in, name=io0, mask=io0_mask, bit=io0_bit
1682 00000005 = io0___byte equ _porta
1683 00000000 = io0___bit equ 0
1684 00000001 = io0_mask equ 1
1685 00000000 = io0_bit equ 0
1686                    ; line_number = 29
1687                    ;  pin 14 = ground
1688            
1689                    ; line_number = 31
1690                    ; global module_address byte
1691 00000023 = module_address equ globals___0+3
1692                    ; line_number = 32
1693                    ; global echo_discard bit
1694 0000006f = echo_discard___byte equ globals___0+79
1695 00000000 = echo_discard___bit equ 0
1696                    ; line_number = 33
1697                    ; global rx9d bit
1698 0000006f = rx9d___byte equ globals___0+79
1699 00000001 = rx9d___bit equ 1
1700                    ; line_number = 34
1701                    ; global id_index byte
1702 00000024 = id_index equ globals___0+4
1703            
1704                    ; line_number = 36
1705                    ; origin 0
1706   0000 :           org     0
1707            
1708                    ; line_number = 38
1709                    ;info   38, 0
1710                    ; procedure main
1711   0000 :   main:
1712                    ; Initialize some registers
1713 0000 019f          clrf    _adcon0
1714 0001 1683          bsf     __rp0___byte, __rp0___bit
1715 0002 0191          clrf    _ansel
1716 0003 3007          movlw   7
1717 0004 1283          bcf     __rp0___byte, __rp0___bit
1718 0005 0099          movwf   _cmcon0
1719 0006 303f          movlw   63
1720 0007 1683          bsf     __rp0___byte, __rp0___bit
1721 0008 0085          movwf   _trisa
1722 0009 303f          movlw   63
1723 000a 0087          movwf   _trisc
1724                    ; arguments_none
1725                    ; line_number = 40
1726                    ;  returns_nothing
1727            
1728                    ; line_number = 42
1729                    ;  local command byte
1730 00000025 = main__command equ globals___0+5
1731                    ; line_number = 43
1732                    ;  local transmit bit
1733 0000006f = main__transmit___byte equ globals___0+79
1734 00000002 = main__transmit___bit equ 2
1735                    ; line_number = 44
1736                    ;  local result byte
1737 00000026 = main__result equ globals___0+6
1738                    ; line_number = 45
1739                    ;  local mode byte
1740 00000027 = main__mode equ globals___0+7
1741            
1742                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>01 code:XX=cc=>XX)
1743                    ; line_number = 47
1744                    ;  module_address := 8
1745                    ;info   47, 11
1746 000b 3008          movlw   8
1747 000c 1283          bcf     __rp0___byte, __rp0___bit
1748 000d 00a3          movwf   module_address
1749                    ; line_number = 48
1750                    ;  echo_discard := _true
1751                    ;info   48, 14
1752 000e 146f          bsf     echo_discard___byte, echo_discard___bit
1753            
1754                    ; # Warm up the UART:
1755                    ; line_number = 51
1756                    ;  _trisc@5 := _true
1757                    ;info   51, 15
1758 00000087 = main__select__1___byte equ _trisc
1759 00000005 = main__select__1___bit equ 5
1760 000f 1683          bsf     __rp0___byte, __rp0___bit
1761 0010 1687          bsf     main__select__1___byte, main__select__1___bit
1762                    ; line_number = 52
1763                    ;  _trisc@4 := _true
1764                    ;info   52, 17
1765 00000087 = main__select__2___byte equ _trisc
1766 00000004 = main__select__2___bit equ 4
1767 0011 1607          bsf     main__select__2___byte, main__select__2___bit
1768            
1769                    ; line_number = 54
1770                    ;  _txsta := 0
1771                    ;info   54, 18
1772 0012 1283          bcf     __rp0___byte, __rp0___bit
1773 0013 0196          clrf    _txsta
1774                    ; line_number = 55
1775                    ;  _tx9 := _true
1776                    ;info   55, 20
1777 0014 1716          bsf     _tx9___byte, _tx9___bit
1778                    ; #_tx9 := _false
1779                    ; line_number = 57
1780                    ;  _txen := _true
1781                    ;info   57, 21
1782 0015 1696          bsf     _txen___byte, _txen___bit
1783                    ; line_number = 58
1784                    ;  _brgh := _true
1785                    ;info   58, 22
1786 0016 1516          bsf     _brgh___byte, _brgh___bit
1787            
1788                    ; line_number = 60
1789                    ;  _rcsta := 0
1790                    ;info   60, 23
1791 0017 0197          clrf    _rcsta
1792                    ; line_number = 61
1793                    ;  _spen := _true
1794                    ;info   61, 24
1795 0018 1797          bsf     _spen___byte, _spen___bit
1796                    ; line_number = 62
1797                    ;  _rx9 := _true
1798                    ;info   62, 25
1799 0019 1717          bsf     _rx9___byte, _rx9___bit
1800                    ; #_rx9 := _false
1801                    ; line_number = 64
1802                    ;  _cren := _true
1803                    ;info   64, 26
1804 001a 1617          bsf     _cren___byte, _cren___bit
1805                    ; #_adden := _true
1806                    ; line_number = 66
1807                    ;  _adden := _false
1808                    ;info   66, 27
1809 001b 1197          bcf     _adden___byte, _adden___bit
1810            
1811                    ; line_number = 68
1812                    ;  _baudctl := 0
1813                    ;info   68, 28
1814 001c 0191          clrf    _baudctl
1815                    ; line_number = 69
1816                    ;  _brg16 := _true
1817                    ;info   69, 29
1818 001d 1591          bsf     _brg16___byte, _brg16___bit
1819                    ; line_number = 70
1820                    ;  mode := 0
1821                    ;info   70, 30
1822 001e 01a7          clrf    main__mode
1823                    ; line_number = 71
1824                    ;  id_index := 0
1825                    ;info   71, 31
1826 001f 01a4          clrf    id_index
1827            
1828                    ; #_spbrg := _eusart_19200_low
1829                    ; #_spbrgh := _eusart_19200_high
1830                    ; #_spbrg := _eusart_115200_low
1831                    ; #_spbrgh := _eusart_115200_high
1832                    ; #_spbrg := _eusart_230400_low
1833                    ; #_spbrgh := _eusart_230400_high
1834                    ; #_spbrg := _eusart_406800_low
1835                    ; #_spbrgh := _eusart_406800_high
1836                    ; line_number = 81
1837                    ;  _spbrg := _eusart_625000_low
1838                    ;info   81, 32
1839 0020 3007          movlw   7
1840 0021 0093          movwf   _spbrg
1841                    ; line_number = 82
1842                    ;  _spbrgh := _eusart_625000_high
1843                    ;info   82, 34
1844 0022 0192          clrf    _spbrgh
1845                    ; #_spbrg := _eusart_833333_low
1846                    ; #_spbrgh := _eusart_833333_high
1847            
1848                    ; line_number = 86
1849                    ;  loop_forever start
1850   0023 :   main__3:
1851                    ; #command := _uart_byte_get()
1852                    ; line_number = 88
1853                    ;  transmit := _false
1854                    ;info   88, 35
1855 0023 116f          bcf     main__transmit___byte, main__transmit___bit
1856                    ; line_number = 89
1857                    ;  rx9d := _false
1858                    ;info   89, 36
1859 0024 10ef          bcf     rx9d___byte, rx9d___bit
1860                    ; line_number = 90
1861                    ;  while !_rcif start
1862   0025 :   main__4:
1863                    ;info   90, 37
1864                    ; =>bit_code_emit@symbol(): sym=_rcif
1865                    ; 1TEST: Single test with code in skip slot
1866 0025 1e8c          btfss   _rcif___byte, _rcif___bit
1867                    ; line_number = 91
1868                    ; do_nothing
1869                    ;info   91, 38
1870 0026 2825          goto    main__4
1871                    ; Recombine size1 = 0 || size2 = 0
1872                    ; line_number = 90
1873                    ;  while !_rcif done
1874                    ; line_number = 92
1875                    ; if _rx9d start
1876                    ;info   92, 39
1877                    ; =>bit_code_emit@symbol(): sym=_rx9d
1878                    ; 1TEST: Single test with code in skip slot
1879 0027 1817          btfsc   _rx9d___byte, _rx9d___bit
1880                    ; line_number = 93
1881                    ; rx9d := _true
1882                    ;info   93, 40
1883 0028 14ef          bsf     rx9d___byte, rx9d___bit
1884                    ; Recombine size1 = 0 || size2 = 0
1885                    ; line_number = 92
1886                    ; if _rx9d done
1887                    ; line_number = 94
1888                    ; command := _rcreg
1889                    ;info   94, 41
1890 0029 0814          movf    _rcreg,w
1891 002a 00a5          movwf   main__command
1892            
1893                    ; line_number = 96
1894                    ;  if rx9d start
1895                    ;info   96, 43
1896                    ; =>bit_code_emit@symbol(): sym=rx9d
1897                    ; No 1TEST: true.size=11 false.size=179
1898                    ; No 2TEST: true.size=11 false.size=179
1899                    ; 2GOTO: Single test with two GOTO's
1900 002b 1cef          btfss   rx9d___byte, rx9d___bit
1901 002c 2839          goto    main__48
1902                    ; # We have an address bit:
1903                    ; line_number = 98
1904                    ;  if command = module_address start
1905                    ;info   98, 45
1906                    ; Left minus Right
1907 002d 0823          movf    module_address,w
1908 002e 0225          subwf   main__command,w
1909                    ; =>bit_code_emit@symbol(): sym=__z
1910                    ; No 1TEST: true.size=4 false.size=1
1911                    ; No 2TEST: true.size=4 false.size=1
1912                    ; 2GOTO: Single test with two GOTO's
1913 002f 1d03          btfss   __z___byte, __z___bit
1914 0030 2836          goto    main__46
1915                    ; # We have a match:
1916                    ; line_number = 100
1917                    ;  _adden := _false
1918                    ;info   100, 49
1919 0031 1197          bcf     _adden___byte, _adden___bit
1920                    ; line_number = 101
1921                    ;  result := 0x5a
1922                    ;info   101, 50
1923 0032 305a          movlw   90
1924 0033 00a6          movwf   main__result
1925                    ; line_number = 102
1926                    ;  transmit := _true
1927                    ;info   102, 52
1928 0034 156f          bsf     main__transmit___byte, main__transmit___bit
1929 0035 2837          goto    main__47
1930                    ; 2GOTO: Starting code 2
1931   0036 :   main__46:
1932                    ; # We need to disable non-address reception:
1933                    ; line_number = 105
1934                    ;  _adden := _true
1935                    ;info   105, 54
1936 0036 1597          bsf     _adden___byte, _adden___bit
1937   0037 :   main__47:
1938                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1939                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1940                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1941                    ; line_number = 98
1942                    ;  if command = module_address done
1943                    ; line_number = 106
1944                    ; mode := 0	
1945                    ;info   106, 55
1946 0037 01a7          clrf    main__mode
1947 0038 28ec          goto    main__49
1948                    ; 2GOTO: Starting code 2
1949   0039 :   main__48:
1950                    ; # We have a command:
1951                    ; line_number = 109
1952                    ;  switch mode start
1953                    ;info   109, 57
1954                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
1955 0039 3000          movlw   main__44>>8
1956 003a 008a          movwf   __pclath
1957 003b 0827          movf    main__mode,w
1958                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
1959 003c 3e3e          addlw   main__44
1960 003d 0082          movwf   __pcl
1961                    ; page_group 4
1962   003e :   main__44:
1963 003e 2842          goto    main__40
1964 003f 28d9          goto    main__41
1965 0040 28e0          goto    main__42
1966 0041 28e7          goto    main__43
1967                    ; line_number = 110
1968                    ; case 0
1969   0042 :   main__40:
1970                    ; # Basic instruction decoding:
1971                    ; line_number = 112
1972                    ;  switch command >> 6 start
1973                    ;info   112, 66
1974                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
1975 0042 3000          movlw   main__37>>8
1976 0043 008a          movwf   __pclath
1977 00000036 = main__38 equ globals___0+22
1978 0044 0e25          swapf   main__command,w
1979 0045 00b6          movwf   main__38
1980 0046 0cb6          rrf     main__38,f
1981 0047 0c36          rrf     main__38,w
1982 0048 3903          andlw   3
1983                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
1984 0049 3e4b          addlw   main__37
1985 004a 0082          movwf   __pcl
1986                    ; page_group 4
1987   004b :   main__37:
1988 004b 284f          goto    main__35
1989 004c 28d8          goto    main__39
1990 004d 28d8          goto    main__39
1991 004e 28a6          goto    main__36
1992                    ; line_number = 113
1993                    ; case 0
1994   004f :   main__35:
1995                    ; # 00xx xxxx:
1996                    ; line_number = 115
1997                    ;  switch (command >> 3) & 7 start
1998                    ;info   115, 79
1999                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2000                    ; line_number = 116
2001                    ; case_maximum 7
2002 004f 3000          movlw   main__21>>8
2003 0050 008a          movwf   __pclath
2004 00000036 = main__22 equ globals___0+22
2005 0051 0c25          rrf     main__command,w
2006 0052 00b6          movwf   main__22
2007 0053 0cb6          rrf     main__22,f
2008 0054 0c36          rrf     main__22,w
2009 0055 3907          andlw   7
2010                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2011 0056 3e58          addlw   main__21
2012 0057 0082          movwf   __pcl
2013                    ; page_group 8
2014   0058 :   main__21:
2015 0058 2860          goto    main__16
2016 0059 28a5          goto    main__23
2017 005a 288b          goto    main__17
2018 005b 288c          goto    main__18
2019 005c 288d          goto    main__19
2020 005d 288d          goto    main__19
2021 005e 2898          goto    main__20
2022 005f 2898          goto    main__20
2023                    ; line_number = 117
2024                    ; case 0
2025   0060 :   main__16:
2026                    ; # 0000 0xxx:
2027                    ; line_number = 119
2028                    ;  switch command & 7 start
2029                    ;info   119, 96
2030                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2031                    ; line_number = 147
2032                    ; case_maximum 7
2033 0060 3000          movlw   main__11>>8
2034 0061 008a          movwf   __pclath
2035 0062 3007          movlw   7
2036 0063 0525          andwf   main__command,w
2037                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2038 0064 3e66          addlw   main__11
2039 0065 0082          movwf   __pcl
2040                    ; page_group 8
2041   0066 :   main__11:
2042 0066 286e          goto    main__5
2043 0067 2872          goto    main__6
2044 0068 2878          goto    main__7
2045 0069 287c          goto    main__8
2046 006a 2882          goto    main__9
2047 006b 2886          goto    main__10
2048 006c 288a          goto    main__12
2049 006d 288a          goto    main__12
2050                    ; line_number = 120
2051                    ; case 0
2052   006e :   main__5:
2053                    ; # 0000 0000 (Digital8_Read):
2054                    ; line_number = 122
2055                    ;  result := digital_read()
2056                    ;info   122, 110
2057 006e 213a          call    digital_read
2058 006f 00a6          movwf   main__result
2059                    ; line_number = 123
2060                    ;  transmit := _true
2061                    ;info   123, 112
2062 0070 156f          bsf     main__transmit___byte, main__transmit___bit
2063 0071 288a          goto    main__12
2064                    ; line_number = 124
2065                    ; case 1
2066   0072 :   main__6:
2067                    ; # 0000 0001 (Digital8_Write):
2068                    ; line_number = 126
2069                    ;  result := 0x8a
2070                    ;info   126, 114
2071 0072 308a          movlw   138
2072 0073 00a6          movwf   main__result
2073                    ; line_number = 127
2074                    ;  transmit := _true
2075                    ;info   127, 116
2076 0074 156f          bsf     main__transmit___byte, main__transmit___bit
2077                    ; line_number = 128
2078                    ;  mode := 1
2079                    ;info   128, 117
2080 0075 3001          movlw   1
2081 0076 00a7          movwf   main__mode
2082 0077 288a          goto    main__12
2083                    ; line_number = 129
2084                    ; case 2
2085   0078 :   main__7:
2086                    ; # 0000 0010 (Direction_Read):
2087                    ; line_number = 131
2088                    ;  result := direction_read()
2089                    ;info   131, 120
2090 0078 2169          call    direction_read
2091 0079 00a6          movwf   main__result
2092                    ; line_number = 132
2093                    ;  transmit := _true
2094                    ;info   132, 122
2095 007a 156f          bsf     main__transmit___byte, main__transmit___bit
2096 007b 288a          goto    main__12
2097                    ; line_number = 133
2098                    ; case 3
2099   007c :   main__8:
2100                    ; # 0000 0011 (Direction_Set):
2101                    ; line_number = 135
2102                    ;  mode := 2
2103                    ;info   135, 124
2104 007c 3002          movlw   2
2105 007d 00a7          movwf   main__mode
2106                    ; line_number = 136
2107                    ;  result := 0x8b
2108                    ;info   136, 126
2109 007e 308b          movlw   139
2110 007f 00a6          movwf   main__result
2111                    ; line_number = 137
2112                    ;  transmit := _true
2113                    ;info   137, 128
2114 0080 156f          bsf     main__transmit___byte, main__transmit___bit
2115 0081 288a          goto    main__12
2116                    ; line_number = 138
2117                    ; case 4
2118   0082 :   main__9:
2119                    ; # 0000 0100 (Analog_Read):
2120                    ; line_number = 140
2121                    ;  result := analog_read()
2122                    ;info   140, 130
2123 0082 2113          call    analog_read
2124 0083 00a6          movwf   main__result
2125                    ; line_number = 141
2126                    ;  transmit := _true
2127                    ;info   141, 132
2128 0084 156f          bsf     main__transmit___byte, main__transmit___bit
2129 0085 288a          goto    main__12
2130                    ; line_number = 142
2131                    ; case 5
2132   0086 :   main__10:
2133                    ; # 0000 0100 (Analog_Set):
2134                    ; line_number = 144
2135                    ;  mode := 3
2136                    ;info   144, 134
2137 0086 3003          movlw   3
2138 0087 00a7          movwf   main__mode
2139                    ; line_number = 145
2140                    ;  result := 0
2141                    ;info   145, 136
2142 0088 01a6          clrf    main__result
2143                    ; line_number = 146
2144                    ;  transmit := _true
2145                    ;info   146, 137
2146 0089 156f          bsf     main__transmit___byte, main__transmit___bit
2147   008a :   main__12:
2148                    ; line_number = 119
2149                    ;  switch command & 7 done
2150 008a 28a5          goto    main__23
2151                    ; line_number = 148
2152                    ; case 2
2153   008b :   main__17:
2154                    ; # 0001 0ccc (Analog8_Read):
2155                    ; line_number = 150
2156                    ;  do_nothing
2157                    ;info   150, 139
2158 008b 28a5          goto    main__23
2159                    ; line_number = 151
2160                    ; case 3
2161   008c :   main__18:
2162                    ; # 0001 1ccc (Analog10_Read):
2163                    ; line_number = 153
2164                    ;  do_nothing
2165                    ;info   153, 140
2166 008c 28a5          goto    main__23
2167                    ; line_number = 154
2168                    ; case 4, 5
2169   008d :   main__19:
2170                    ; # 0010 dddd (Low_Set):
2171                    ; line_number = 156
2172                    ;  result := digital_read()
2173                    ;info   156, 141
2174 008d 213a          call    digital_read
2175 008e 00a6          movwf   main__result
2176                    ; line_number = 157
2177                    ;  transmit := _true
2178                    ;info   157, 143
2179 008f 156f          bsf     main__transmit___byte, main__transmit___bit
2180                    ; line_number = 158
2181                    ;  call digital_set(result & 0xf0 | command & 0xf)
2182                    ;info   158, 144
2183 00000036 = main__13 equ globals___0+22
2184 0090 30f0          movlw   240
2185 0091 0526          andwf   main__result,w
2186 0092 00b6          movwf   main__13
2187 0093 300f          movlw   15
2188 0094 0525          andwf   main__command,w
2189 0095 0436          iorwf   main__13,w
2190 0096 2151          call    digital_set
2191 0097 28a5          goto    main__23
2192                    ; line_number = 159
2193                    ; case 6, 7
2194   0098 :   main__20:
2195                    ; # 0011 dddd (High_Set):
2196                    ; line_number = 161
2197                    ;  result := digital_read()
2198                    ;info   161, 152
2199 0098 213a          call    digital_read
2200 0099 00a6          movwf   main__result
2201                    ; line_number = 162
2202                    ;  transmit := _true
2203                    ;info   162, 154
2204 009a 156f          bsf     main__transmit___byte, main__transmit___bit
2205                    ; line_number = 163
2206                    ;  call digital_set(result & 0xf | (command & 0xf) << 4)
2207                    ;info   163, 155
2208 00000036 = main__14 equ globals___0+22
2209 009b 300f          movlw   15
2210 009c 0526          andwf   main__result,w
2211 009d 00b6          movwf   main__14
2212 00000037 = main__15 equ globals___0+23
2213 009e 300f          movlw   15
2214 009f 0525          andwf   main__command,w
2215 00a0 00b7          movwf   main__15
2216 00a1 0eb7          swapf   main__15,f
2217 00a2 39f0          andlw   240
2218 00a3 0436          iorwf   main__14,w
2219 00a4 2151          call    digital_set
2220   00a5 :   main__23:
2221                    ; line_number = 115
2222                    ;  switch (command >> 3) & 7 done
2223 00a5 28d8          goto    main__39
2224                    ; line_number = 164
2225                    ; case 3
2226   00a6 :   main__36:
2227                    ; # 11xx xxxx:
2228                    ; line_number = 166
2229                    ;  switch (command >> 3) & 7 start
2230                    ;info   166, 166
2231                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2232 00a6 3000          movlw   main__32>>8
2233 00a7 008a          movwf   __pclath
2234 00000036 = main__33 equ globals___0+22
2235 00a8 0c25          rrf     main__command,w
2236 00a9 00b6          movwf   main__33
2237 00aa 0cb6          rrf     main__33,f
2238 00ab 0c36          rrf     main__33,w
2239 00ac 3907          andlw   7
2240                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2241 00ad 3eaf          addlw   main__32
2242 00ae 0082          movwf   __pcl
2243                    ; page_group 8
2244   00af :   main__32:
2245 00af 28d8          goto    main__34
2246 00b0 28d8          goto    main__34
2247 00b1 28d8          goto    main__34
2248 00b2 28d8          goto    main__34
2249 00b3 28d8          goto    main__34
2250 00b4 28d8          goto    main__34
2251 00b5 28d8          goto    main__34
2252 00b6 28b7          goto    main__31
2253                    ; line_number = 167
2254                    ; case 7
2255   00b7 :   main__31:
2256                    ; # 1111 1xxx:
2257                    ; line_number = 169
2258                    ;  switch command & 7 start
2259                    ;info   169, 183
2260                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2261 00b7 3000          movlw   main__29>>8
2262 00b8 008a          movwf   __pclath
2263 00b9 3007          movlw   7
2264 00ba 0525          andwf   main__command,w
2265                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2266 00bb 3ebd          addlw   main__29
2267 00bc 0082          movwf   __pcl
2268                    ; page_group 8
2269   00bd :   main__29:
2270 00bd 28d8          goto    main__30
2271 00be 28d8          goto    main__30
2272 00bf 28d8          goto    main__30
2273 00c0 28d8          goto    main__30
2274 00c1 28c5          goto    main__25
2275 00c2 28c6          goto    main__26
2276 00c3 28d1          goto    main__27
2277 00c4 28d5          goto    main__28
2278                    ; line_number = 170
2279                    ; case 4
2280   00c5 :   main__25:
2281                    ; # 1111 1100 (Address_Set)
2282 00c5 28d8          goto    main__30
2283                    ; line_number = 172
2284                    ; case 5
2285   00c6 :   main__26:
2286                    ; # 1111 1101 (Id_Next)
2287                    ; line_number = 174
2288                    ;  transmit := _true
2289                    ;info   174, 198
2290 00c6 156f          bsf     main__transmit___byte, main__transmit___bit
2291                    ; line_number = 175
2292                    ;  result := 0
2293                    ;info   175, 199
2294 00c7 01a6          clrf    main__result
2295                    ; line_number = 176
2296                    ;  if id_index < id.size start
2297                    ;info   176, 200
2298 00c8 3013          movlw   19
2299 00c9 0224          subwf   id_index,w
2300                    ; =>bit_code_emit@symbol(): sym=__c
2301                    ; No 1TEST: true.size=0 false.size=4
2302                    ; No 2TEST: true.size=0 false.size=4
2303                    ; 1GOTO: Single test with GOTO
2304 00ca 1803          btfsc   __c___byte, __c___bit
2305 00cb 28d0          goto    main__24
2306                    ; line_number = 177
2307                    ; result := id[id_index]
2308                    ;info   177, 204
2309 00cc 0824          movf    id_index,w
2310 00cd 20f2          call    id
2311 00ce 00a6          movwf   main__result
2312                    ; line_number = 178
2313                    ;  id_index := id_index + 1
2314                    ;info   178, 207
2315 00cf 0aa4          incf    id_index,f
2316   00d0 :   main__24:
2317                    ; Recombine size1 = 0 || size2 = 0
2318                    ; line_number = 176
2319                    ;  if id_index < id.size done
2320                    ; #result := id_index
2321 00d0 28d8          goto    main__30
2322                    ; line_number = 180
2323                    ; case 6
2324   00d1 :   main__27:
2325                    ; # 1111 1110 (Id_Start)
2326                    ; line_number = 182
2327                    ;  id_index := 0
2328                    ;info   182, 209
2329 00d1 01a4          clrf    id_index
2330                    ; line_number = 183
2331                    ;  result := 0
2332                    ;info   183, 210
2333 00d2 01a6          clrf    main__result
2334                    ; line_number = 184
2335                    ;  transmit := _true
2336                    ;info   184, 211
2337 00d3 156f          bsf     main__transmit___byte, main__transmit___bit
2338 00d4 28d8          goto    main__30
2339                    ; line_number = 185
2340                    ; case 7
2341   00d5 :   main__28:
2342                    ; # 1111 1111 (Deselect):
2343                    ; line_number = 187
2344                    ;  result := 0
2345                    ;info   187, 213
2346 00d5 01a6          clrf    main__result
2347                    ; line_number = 188
2348                    ;  transmit := _true
2349                    ;info   188, 214
2350 00d6 156f          bsf     main__transmit___byte, main__transmit___bit
2351                    ; line_number = 189
2352                    ;  _adden := _true
2353                    ;info   189, 215
2354 00d7 1597          bsf     _adden___byte, _adden___bit
2355   00d8 :   main__30:
2356                    ; line_number = 169
2357                    ;  switch command & 7 done
2358   00d8 :   main__34:
2359                    ; line_number = 166
2360                    ;  switch (command >> 3) & 7 done
2361   00d8 :   main__39:
2362                    ; line_number = 112
2363                    ;  switch command >> 6 done
2364 00d8 28ec          goto    main__45
2365                    ; line_number = 190
2366                    ; case 1
2367   00d9 :   main__41:
2368                    ; # Digital8Write
2369                    ; line_number = 192
2370                    ;  call digital_set(command)
2371                    ;info   192, 217
2372 00d9 0825          movf    main__command,w
2373 00da 2151          call    digital_set
2374                    ; line_number = 193
2375                    ;  result := digital_read()
2376                    ;info   193, 219
2377 00db 213a          call    digital_read
2378 00dc 00a6          movwf   main__result
2379                    ; line_number = 194
2380                    ;  transmit := _true
2381                    ;info   194, 221
2382 00dd 156f          bsf     main__transmit___byte, main__transmit___bit
2383                    ; line_number = 195
2384                    ;  mode := 0
2385                    ;info   195, 222
2386 00de 01a7          clrf    main__mode
2387 00df 28ec          goto    main__45
2388                    ; line_number = 196
2389                    ; case 2
2390   00e0 :   main__42:
2391                    ; # Direction_Set:
2392                    ; line_number = 198
2393                    ;  call direction_set(command)
2394                    ;info   198, 224
2395 00e0 0825          movf    main__command,w
2396 00e1 2184          call    direction_set
2397                    ; line_number = 199
2398                    ;  result := 0x8c
2399                    ;info   199, 226
2400 00e2 308c          movlw   140
2401 00e3 00a6          movwf   main__result
2402                    ; line_number = 200
2403                    ;  transmit := _true
2404                    ;info   200, 228
2405 00e4 156f          bsf     main__transmit___byte, main__transmit___bit
2406                    ; line_number = 201
2407                    ;  mode := 0
2408                    ;info   201, 229
2409 00e5 01a7          clrf    main__mode
2410 00e6 28ec          goto    main__45
2411                    ; line_number = 202
2412                    ; case 3
2413   00e7 :   main__43:
2414                    ; # Analog_Set:
2415                    ; line_number = 204
2416                    ;  call analog_set(command)
2417                    ;info   204, 231
2418 00e7 0825          movf    main__command,w
2419 00e8 2128          call    analog_set
2420                    ; line_number = 205
2421                    ;  result := 0
2422                    ;info   205, 233
2423 00e9 01a6          clrf    main__result
2424                    ; line_number = 206
2425                    ;  transmit := _true
2426                    ;info   206, 234
2427 00ea 156f          bsf     main__transmit___byte, main__transmit___bit
2428                    ; line_number = 207
2429                    ;  mode := 0
2430                    ;info   207, 235
2431 00eb 01a7          clrf    main__mode
2432            
2433   00ec :   main__45:
2434                    ; line_number = 109
2435                    ;  switch mode done
2436   00ec :   main__49:
2437                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2438                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2439                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2440                    ; line_number = 96
2441                    ;  if rx9d done
2442                    ; #loop_exactly 10
2443                    ; #    delay 200
2444                    ; #	do_nothing
2445            
2446                    ; line_number = 213
2447                    ;  if transmit start
2448                    ;info   213, 236
2449                    ; =>bit_code_emit@symbol(): sym=main__transmit
2450                    ; No 1TEST: true.size=3 false.size=0
2451                    ; No 2TEST: true.size=3 false.size=0
2452                    ; 1GOTO: Single test with GOTO
2453 00ec 1d6f          btfss   main__transmit___byte, main__transmit___bit
2454 00ed 28f1          goto    main__50
2455                    ; line_number = 214
2456                    ; call _uart_byte_put(result)
2457                    ;info   214, 238
2458 00ee 0826          movf    main__result,w
2459 00ef 21d0          call    _uart_byte_put
2460            
2461                    ; # Dispose of echoed command in buffer:
2462                    ; line_number = 217
2463                    ;  call _uart_byte_get()
2464                    ;info   217, 240
2465 00f0 21b1          call    _uart_byte_get
2466            
2467            
2468                    ; Recombine size1 = 0 || size2 = 0
2469   00f1 :   main__50:
2470                    ; line_number = 213
2471                    ;  if transmit done
2472                    ; line_number = 86
2473                    ;  loop_forever wrap-up
2474 00f1 2823          goto    main__3
2475                    ; line_number = 86
2476                    ;  loop_forever done
2477                    ; delay after procedure statements=non-uniform
2478            
2479            
2480            
2481            
2482                    ; line_number = 220
2483                    ; string id = "\16,0,8,1,3,5\IO8-A\7\Gramson" start
2484                    ; id = '\16,0,8,1,3,5\IO8-A\7\Gramson'
2485   00f2 :   id:
2486                    ; Temporarily save index into FSR
2487 00f2 0084          movwf   __fsr
2488                    ; Initialize PCLATH to point to this code page
2489 00f3 3001          movlw   id___base>>8
2490 00f4 008a          movwf   __pclath
2491                    ; Restore index from FSR
2492 00f5 0804          movf    __fsr,w
2493 00f6 3e00          addlw   id___base
2494                    ; Index to the correct return value
2495 00f7 0082          movwf   __pcl
2496                    ; page_group 19
2497                    ; Add 8 NOP's until start of new page 
2498 00f8 0000          nop     
2499 00f9 0000          nop     
2500 00fa 0000          nop     
2501 00fb 0000          nop     
2502 00fc 0000          nop     
2503 00fd 0000          nop     
2504 00fe 0000          nop     
2505 00ff 0000          nop     
2506   0100 :   id___base:
2507 0100 3410          retlw   16
2508 0101 3400          retlw   0
2509 0102 3408          retlw   8
2510 0103 3401          retlw   1
2511 0104 3403          retlw   3
2512 0105 3405          retlw   5
2513 0106 3449          retlw   73
2514 0107 344f          retlw   79
2515 0108 3438          retlw   56
2516 0109 342d          retlw   45
2517 010a 3441          retlw   65
2518 010b 3407          retlw   7
2519 010c 3447          retlw   71
2520 010d 3472          retlw   114
2521 010e 3461          retlw   97
2522 010f 346d          retlw   109
2523 0110 3473          retlw   115
2524 0111 346f          retlw   111
2525 0112 346e          retlw   110
2526                    ; line_number = 220
2527                    ; string id = "\16,0,8,1,3,5\IO8-A\7\Gramson" start
2528            
2529                    ; line_number = 222
2530                    ;info   222, 275
2531                    ; procedure analog_read
2532   0113 :   analog_read:
2533                    ; arguments_none
2534                    ; line_number = 224
2535                    ;  returns byte
2536            
2537                    ; # This procedure will return the analog selection bits.
2538            
2539                    ; line_number = 228
2540                    ;  local analog byte
2541 00000028 = analog_read__analog equ globals___0+8
2542            
2543                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2544                    ; line_number = 230
2545                    ;  analog := 0
2546                    ;info   230, 275
2547 0113 01a8          clrf    analog_read__analog
2548                    ; line_number = 231
2549                    ;  if _ansel@0 start
2550                    ;info   231, 276
2551 00000091 = analog_read__select__2___byte equ _ansel
2552 00000000 = analog_read__select__2___bit equ 0
2553                    ; =>bit_code_emit@symbol(): sym=analog_read__select__2
2554                    ; 1TEST: Single test with code in skip slot
2555 0114 1683          bsf     __rp0___byte, __rp0___bit
2556 0115 1811          btfsc   analog_read__select__2___byte, analog_read__select__2___bit
2557                    ; line_number = 232
2558                    ; analog@0 := _true
2559                    ;info   232, 278
2560 00000028 = analog_read__select__1___byte equ analog_read__analog
2561 00000000 = analog_read__select__1___bit equ 0
2562 0116 1428          bsf     analog_read__select__1___byte, analog_read__select__1___bit
2563                    ; Recombine size1 = 0 || size2 = 0
2564                    ; line_number = 231
2565                    ;  if _ansel@0 done
2566                    ; line_number = 233
2567                    ; if _ansel@1 start
2568                    ;info   233, 279
2569 00000091 = analog_read__select__4___byte equ _ansel
2570 00000001 = analog_read__select__4___bit equ 1
2571                    ; =>bit_code_emit@symbol(): sym=analog_read__select__4
2572                    ; 1TEST: Single test with code in skip slot
2573 0117 1891          btfsc   analog_read__select__4___byte, analog_read__select__4___bit
2574                    ; line_number = 234
2575                    ; analog@1 := _true
2576                    ;info   234, 280
2577 00000028 = analog_read__select__3___byte equ analog_read__analog
2578 00000001 = analog_read__select__3___bit equ 1
2579 0118 14a8          bsf     analog_read__select__3___byte, analog_read__select__3___bit
2580                    ; Recombine size1 = 0 || size2 = 0
2581                    ; line_number = 233
2582                    ; if _ansel@1 done
2583                    ; line_number = 235
2584                    ; if _ansel@2 start
2585                    ;info   235, 281
2586 00000091 = analog_read__select__6___byte equ _ansel
2587 00000002 = analog_read__select__6___bit equ 2
2588                    ; =>bit_code_emit@symbol(): sym=analog_read__select__6
2589                    ; 1TEST: Single test with code in skip slot
2590 0119 1911          btfsc   analog_read__select__6___byte, analog_read__select__6___bit
2591                    ; line_number = 236
2592                    ; analog@2 := _true
2593                    ;info   236, 282
2594 00000028 = analog_read__select__5___byte equ analog_read__analog
2595 00000002 = analog_read__select__5___bit equ 2
2596 011a 1528          bsf     analog_read__select__5___byte, analog_read__select__5___bit
2597                    ; Recombine size1 = 0 || size2 = 0
2598                    ; line_number = 235
2599                    ; if _ansel@2 done
2600                    ; line_number = 237
2601                    ; if _ansel@3 start
2602                    ;info   237, 283
2603 00000091 = analog_read__select__8___byte equ _ansel
2604 00000003 = analog_read__select__8___bit equ 3
2605                    ; =>bit_code_emit@symbol(): sym=analog_read__select__8
2606                    ; 1TEST: Single test with code in skip slot
2607 011b 1991          btfsc   analog_read__select__8___byte, analog_read__select__8___bit
2608                    ; line_number = 238
2609                    ; analog@3 := _true
2610                    ;info   238, 284
2611 00000028 = analog_read__select__7___byte equ analog_read__analog
2612 00000003 = analog_read__select__7___bit equ 3
2613 011c 15a8          bsf     analog_read__select__7___byte, analog_read__select__7___bit
2614                    ; Recombine size1 = 0 || size2 = 0
2615                    ; line_number = 237
2616                    ; if _ansel@3 done
2617                    ; line_number = 239
2618                    ; if _ansel@4 start
2619                    ;info   239, 285
2620 00000091 = analog_read__select__10___byte equ _ansel
2621 00000004 = analog_read__select__10___bit equ 4
2622                    ; =>bit_code_emit@symbol(): sym=analog_read__select__10
2623                    ; 1TEST: Single test with code in skip slot
2624 011d 1a11          btfsc   analog_read__select__10___byte, analog_read__select__10___bit
2625                    ; line_number = 240
2626                    ; analog@4 := _true
2627                    ;info   240, 286
2628 00000028 = analog_read__select__9___byte equ analog_read__analog
2629 00000004 = analog_read__select__9___bit equ 4
2630 011e 1628          bsf     analog_read__select__9___byte, analog_read__select__9___bit
2631                    ; Recombine size1 = 0 || size2 = 0
2632                    ; line_number = 239
2633                    ; if _ansel@4 done
2634                    ; line_number = 241
2635                    ; if _ansel@5 start
2636                    ;info   241, 287
2637 00000091 = analog_read__select__12___byte equ _ansel
2638 00000005 = analog_read__select__12___bit equ 5
2639                    ; =>bit_code_emit@symbol(): sym=analog_read__select__12
2640                    ; 1TEST: Single test with code in skip slot
2641 011f 1a91          btfsc   analog_read__select__12___byte, analog_read__select__12___bit
2642                    ; line_number = 242
2643                    ; analog@5 := _true
2644                    ;info   242, 288
2645 00000028 = analog_read__select__11___byte equ analog_read__analog
2646 00000005 = analog_read__select__11___bit equ 5
2647 0120 16a8          bsf     analog_read__select__11___byte, analog_read__select__11___bit
2648                    ; Recombine size1 = 0 || size2 = 0
2649                    ; line_number = 241
2650                    ; if _ansel@5 done
2651                    ; line_number = 243
2652                    ; if _ansel@6 start
2653                    ;info   243, 289
2654 00000091 = analog_read__select__14___byte equ _ansel
2655 00000006 = analog_read__select__14___bit equ 6
2656                    ; =>bit_code_emit@symbol(): sym=analog_read__select__14
2657                    ; 1TEST: Single test with code in skip slot
2658 0121 1b11          btfsc   analog_read__select__14___byte, analog_read__select__14___bit
2659                    ; line_number = 244
2660                    ; analog@6 := _true
2661                    ;info   244, 290
2662 00000028 = analog_read__select__13___byte equ analog_read__analog
2663 00000006 = analog_read__select__13___bit equ 6
2664 0122 1728          bsf     analog_read__select__13___byte, analog_read__select__13___bit
2665                    ; Recombine size1 = 0 || size2 = 0
2666                    ; line_number = 243
2667                    ; if _ansel@6 done
2668                    ; line_number = 245
2669                    ; if _ansel@7 start
2670                    ;info   245, 291
2671 00000091 = analog_read__select__16___byte equ _ansel
2672 00000007 = analog_read__select__16___bit equ 7
2673                    ; =>bit_code_emit@symbol(): sym=analog_read__select__16
2674                    ; 1TEST: Single test with code in skip slot
2675 0123 1b91          btfsc   analog_read__select__16___byte, analog_read__select__16___bit
2676                    ; line_number = 246
2677                    ; analog@7 := _true
2678                    ;info   246, 292
2679 00000028 = analog_read__select__15___byte equ analog_read__analog
2680 00000007 = analog_read__select__15___bit equ 7
2681 0124 17a8          bsf     analog_read__select__15___byte, analog_read__select__15___bit
2682                    ; Recombine size1 = 0 || size2 = 0
2683                    ; line_number = 245
2684                    ; if _ansel@7 done
2685                    ; line_number = 247
2686                    ; return analog start
2687                    ; line_number = 247
2688                    ;info   247, 293
2689 0125 1283          bcf     __rp0___byte, __rp0___bit
2690 0126 0828          movf    analog_read__analog,w
2691 0127 0008          return  
2692                    ; line_number = 247
2693                    ; return analog done
2694            
2695            
2696                    ; delay after procedure statements=non-uniform
2697            
2698            
2699            
2700            
2701                    ; line_number = 250
2702                    ;info   250, 296
2703                    ; procedure analog_set
2704   0128 :   analog_set:
2705                    ; Last argument is sitting in W; save into argument variable
2706 0128 00a9          movwf   analog_set__analog
2707                    ; delay=4294967295
2708                    ; line_number = 251
2709                    ; argument analog byte
2710 00000029 = analog_set__analog equ globals___0+9
2711                    ; line_number = 252
2712                    ;  returns_nothing
2713            
2714                    ; # This procedure will set the analog inputs to be equal to {analog}.
2715            
2716                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2717                    ; line_number = 256
2718                    ;  if analog@0 start
2719                    ;info   256, 297
2720 00000029 = analog_set__select__2___byte equ analog_set__analog
2721 00000000 = analog_set__select__2___bit equ 0
2722                    ; =>bit_code_emit@symbol(): sym=analog_set__select__2
2723                    ; 1TEST: Single test with code in skip slot
2724 0129 1829          btfsc   analog_set__select__2___byte, analog_set__select__2___bit
2725                    ; line_number = 257
2726                    ; _ansel@0 := _true
2727                    ;info   257, 298
2728 00000091 = analog_set__select__1___byte equ _ansel
2729 00000000 = analog_set__select__1___bit equ 0
2730 012a 1411          bsf     analog_set__select__1___byte, analog_set__select__1___bit
2731                    ; Recombine size1 = 0 || size2 = 0
2732                    ; line_number = 256
2733                    ;  if analog@0 done
2734                    ; line_number = 258
2735                    ; if analog@1 start
2736                    ;info   258, 299
2737 00000029 = analog_set__select__4___byte equ analog_set__analog
2738 00000001 = analog_set__select__4___bit equ 1
2739                    ; =>bit_code_emit@symbol(): sym=analog_set__select__4
2740                    ; 1TEST: Single test with code in skip slot
2741 012b 18a9          btfsc   analog_set__select__4___byte, analog_set__select__4___bit
2742                    ; line_number = 259
2743                    ; _ansel@1 := _true
2744                    ;info   259, 300
2745 00000091 = analog_set__select__3___byte equ _ansel
2746 00000001 = analog_set__select__3___bit equ 1
2747 012c 1491          bsf     analog_set__select__3___byte, analog_set__select__3___bit
2748                    ; Recombine size1 = 0 || size2 = 0
2749                    ; line_number = 258
2750                    ; if analog@1 done
2751                    ; line_number = 260
2752                    ; if analog@2 start
2753                    ;info   260, 301
2754 00000029 = analog_set__select__6___byte equ analog_set__analog
2755 00000002 = analog_set__select__6___bit equ 2
2756                    ; =>bit_code_emit@symbol(): sym=analog_set__select__6
2757                    ; 1TEST: Single test with code in skip slot
2758 012d 1929          btfsc   analog_set__select__6___byte, analog_set__select__6___bit
2759                    ; line_number = 261
2760                    ; _ansel@2 := _true
2761                    ;info   261, 302
2762 00000091 = analog_set__select__5___byte equ _ansel
2763 00000002 = analog_set__select__5___bit equ 2
2764 012e 1511          bsf     analog_set__select__5___byte, analog_set__select__5___bit
2765                    ; Recombine size1 = 0 || size2 = 0
2766                    ; line_number = 260
2767                    ; if analog@2 done
2768                    ; line_number = 262
2769                    ; if analog@3 start
2770                    ;info   262, 303
2771 00000029 = analog_set__select__8___byte equ analog_set__analog
2772 00000003 = analog_set__select__8___bit equ 3
2773                    ; =>bit_code_emit@symbol(): sym=analog_set__select__8
2774                    ; 1TEST: Single test with code in skip slot
2775 012f 19a9          btfsc   analog_set__select__8___byte, analog_set__select__8___bit
2776                    ; line_number = 263
2777                    ; _ansel@3 := _true
2778                    ;info   263, 304
2779 00000091 = analog_set__select__7___byte equ _ansel
2780 00000003 = analog_set__select__7___bit equ 3
2781 0130 1591          bsf     analog_set__select__7___byte, analog_set__select__7___bit
2782                    ; Recombine size1 = 0 || size2 = 0
2783                    ; line_number = 262
2784                    ; if analog@3 done
2785                    ; line_number = 264
2786                    ; if analog@4 start
2787                    ;info   264, 305
2788 00000029 = analog_set__select__10___byte equ analog_set__analog
2789 00000004 = analog_set__select__10___bit equ 4
2790                    ; =>bit_code_emit@symbol(): sym=analog_set__select__10
2791                    ; 1TEST: Single test with code in skip slot
2792 0131 1a29          btfsc   analog_set__select__10___byte, analog_set__select__10___bit
2793                    ; line_number = 265
2794                    ; _ansel@4 := _true
2795                    ;info   265, 306
2796 00000091 = analog_set__select__9___byte equ _ansel
2797 00000004 = analog_set__select__9___bit equ 4
2798 0132 1611          bsf     analog_set__select__9___byte, analog_set__select__9___bit
2799                    ; Recombine size1 = 0 || size2 = 0
2800                    ; line_number = 264
2801                    ; if analog@4 done
2802                    ; line_number = 266
2803                    ; if analog@5 start
2804                    ;info   266, 307
2805 00000029 = analog_set__select__12___byte equ analog_set__analog
2806 00000005 = analog_set__select__12___bit equ 5
2807                    ; =>bit_code_emit@symbol(): sym=analog_set__select__12
2808                    ; 1TEST: Single test with code in skip slot
2809 0133 1aa9          btfsc   analog_set__select__12___byte, analog_set__select__12___bit
2810                    ; line_number = 267
2811                    ; _ansel@5 := _true
2812                    ;info   267, 308
2813 00000091 = analog_set__select__11___byte equ _ansel
2814 00000005 = analog_set__select__11___bit equ 5
2815 0134 1691          bsf     analog_set__select__11___byte, analog_set__select__11___bit
2816                    ; Recombine size1 = 0 || size2 = 0
2817                    ; line_number = 266
2818                    ; if analog@5 done
2819                    ; line_number = 268
2820                    ; if analog@6 start
2821                    ;info   268, 309
2822 00000029 = analog_set__select__14___byte equ analog_set__analog
2823 00000006 = analog_set__select__14___bit equ 6
2824                    ; =>bit_code_emit@symbol(): sym=analog_set__select__14
2825                    ; 1TEST: Single test with code in skip slot
2826 0135 1b29          btfsc   analog_set__select__14___byte, analog_set__select__14___bit
2827                    ; line_number = 269
2828                    ; _ansel@6 := _true
2829                    ;info   269, 310
2830 00000091 = analog_set__select__13___byte equ _ansel
2831 00000006 = analog_set__select__13___bit equ 6
2832 0136 1711          bsf     analog_set__select__13___byte, analog_set__select__13___bit
2833                    ; Recombine size1 = 0 || size2 = 0
2834                    ; line_number = 268
2835                    ; if analog@6 done
2836                    ; line_number = 270
2837                    ; if analog@7 start
2838                    ;info   270, 311
2839 00000029 = analog_set__select__16___byte equ analog_set__analog
2840 00000007 = analog_set__select__16___bit equ 7
2841                    ; =>bit_code_emit@symbol(): sym=analog_set__select__16
2842                    ; 1TEST: Single test with code in skip slot
2843 0137 1ba9          btfsc   analog_set__select__16___byte, analog_set__select__16___bit
2844                    ; line_number = 271
2845                    ; _ansel@7 := _true
2846                    ;info   271, 312
2847 00000091 = analog_set__select__15___byte equ _ansel
2848 00000007 = analog_set__select__15___bit equ 7
2849 0138 1791          bsf     analog_set__select__15___byte, analog_set__select__15___bit
2850            
2851            
2852                    ; Recombine size1 = 0 || size2 = 0
2853                    ; line_number = 270
2854                    ; if analog@7 done
2855                    ; delay after procedure statements=non-uniform
2856                    ; Implied return
2857 0139 3400          retlw   0
2858            
2859            
2860            
2861            
2862                    ; line_number = 274
2863                    ;info   274, 314
2864                    ; procedure digital_read
2865   013a :   digital_read:
2866                    ; arguments_none
2867                    ; line_number = 276
2868                    ;  returns byte
2869            
2870                    ; # This procedure will return the digital bits corresponding to
2871                    ; # the 8 digital data inputs.
2872            
2873                    ; line_number = 281
2874                    ;  local ra byte
2875 0000002a = digital_read__ra equ globals___0+10
2876                    ; line_number = 282
2877                    ;  local rc byte
2878 0000002b = digital_read__rc equ globals___0+11
2879                    ; line_number = 283
2880                    ;  local digital byte
2881 0000002c = digital_read__digital equ globals___0+12
2882            
2883                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2884                    ; line_number = 285
2885                    ;  ra := _porta
2886                    ;info   285, 314
2887 013a 0805          movf    _porta,w
2888 013b 00aa          movwf   digital_read__ra
2889                    ; line_number = 286
2890                    ;  rc := _portc
2891                    ;info   286, 316
2892 013c 0807          movf    _portc,w
2893 013d 00ab          movwf   digital_read__rc
2894                    ; line_number = 287
2895                    ;  digital := 0
2896                    ;info   287, 318
2897 013e 01ac          clrf    digital_read__digital
2898            
2899                    ; line_number = 289
2900                    ;  if ra@io0_bit start
2901                    ;info   289, 319
2902 0000002a = digital_read__select__2___byte equ digital_read__ra
2903 00000000 = digital_read__select__2___bit equ 0
2904                    ; =>bit_code_emit@symbol(): sym=digital_read__select__2
2905                    ; 1TEST: Single test with code in skip slot
2906 013f 182a          btfsc   digital_read__select__2___byte, digital_read__select__2___bit
2907                    ; line_number = 290
2908                    ; digital@0 := _true
2909                    ;info   290, 320
2910 0000002c = digital_read__select__1___byte equ digital_read__digital
2911 00000000 = digital_read__select__1___bit equ 0
2912 0140 142c          bsf     digital_read__select__1___byte, digital_read__select__1___bit
2913                    ; Recombine size1 = 0 || size2 = 0
2914                    ; line_number = 289
2915                    ;  if ra@io0_bit done
2916                    ; line_number = 291
2917                    ; if ra@io1_bit start
2918                    ;info   291, 321
2919 0000002a = digital_read__select__4___byte equ digital_read__ra
2920 00000004 = digital_read__select__4___bit equ 4
2921                    ; =>bit_code_emit@symbol(): sym=digital_read__select__4
2922                    ; 1TEST: Single test with code in skip slot
2923 0141 1a2a          btfsc   digital_read__select__4___byte, digital_read__select__4___bit
2924                    ; line_number = 292
2925                    ; digital@1 := _true
2926                    ;info   292, 322
2927 0000002c = digital_read__select__3___byte equ digital_read__digital
2928 00000001 = digital_read__select__3___bit equ 1
2929 0142 14ac          bsf     digital_read__select__3___byte, digital_read__select__3___bit
2930                    ; Recombine size1 = 0 || size2 = 0
2931                    ; line_number = 291
2932                    ; if ra@io1_bit done
2933                    ; line_number = 293
2934                    ; if ra@io2_bit start
2935                    ;info   293, 323
2936 0000002a = digital_read__select__6___byte equ digital_read__ra
2937 00000001 = digital_read__select__6___bit equ 1
2938                    ; =>bit_code_emit@symbol(): sym=digital_read__select__6
2939                    ; 1TEST: Single test with code in skip slot
2940 0143 18aa          btfsc   digital_read__select__6___byte, digital_read__select__6___bit
2941                    ; line_number = 294
2942                    ; digital@2 := _true
2943                    ;info   294, 324
2944 0000002c = digital_read__select__5___byte equ digital_read__digital
2945 00000002 = digital_read__select__5___bit equ 2
2946 0144 152c          bsf     digital_read__select__5___byte, digital_read__select__5___bit
2947                    ; Recombine size1 = 0 || size2 = 0
2948                    ; line_number = 293
2949                    ; if ra@io2_bit done
2950                    ; line_number = 295
2951                    ; if ra@io3_bit start
2952                    ;info   295, 325
2953 0000002a = digital_read__select__8___byte equ digital_read__ra
2954 00000002 = digital_read__select__8___bit equ 2
2955                    ; =>bit_code_emit@symbol(): sym=digital_read__select__8
2956                    ; 1TEST: Single test with code in skip slot
2957 0145 192a          btfsc   digital_read__select__8___byte, digital_read__select__8___bit
2958                    ; line_number = 296
2959                    ; digital@3 := _true
2960                    ;info   296, 326
2961 0000002c = digital_read__select__7___byte equ digital_read__digital
2962 00000003 = digital_read__select__7___bit equ 3
2963 0146 15ac          bsf     digital_read__select__7___byte, digital_read__select__7___bit
2964                    ; Recombine size1 = 0 || size2 = 0
2965                    ; line_number = 295
2966                    ; if ra@io3_bit done
2967                    ; line_number = 297
2968                    ; if rc@io4_bit start
2969                    ;info   297, 327
2970 0000002b = digital_read__select__10___byte equ digital_read__rc
2971 00000000 = digital_read__select__10___bit equ 0
2972                    ; =>bit_code_emit@symbol(): sym=digital_read__select__10
2973                    ; 1TEST: Single test with code in skip slot
2974 0147 182b          btfsc   digital_read__select__10___byte, digital_read__select__10___bit
2975                    ; line_number = 298
2976                    ; digital@4 := _true
2977                    ;info   298, 328
2978 0000002c = digital_read__select__9___byte equ digital_read__digital
2979 00000004 = digital_read__select__9___bit equ 4
2980 0148 162c          bsf     digital_read__select__9___byte, digital_read__select__9___bit
2981                    ; Recombine size1 = 0 || size2 = 0
2982                    ; line_number = 297
2983                    ; if rc@io4_bit done
2984                    ; line_number = 299
2985                    ; if rc@io5_bit start
2986                    ;info   299, 329
2987 0000002b = digital_read__select__12___byte equ digital_read__rc
2988 00000001 = digital_read__select__12___bit equ 1
2989                    ; =>bit_code_emit@symbol(): sym=digital_read__select__12
2990                    ; 1TEST: Single test with code in skip slot
2991 0149 18ab          btfsc   digital_read__select__12___byte, digital_read__select__12___bit
2992                    ; line_number = 300
2993                    ; digital@5 := _true
2994                    ;info   300, 330
2995 0000002c = digital_read__select__11___byte equ digital_read__digital
2996 00000005 = digital_read__select__11___bit equ 5
2997 014a 16ac          bsf     digital_read__select__11___byte, digital_read__select__11___bit
2998                    ; Recombine size1 = 0 || size2 = 0
2999                    ; line_number = 299
3000                    ; if rc@io5_bit done
3001                    ; line_number = 301
3002                    ; if rc@io6_bit start
3003                    ;info   301, 331
3004 0000002b = digital_read__select__14___byte equ digital_read__rc
3005 00000002 = digital_read__select__14___bit equ 2
3006                    ; =>bit_code_emit@symbol(): sym=digital_read__select__14
3007                    ; 1TEST: Single test with code in skip slot
3008 014b 192b          btfsc   digital_read__select__14___byte, digital_read__select__14___bit
3009                    ; line_number = 302
3010                    ; digital@6 := _true
3011                    ;info   302, 332
3012 0000002c = digital_read__select__13___byte equ digital_read__digital
3013 00000006 = digital_read__select__13___bit equ 6
3014 014c 172c          bsf     digital_read__select__13___byte, digital_read__select__13___bit
3015                    ; Recombine size1 = 0 || size2 = 0
3016                    ; line_number = 301
3017                    ; if rc@io6_bit done
3018                    ; line_number = 303
3019                    ; if rc@io7_bit start
3020                    ;info   303, 333
3021 0000002b = digital_read__select__16___byte equ digital_read__rc
3022 00000003 = digital_read__select__16___bit equ 3
3023                    ; =>bit_code_emit@symbol(): sym=digital_read__select__16
3024                    ; 1TEST: Single test with code in skip slot
3025 014d 19ab          btfsc   digital_read__select__16___byte, digital_read__select__16___bit
3026                    ; line_number = 304
3027                    ; digital@7 := _true
3028                    ;info   304, 334
3029 0000002c = digital_read__select__15___byte equ digital_read__digital
3030 00000007 = digital_read__select__15___bit equ 7
3031 014e 17ac          bsf     digital_read__select__15___byte, digital_read__select__15___bit
3032                    ; Recombine size1 = 0 || size2 = 0
3033                    ; line_number = 303
3034                    ; if rc@io7_bit done
3035                    ; line_number = 305
3036                    ; return digital start
3037                    ; line_number = 305
3038                    ;info   305, 335
3039 014f 082c          movf    digital_read__digital,w
3040 0150 0008          return  
3041                    ; line_number = 305
3042                    ; return digital done
3043            
3044            
3045                    ; delay after procedure statements=non-uniform
3046            
3047            
3048            
3049            
3050                    ; line_number = 308
3051                    ;info   308, 337
3052                    ; procedure digital_set
3053   0151 :   digital_set:
3054                    ; Last argument is sitting in W; save into argument variable
3055 0151 00af          movwf   digital_set__digital
3056                    ; delay=4294967295
3057                    ; line_number = 309
3058                    ; argument digital byte
3059 0000002f = digital_set__digital equ globals___0+15
3060                    ; line_number = 310
3061                    ;  returns_nothing
3062            
3063                    ; # This procedure will set the digital outputs to be equal to {digital}.
3064            
3065                    ; line_number = 314
3066                    ;  local ra byte
3067 0000002d = digital_set__ra equ globals___0+13
3068                    ; line_number = 315
3069                    ;  local rc byte
3070 0000002e = digital_set__rc equ globals___0+14
3071            
3072                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3073                    ; line_number = 317
3074                    ;  ra := 0
3075                    ;info   317, 338
3076 0152 01ad          clrf    digital_set__ra
3077                    ; line_number = 318
3078                    ;  rc := 0
3079                    ;info   318, 339
3080 0153 01ae          clrf    digital_set__rc
3081                    ; line_number = 319
3082                    ;  if digital@0 start
3083                    ;info   319, 340
3084 0000002f = digital_set__select__2___byte equ digital_set__digital
3085 00000000 = digital_set__select__2___bit equ 0
3086                    ; =>bit_code_emit@symbol(): sym=digital_set__select__2
3087                    ; 1TEST: Single test with code in skip slot
3088 0154 182f          btfsc   digital_set__select__2___byte, digital_set__select__2___bit
3089                    ; line_number = 320
3090                    ; ra@io0_bit := _true
3091                    ;info   320, 341
3092 0000002d = digital_set__select__1___byte equ digital_set__ra
3093 00000000 = digital_set__select__1___bit equ 0
3094 0155 142d          bsf     digital_set__select__1___byte, digital_set__select__1___bit
3095                    ; Recombine size1 = 0 || size2 = 0
3096                    ; line_number = 319
3097                    ;  if digital@0 done
3098                    ; line_number = 321
3099                    ; if digital@1 start
3100                    ;info   321, 342
3101 0000002f = digital_set__select__4___byte equ digital_set__digital
3102 00000001 = digital_set__select__4___bit equ 1
3103                    ; =>bit_code_emit@symbol(): sym=digital_set__select__4
3104                    ; 1TEST: Single test with code in skip slot
3105 0156 18af          btfsc   digital_set__select__4___byte, digital_set__select__4___bit
3106                    ; line_number = 322
3107                    ; ra@io1_bit := _true
3108                    ;info   322, 343
3109 0000002d = digital_set__select__3___byte equ digital_set__ra
3110 00000004 = digital_set__select__3___bit equ 4
3111 0157 162d          bsf     digital_set__select__3___byte, digital_set__select__3___bit
3112                    ; Recombine size1 = 0 || size2 = 0
3113                    ; line_number = 321
3114                    ; if digital@1 done
3115                    ; line_number = 323
3116                    ; if digital@2 start
3117                    ;info   323, 344
3118 0000002f = digital_set__select__6___byte equ digital_set__digital
3119 00000002 = digital_set__select__6___bit equ 2
3120                    ; =>bit_code_emit@symbol(): sym=digital_set__select__6
3121                    ; 1TEST: Single test with code in skip slot
3122 0158 192f          btfsc   digital_set__select__6___byte, digital_set__select__6___bit
3123                    ; line_number = 324
3124                    ; ra@io2_bit := _true
3125                    ;info   324, 345
3126 0000002d = digital_set__select__5___byte equ digital_set__ra
3127 00000001 = digital_set__select__5___bit equ 1
3128 0159 14ad          bsf     digital_set__select__5___byte, digital_set__select__5___bit
3129                    ; Recombine size1 = 0 || size2 = 0
3130                    ; line_number = 323
3131                    ; if digital@2 done
3132                    ; line_number = 325
3133                    ; if digital@3 start
3134                    ;info   325, 346
3135 0000002f = digital_set__select__8___byte equ digital_set__digital
3136 00000003 = digital_set__select__8___bit equ 3
3137                    ; =>bit_code_emit@symbol(): sym=digital_set__select__8
3138                    ; 1TEST: Single test with code in skip slot
3139 015a 19af          btfsc   digital_set__select__8___byte, digital_set__select__8___bit
3140                    ; line_number = 326
3141                    ; ra@io3_bit := _true
3142                    ;info   326, 347
3143 0000002d = digital_set__select__7___byte equ digital_set__ra
3144 00000002 = digital_set__select__7___bit equ 2
3145 015b 152d          bsf     digital_set__select__7___byte, digital_set__select__7___bit
3146                    ; Recombine size1 = 0 || size2 = 0
3147                    ; line_number = 325
3148                    ; if digital@3 done
3149                    ; line_number = 327
3150                    ; if digital@4 start
3151                    ;info   327, 348
3152 0000002f = digital_set__select__10___byte equ digital_set__digital
3153 00000004 = digital_set__select__10___bit equ 4
3154                    ; =>bit_code_emit@symbol(): sym=digital_set__select__10
3155                    ; 1TEST: Single test with code in skip slot
3156 015c 1a2f          btfsc   digital_set__select__10___byte, digital_set__select__10___bit
3157                    ; line_number = 328
3158                    ; rc@io4_bit := _true
3159                    ;info   328, 349
3160 0000002e = digital_set__select__9___byte equ digital_set__rc
3161 00000000 = digital_set__select__9___bit equ 0
3162 015d 142e          bsf     digital_set__select__9___byte, digital_set__select__9___bit
3163                    ; Recombine size1 = 0 || size2 = 0
3164                    ; line_number = 327
3165                    ; if digital@4 done
3166                    ; line_number = 329
3167                    ; if digital@5 start
3168                    ;info   329, 350
3169 0000002f = digital_set__select__12___byte equ digital_set__digital
3170 00000005 = digital_set__select__12___bit equ 5
3171                    ; =>bit_code_emit@symbol(): sym=digital_set__select__12
3172                    ; 1TEST: Single test with code in skip slot
3173 015e 1aaf          btfsc   digital_set__select__12___byte, digital_set__select__12___bit
3174                    ; line_number = 330
3175                    ; rc@io5_bit := _true
3176                    ;info   330, 351
3177 0000002e = digital_set__select__11___byte equ digital_set__rc
3178 00000001 = digital_set__select__11___bit equ 1
3179 015f 14ae          bsf     digital_set__select__11___byte, digital_set__select__11___bit
3180                    ; Recombine size1 = 0 || size2 = 0
3181                    ; line_number = 329
3182                    ; if digital@5 done
3183                    ; line_number = 331
3184                    ; if digital@6 start
3185                    ;info   331, 352
3186 0000002f = digital_set__select__14___byte equ digital_set__digital
3187 00000006 = digital_set__select__14___bit equ 6
3188                    ; =>bit_code_emit@symbol(): sym=digital_set__select__14
3189                    ; 1TEST: Single test with code in skip slot
3190 0160 1b2f          btfsc   digital_set__select__14___byte, digital_set__select__14___bit
3191                    ; line_number = 332
3192                    ; rc@io6_bit := _true
3193                    ;info   332, 353
3194 0000002e = digital_set__select__13___byte equ digital_set__rc
3195 00000002 = digital_set__select__13___bit equ 2
3196 0161 152e          bsf     digital_set__select__13___byte, digital_set__select__13___bit
3197                    ; Recombine size1 = 0 || size2 = 0
3198                    ; line_number = 331
3199                    ; if digital@6 done
3200                    ; line_number = 333
3201                    ; if digital@7 start
3202                    ;info   333, 354
3203 0000002f = digital_set__select__16___byte equ digital_set__digital
3204 00000007 = digital_set__select__16___bit equ 7
3205                    ; =>bit_code_emit@symbol(): sym=digital_set__select__16
3206                    ; 1TEST: Single test with code in skip slot
3207 0162 1baf          btfsc   digital_set__select__16___byte, digital_set__select__16___bit
3208                    ; line_number = 334
3209                    ; rc@io7_bit := _true
3210                    ;info   334, 355
3211 0000002e = digital_set__select__15___byte equ digital_set__rc
3212 00000003 = digital_set__select__15___bit equ 3
3213 0163 15ae          bsf     digital_set__select__15___byte, digital_set__select__15___bit
3214                    ; Recombine size1 = 0 || size2 = 0
3215                    ; line_number = 333
3216                    ; if digital@7 done
3217                    ; line_number = 335
3218                    ; _porta := ra
3219                    ;info   335, 356
3220 0164 082d          movf    digital_set__ra,w
3221 0165 0085          movwf   _porta
3222                    ; line_number = 336
3223                    ;  _portc := rc
3224                    ;info   336, 358
3225 0166 082e          movf    digital_set__rc,w
3226 0167 0087          movwf   _portc
3227            
3228            
3229                    ; delay after procedure statements=non-uniform
3230                    ; Implied return
3231 0168 3400          retlw   0
3232            
3233            
3234            
3235            
3236                    ; line_number = 339
3237                    ;info   339, 361
3238                    ; procedure direction_read
3239   0169 :   direction_read:
3240                    ; arguments_none
3241                    ; line_number = 341
3242                    ;  returns byte
3243            
3244                    ; # This procedure will return the digital bits corresponding to
3245                    ; # the 8 digital data inputs.
3246            
3247                    ; line_number = 346
3248                    ;  local trisa byte
3249 00000030 = direction_read__trisa equ globals___0+16
3250                    ; line_number = 347
3251                    ;  local trisc byte
3252 00000031 = direction_read__trisc equ globals___0+17
3253                    ; line_number = 348
3254                    ;  local direction byte
3255 00000032 = direction_read__direction equ globals___0+18
3256            
3257                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3258                    ; line_number = 350
3259                    ;  direction := 0
3260                    ;info   350, 361
3261 0169 01b2          clrf    direction_read__direction
3262                    ; # Get all data into data bank 0:
3263                    ; line_number = 352
3264                    ;  trisa := _trisa
3265                    ;info   352, 362
3266 016a 1683          bsf     __rp0___byte, __rp0___bit
3267 016b 0805          movf    _trisa,w
3268 016c 1283          bcf     __rp0___byte, __rp0___bit
3269 016d 00b0          movwf   direction_read__trisa
3270                    ; line_number = 353
3271                    ;  trisc := _trisc
3272                    ;info   353, 366
3273 016e 1683          bsf     __rp0___byte, __rp0___bit
3274 016f 0807          movf    _trisc,w
3275 0170 1283          bcf     __rp0___byte, __rp0___bit
3276 0171 00b1          movwf   direction_read__trisc
3277            
3278                    ; line_number = 355
3279                    ;  if trisa@io0_bit start
3280                    ;info   355, 370
3281 00000030 = direction_read__select__2___byte equ direction_read__trisa
3282 00000000 = direction_read__select__2___bit equ 0
3283                    ; =>bit_code_emit@symbol(): sym=direction_read__select__2
3284                    ; 1TEST: Single test with code in skip slot
3285 0172 1830          btfsc   direction_read__select__2___byte, direction_read__select__2___bit
3286                    ; line_number = 356
3287                    ; direction@0 := _true
3288                    ;info   356, 371
3289 00000032 = direction_read__select__1___byte equ direction_read__direction
3290 00000000 = direction_read__select__1___bit equ 0
3291 0173 1432          bsf     direction_read__select__1___byte, direction_read__select__1___bit
3292                    ; Recombine size1 = 0 || size2 = 0
3293                    ; line_number = 355
3294                    ;  if trisa@io0_bit done
3295                    ; line_number = 357
3296                    ; if trisa@io1_bit start
3297                    ;info   357, 372
3298 00000030 = direction_read__select__4___byte equ direction_read__trisa
3299 00000004 = direction_read__select__4___bit equ 4
3300                    ; =>bit_code_emit@symbol(): sym=direction_read__select__4
3301                    ; 1TEST: Single test with code in skip slot
3302 0174 1a30          btfsc   direction_read__select__4___byte, direction_read__select__4___bit
3303                    ; line_number = 358
3304                    ; direction@1 := _true
3305                    ;info   358, 373
3306 00000032 = direction_read__select__3___byte equ direction_read__direction
3307 00000001 = direction_read__select__3___bit equ 1
3308 0175 14b2          bsf     direction_read__select__3___byte, direction_read__select__3___bit
3309                    ; Recombine size1 = 0 || size2 = 0
3310                    ; line_number = 357
3311                    ; if trisa@io1_bit done
3312                    ; line_number = 359
3313                    ; if trisa@io2_bit start
3314                    ;info   359, 374
3315 00000030 = direction_read__select__6___byte equ direction_read__trisa
3316 00000001 = direction_read__select__6___bit equ 1
3317                    ; =>bit_code_emit@symbol(): sym=direction_read__select__6
3318                    ; 1TEST: Single test with code in skip slot
3319 0176 18b0          btfsc   direction_read__select__6___byte, direction_read__select__6___bit
3320                    ; line_number = 360
3321                    ; direction@2 := _true
3322                    ;info   360, 375
3323 00000032 = direction_read__select__5___byte equ direction_read__direction
3324 00000002 = direction_read__select__5___bit equ 2
3325 0177 1532          bsf     direction_read__select__5___byte, direction_read__select__5___bit
3326                    ; Recombine size1 = 0 || size2 = 0
3327                    ; line_number = 359
3328                    ; if trisa@io2_bit done
3329                    ; line_number = 361
3330                    ; if trisa@io3_bit start
3331                    ;info   361, 376
3332 00000030 = direction_read__select__8___byte equ direction_read__trisa
3333 00000002 = direction_read__select__8___bit equ 2
3334                    ; =>bit_code_emit@symbol(): sym=direction_read__select__8
3335                    ; 1TEST: Single test with code in skip slot
3336 0178 1930          btfsc   direction_read__select__8___byte, direction_read__select__8___bit
3337                    ; line_number = 362
3338                    ; direction@3 := _true
3339                    ;info   362, 377
3340 00000032 = direction_read__select__7___byte equ direction_read__direction
3341 00000003 = direction_read__select__7___bit equ 3
3342 0179 15b2          bsf     direction_read__select__7___byte, direction_read__select__7___bit
3343                    ; Recombine size1 = 0 || size2 = 0
3344                    ; line_number = 361
3345                    ; if trisa@io3_bit done
3346                    ; line_number = 363
3347                    ; if trisc@io4_bit start
3348                    ;info   363, 378
3349 00000031 = direction_read__select__10___byte equ direction_read__trisc
3350 00000000 = direction_read__select__10___bit equ 0
3351                    ; =>bit_code_emit@symbol(): sym=direction_read__select__10
3352                    ; 1TEST: Single test with code in skip slot
3353 017a 1831          btfsc   direction_read__select__10___byte, direction_read__select__10___bit
3354                    ; line_number = 364
3355                    ; direction@4 := _true
3356                    ;info   364, 379
3357 00000032 = direction_read__select__9___byte equ direction_read__direction
3358 00000004 = direction_read__select__9___bit equ 4
3359 017b 1632          bsf     direction_read__select__9___byte, direction_read__select__9___bit
3360                    ; Recombine size1 = 0 || size2 = 0
3361                    ; line_number = 363
3362                    ; if trisc@io4_bit done
3363                    ; line_number = 365
3364                    ; if trisc@io5_bit start
3365                    ;info   365, 380
3366 00000031 = direction_read__select__12___byte equ direction_read__trisc
3367 00000001 = direction_read__select__12___bit equ 1
3368                    ; =>bit_code_emit@symbol(): sym=direction_read__select__12
3369                    ; 1TEST: Single test with code in skip slot
3370 017c 18b1          btfsc   direction_read__select__12___byte, direction_read__select__12___bit
3371                    ; line_number = 366
3372                    ; direction@5 := _true
3373                    ;info   366, 381
3374 00000032 = direction_read__select__11___byte equ direction_read__direction
3375 00000005 = direction_read__select__11___bit equ 5
3376 017d 16b2          bsf     direction_read__select__11___byte, direction_read__select__11___bit
3377                    ; Recombine size1 = 0 || size2 = 0
3378                    ; line_number = 365
3379                    ; if trisc@io5_bit done
3380                    ; line_number = 367
3381                    ; if trisc@io6_bit start
3382                    ;info   367, 382
3383 00000031 = direction_read__select__14___byte equ direction_read__trisc
3384 00000002 = direction_read__select__14___bit equ 2
3385                    ; =>bit_code_emit@symbol(): sym=direction_read__select__14
3386                    ; 1TEST: Single test with code in skip slot
3387 017e 1931          btfsc   direction_read__select__14___byte, direction_read__select__14___bit
3388                    ; line_number = 368
3389                    ; direction@6 := _true
3390                    ;info   368, 383
3391 00000032 = direction_read__select__13___byte equ direction_read__direction
3392 00000006 = direction_read__select__13___bit equ 6
3393 017f 1732          bsf     direction_read__select__13___byte, direction_read__select__13___bit
3394                    ; Recombine size1 = 0 || size2 = 0
3395                    ; line_number = 367
3396                    ; if trisc@io6_bit done
3397                    ; line_number = 369
3398                    ; if trisc@io7_bit start
3399                    ;info   369, 384
3400 00000031 = direction_read__select__16___byte equ direction_read__trisc
3401 00000003 = direction_read__select__16___bit equ 3
3402                    ; =>bit_code_emit@symbol(): sym=direction_read__select__16
3403                    ; 1TEST: Single test with code in skip slot
3404 0180 19b1          btfsc   direction_read__select__16___byte, direction_read__select__16___bit
3405                    ; line_number = 370
3406                    ; direction@7 := _true
3407                    ;info   370, 385
3408 00000032 = direction_read__select__15___byte equ direction_read__direction
3409 00000007 = direction_read__select__15___bit equ 7
3410 0181 17b2          bsf     direction_read__select__15___byte, direction_read__select__15___bit
3411                    ; Recombine size1 = 0 || size2 = 0
3412                    ; line_number = 369
3413                    ; if trisc@io7_bit done
3414                    ; line_number = 371
3415                    ; return direction start
3416                    ; line_number = 371
3417                    ;info   371, 386
3418 0182 0832          movf    direction_read__direction,w
3419 0183 0008          return  
3420                    ; line_number = 371
3421                    ; return direction done
3422            
3423            
3424                    ; delay after procedure statements=non-uniform
3425            
3426            
3427            
3428            
3429                    ; line_number = 374
3430                    ;info   374, 388
3431                    ; procedure direction_set
3432   0184 :   direction_set:
3433                    ; Last argument is sitting in W; save into argument variable
3434 0184 00b5          movwf   direction_set__direction
3435                    ; delay=4294967295
3436                    ; line_number = 375
3437                    ; argument direction byte
3438 00000035 = direction_set__direction equ globals___0+21
3439                    ; line_number = 376
3440                    ;  returns_nothing
3441            
3442                    ; # This procedure will set the direction outputs to be equal to {direction}.
3443            
3444                    ; line_number = 380
3445                    ;  local trisa byte
3446 00000033 = direction_set__trisa equ globals___0+19
3447                    ; line_number = 381
3448                    ;  local trisc byte
3449 00000034 = direction_set__trisc equ globals___0+20
3450            
3451                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3452                    ; line_number = 383
3453                    ;  trisa := 0xc0
3454                    ;info   383, 389
3455 0185 30c0          movlw   192
3456 0186 00b3          movwf   direction_set__trisa
3457                    ; line_number = 384
3458                    ;  trisc := 0xc0
3459                    ;info   384, 391
3460 0187 30c0          movlw   192
3461 0188 00b4          movwf   direction_set__trisc
3462                    ; line_number = 385
3463                    ;  if direction@0 start
3464                    ;info   385, 393
3465 00000035 = direction_set__select__2___byte equ direction_set__direction
3466 00000000 = direction_set__select__2___bit equ 0
3467                    ; =>bit_code_emit@symbol(): sym=direction_set__select__2
3468                    ; 1TEST: Single test with code in skip slot
3469 0189 1835          btfsc   direction_set__select__2___byte, direction_set__select__2___bit
3470                    ; line_number = 386
3471                    ; trisa@io0_bit := _true
3472                    ;info   386, 394
3473 00000033 = direction_set__select__1___byte equ direction_set__trisa
3474 00000000 = direction_set__select__1___bit equ 0
3475 018a 1433          bsf     direction_set__select__1___byte, direction_set__select__1___bit
3476                    ; Recombine size1 = 0 || size2 = 0
3477                    ; line_number = 385
3478                    ;  if direction@0 done
3479                    ; line_number = 387
3480                    ; if direction@1 start
3481                    ;info   387, 395
3482 00000035 = direction_set__select__4___byte equ direction_set__direction
3483 00000001 = direction_set__select__4___bit equ 1
3484                    ; =>bit_code_emit@symbol(): sym=direction_set__select__4
3485                    ; 1TEST: Single test with code in skip slot
3486 018b 18b5          btfsc   direction_set__select__4___byte, direction_set__select__4___bit
3487                    ; line_number = 388
3488                    ; trisa@io1_bit := _true
3489                    ;info   388, 396
3490 00000033 = direction_set__select__3___byte equ direction_set__trisa
3491 00000004 = direction_set__select__3___bit equ 4
3492 018c 1633          bsf     direction_set__select__3___byte, direction_set__select__3___bit
3493                    ; Recombine size1 = 0 || size2 = 0
3494                    ; line_number = 387
3495                    ; if direction@1 done
3496                    ; line_number = 389
3497                    ; if direction@2 start
3498                    ;info   389, 397
3499 00000035 = direction_set__select__6___byte equ direction_set__direction
3500 00000002 = direction_set__select__6___bit equ 2
3501                    ; =>bit_code_emit@symbol(): sym=direction_set__select__6
3502                    ; 1TEST: Single test with code in skip slot
3503 018d 1935          btfsc   direction_set__select__6___byte, direction_set__select__6___bit
3504                    ; line_number = 390
3505                    ; trisa@io2_bit := _true
3506                    ;info   390, 398
3507 00000033 = direction_set__select__5___byte equ direction_set__trisa
3508 00000001 = direction_set__select__5___bit equ 1
3509 018e 14b3          bsf     direction_set__select__5___byte, direction_set__select__5___bit
3510                    ; Recombine size1 = 0 || size2 = 0
3511                    ; line_number = 389
3512                    ; if direction@2 done
3513                    ; line_number = 391
3514                    ; if direction@3 start
3515                    ;info   391, 399
3516 00000035 = direction_set__select__8___byte equ direction_set__direction
3517 00000003 = direction_set__select__8___bit equ 3
3518                    ; =>bit_code_emit@symbol(): sym=direction_set__select__8
3519                    ; 1TEST: Single test with code in skip slot
3520 018f 19b5          btfsc   direction_set__select__8___byte, direction_set__select__8___bit
3521                    ; line_number = 392
3522                    ; trisa@io3_bit := _true
3523                    ;info   392, 400
3524 00000033 = direction_set__select__7___byte equ direction_set__trisa
3525 00000002 = direction_set__select__7___bit equ 2
3526 0190 1533          bsf     direction_set__select__7___byte, direction_set__select__7___bit
3527                    ; Recombine size1 = 0 || size2 = 0
3528                    ; line_number = 391
3529                    ; if direction@3 done
3530                    ; line_number = 393
3531                    ; if direction@4 start
3532                    ;info   393, 401
3533 00000035 = direction_set__select__10___byte equ direction_set__direction
3534 00000004 = direction_set__select__10___bit equ 4
3535                    ; =>bit_code_emit@symbol(): sym=direction_set__select__10
3536                    ; 1TEST: Single test with code in skip slot
3537 0191 1a35          btfsc   direction_set__select__10___byte, direction_set__select__10___bit
3538                    ; line_number = 394
3539                    ; trisc@io4_bit := _true
3540                    ;info   394, 402
3541 00000034 = direction_set__select__9___byte equ direction_set__trisc
3542 00000000 = direction_set__select__9___bit equ 0
3543 0192 1434          bsf     direction_set__select__9___byte, direction_set__select__9___bit
3544                    ; Recombine size1 = 0 || size2 = 0
3545                    ; line_number = 393
3546                    ; if direction@4 done
3547                    ; line_number = 395
3548                    ; if direction@5 start
3549                    ;info   395, 403
3550 00000035 = direction_set__select__12___byte equ direction_set__direction
3551 00000005 = direction_set__select__12___bit equ 5
3552                    ; =>bit_code_emit@symbol(): sym=direction_set__select__12
3553                    ; 1TEST: Single test with code in skip slot
3554 0193 1ab5          btfsc   direction_set__select__12___byte, direction_set__select__12___bit
3555                    ; line_number = 396
3556                    ; trisc@io5_bit := _true
3557                    ;info   396, 404
3558 00000034 = direction_set__select__11___byte equ direction_set__trisc
3559 00000001 = direction_set__select__11___bit equ 1
3560 0194 14b4          bsf     direction_set__select__11___byte, direction_set__select__11___bit
3561                    ; Recombine size1 = 0 || size2 = 0
3562                    ; line_number = 395
3563                    ; if direction@5 done
3564                    ; line_number = 397
3565                    ; if direction@6 start
3566                    ;info   397, 405
3567 00000035 = direction_set__select__14___byte equ direction_set__direction
3568 00000006 = direction_set__select__14___bit equ 6
3569                    ; =>bit_code_emit@symbol(): sym=direction_set__select__14
3570                    ; 1TEST: Single test with code in skip slot
3571 0195 1b35          btfsc   direction_set__select__14___byte, direction_set__select__14___bit
3572                    ; line_number = 398
3573                    ; trisc@io6_bit := _true
3574                    ;info   398, 406
3575 00000034 = direction_set__select__13___byte equ direction_set__trisc
3576 00000002 = direction_set__select__13___bit equ 2
3577 0196 1534          bsf     direction_set__select__13___byte, direction_set__select__13___bit
3578                    ; Recombine size1 = 0 || size2 = 0
3579                    ; line_number = 397
3580                    ; if direction@6 done
3581                    ; line_number = 399
3582                    ; if direction@7 start
3583                    ;info   399, 407
3584 00000035 = direction_set__select__16___byte equ direction_set__direction
3585 00000007 = direction_set__select__16___bit equ 7
3586                    ; =>bit_code_emit@symbol(): sym=direction_set__select__16
3587                    ; 1TEST: Single test with code in skip slot
3588 0197 1bb5          btfsc   direction_set__select__16___byte, direction_set__select__16___bit
3589                    ; line_number = 400
3590                    ; trisc@io7_bit := _true
3591                    ;info   400, 408
3592 00000034 = direction_set__select__15___byte equ direction_set__trisc
3593 00000003 = direction_set__select__15___bit equ 3
3594 0198 15b4          bsf     direction_set__select__15___byte, direction_set__select__15___bit
3595                    ; Recombine size1 = 0 || size2 = 0
3596                    ; line_number = 399
3597                    ; if direction@7 done
3598                    ; line_number = 401
3599                    ; trisc@rx_bit := _true
3600                    ;info   401, 409
3601 00000034 = direction_set__select__17___byte equ direction_set__trisc
3602 00000005 = direction_set__select__17___bit equ 5
3603 0199 16b4          bsf     direction_set__select__17___byte, direction_set__select__17___bit
3604                    ; line_number = 402
3605                    ;  trisc@tx_bit := _true
3606                    ;info   402, 410
3607 00000034 = direction_set__select__18___byte equ direction_set__trisc
3608 00000004 = direction_set__select__18___bit equ 4
3609 019a 1634          bsf     direction_set__select__18___byte, direction_set__select__18___bit
3610                    ; line_number = 403
3611                    ;  _trisa := trisa
3612                    ;info   403, 411
3613 019b 0833          movf    direction_set__trisa,w
3614 019c 1683          bsf     __rp0___byte, __rp0___bit
3615 019d 0085          movwf   _trisa
3616                    ; line_number = 404
3617                    ;  _trisc := trisc
3618                    ;info   404, 414
3619 019e 1283          bcf     __rp0___byte, __rp0___bit
3620 019f 0834          movf    direction_set__trisc,w
3621 01a0 1683          bsf     __rp0___byte, __rp0___bit
3622 01a1 0087          movwf   _trisc
3623            
3624            
3625                    ; delay after procedure statements=non-uniform
3626 01a2 1283          bcf     __rp0___byte, __rp0___bit
3627                    ; Implied return
3628 01a3 3400          retlw   0
3629            
3630            
3631            
3632            
3633                    ; #procedure byte_put
3634                    ; #    argument response byte
3635                    ; #    returns_nothing
3636                    ; #
3637                    ; #    # This procedure will send {response} back to the requestor.
3638                    ; #
3639                    ; #    echo_discard := _true
3640                    ; #    while !_txif
3641                    ; #	do_nothing
3642                    ; #    _tx9d := _false
3643                    ; #    _txreg := response
3644                    ; #
3645                    ; #
3646                    ; #procedure byte_get
3647                    ; #    arguments_none
3648                    ; #    returns byte
3649                    ; #
3650                    ; #    # This procedure returns the next byte from the bus that is
3651                    ; #    # directed to this module.  This procedure handles all address
3652                    ; #    # change (9th bit set) commands that come in.  Thus, any byte
3653                    ; #    # returned from this procedure is a command byte that is directed
3654                    ; #    # at this module.
3655                    ; #
3656                    ; #    local address byte
3657                    ; #
3658                    ; #    # Keep processing bytes until we've got a command byte for us:
3659                    ; #    loop_forever
3660                    ; #	# Wait for a 9-bit "byte":
3661                    ; #	while !_rcif
3662                    ; #	    do_nothing
3663                    ; #	if _rx9d
3664                    ; #	    # We have an address byte; read the address:
3665                    ; #	    if _rcreg = module_address
3666                    ; #		# We have been selected; start receiving all bytes:
3667                    ; #		_adden := _false
3668                    ; #		# Send a null byte to indicate that we alive and well:
3669                    ; #		_tx9d := _false
3670                    ; #		_txreg := _false
3671                    ; #		echo_discard := _true
3672                    ; #	else
3673                    ; #	    # We have a command or echo byte:
3674                    ; #	    if echo_discard
3675                    ; #		# We have an echo:
3676                    ; #		echo_discard := _false
3677                    ; #		_fsr := _rcreg
3678                    ; #	    else
3679                    ; #		# We have a real command:
3680                    ; #		return _rcreg
3681            
3682            
3683                    ; Appending 7 delayed procedures to code bank 0
3684                    ; buffer = '_uart'
3685                    ; line_number = 7
3686                    ;info   7, 420
3687                    ; procedure _uart_byte_safe_get
3688   01a4 :   _uart_byte_safe_get:
3689                    ; arguments_none
3690                    ; line_number = 9
3691                    ;  returns byte
3692            
3693                    ; # This procedure will the next byte from UART.  If no byte
3694                    ; # received in a reasonable time, 0xfc is returned.
3695            
3696                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3697                    ; line_number = 14
3698                    ;  loop_exactly 255 start
3699                    ;info   14, 420
3700 00000038 = _uart_byte_safe_get__1 equ globals___0+24
3701 01a4 30ff          movlw   255
3702 01a5 00b8          movwf   _uart_byte_safe_get__1
3703   01a6 :   _uart_byte_safe_get__2:
3704                    ; line_number = 15
3705                    ; loop_exactly 255 start
3706                    ;info   15, 422
3707 00000039 = _uart_byte_safe_get__3 equ globals___0+25
3708 01a6 30ff          movlw   255
3709 01a7 00b9          movwf   _uart_byte_safe_get__3
3710   01a8 :   _uart_byte_safe_get__4:
3711                    ; line_number = 16
3712                    ; if _rcif start
3713                    ;info   16, 424
3714                    ; =>bit_code_emit@symbol(): sym=_rcif
3715                    ; No 1TEST: true.size=2 false.size=0
3716                    ; No 2TEST: true.size=2 false.size=0
3717                    ; 1GOTO: Single test with GOTO
3718 01a8 1e8c          btfss   _rcif___byte, _rcif___bit
3719 01a9 29ac          goto    _uart_byte_safe_get__5
3720                    ; line_number = 17
3721                    ; return _rcreg start
3722                    ; line_number = 17
3723                    ;info   17, 426
3724 01aa 0814          movf    _rcreg,w
3725 01ab 0008          return  
3726                    ; line_number = 17
3727                    ; return _rcreg done
3728                    ; Recombine size1 = 0 || size2 = 0
3729   01ac :   _uart_byte_safe_get__5:
3730                    ; line_number = 16
3731                    ; if _rcif done
3732                    ; line_number = 15
3733                    ; loop_exactly 255 wrap-up
3734 01ac 0bb9          decfsz  _uart_byte_safe_get__3,f
3735 01ad 29a8          goto    _uart_byte_safe_get__4
3736                    ; line_number = 15
3737                    ; loop_exactly 255 done
3738                    ; line_number = 14
3739                    ;  loop_exactly 255 wrap-up
3740 01ae 0bb8          decfsz  _uart_byte_safe_get__1,f
3741 01af 29a6          goto    _uart_byte_safe_get__2
3742                    ; line_number = 14
3743                    ;  loop_exactly 255 done
3744                    ; line_number = 18
3745                    ; return 0xfc start
3746                    ; line_number = 18
3747                    ;info   18, 432
3748 01b0 34fc          retlw   252
3749                    ; line_number = 18
3750                    ; return 0xfc done
3751            
3752            
3753                    ; delay after procedure statements=non-uniform
3754            
3755            
3756            
3757            
3758                    ; line_number = 21
3759                    ;info   21, 433
3760                    ; procedure _uart_byte_get
3761   01b1 :   _uart_byte_get:
3762                    ; arguments_none
3763                    ; line_number = 23
3764                    ;  returns byte
3765            
3766                    ; # This procedure will return the next byte from the UART.
3767            
3768                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3769                    ; line_number = 27
3770                    ;  while !_rcif start
3771   01b1 :   _uart_byte_get__1:
3772                    ;info   27, 433
3773                    ; =>bit_code_emit@symbol(): sym=_rcif
3774                    ; 1TEST: Single test with code in skip slot
3775 01b1 1e8c          btfss   _rcif___byte, _rcif___bit
3776                    ; line_number = 28
3777                    ; do_nothing
3778                    ;info   28, 434
3779 01b2 29b1          goto    _uart_byte_get__1
3780                    ; Recombine size1 = 0 || size2 = 0
3781                    ; line_number = 27
3782                    ;  while !_rcif done
3783                    ; line_number = 29
3784                    ; return _rcreg start
3785                    ; line_number = 29
3786                    ;info   29, 435
3787 01b3 0814          movf    _rcreg,w
3788 01b4 0008          return  
3789                    ; line_number = 29
3790                    ; return _rcreg done
3791            
3792            
3793                    ; delay after procedure statements=non-uniform
3794            
3795            
3796            
3797            
3798                    ; line_number = 32
3799                    ;info   32, 437
3800                    ; procedure _uart_hex_put
3801   01b5 :   _uart_hex_put:
3802                    ; Last argument is sitting in W; save into argument variable
3803 01b5 00a0          movwf   _uart_hex_put__value
3804                    ; delay=4294967295
3805                    ; line_number = 33
3806                    ; argument value byte
3807 00000020 = _uart_hex_put__value equ globals___0
3808                    ; line_number = 34
3809                    ;  returns_nothing
3810            
3811                    ; # This procedure will output {value} to the UART as a 2-digit
3812                    ; # hexadecimal number.
3813            
3814                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3815                    ; line_number = 39
3816                    ;  call _uart_nibble_put(value >> 4)
3817                    ;info   39, 438
3818 0000003a = _uart_hex_put__1 equ globals___0+26
3819 01b6 0e20          swapf   _uart_hex_put__value,w
3820 01b7 390f          andlw   15
3821 01b8 21bd          call    _uart_nibble_put
3822                    ; line_number = 40
3823                    ;  call _uart_nibble_put(value & 0xf)
3824                    ;info   40, 441
3825 01b9 300f          movlw   15
3826 01ba 0520          andwf   _uart_hex_put__value,w
3827 01bb 21bd          call    _uart_nibble_put
3828            
3829            
3830                    ; delay after procedure statements=non-uniform
3831                    ; Implied return
3832 01bc 3400          retlw   0
3833            
3834            
3835            
3836            
3837                    ; line_number = 43
3838                    ;info   43, 445
3839                    ; procedure _uart_nibble_put
3840   01bd :   _uart_nibble_put:
3841                    ; Last argument is sitting in W; save into argument variable
3842 01bd 00a1          movwf   _uart_nibble_put__nibble
3843                    ; delay=4294967295
3844                    ; line_number = 44
3845                    ; argument nibble byte
3846 00000021 = _uart_nibble_put__nibble equ globals___0+1
3847                    ; line_number = 45
3848                    ;  returns_nothing
3849            
3850                    ; # This procedure will output {value} to UART as a 1 digit
3851                    ; # hexadecimal number.
3852            
3853                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3854                    ; line_number = 50
3855                    ;  if nibble < 10 start
3856                    ;info   50, 446
3857 01be 300a          movlw   10
3858 01bf 0221          subwf   _uart_nibble_put__nibble,w
3859                    ; =>bit_code_emit@symbol(): sym=__c
3860                    ; No 1TEST: true.size=1 false.size=1
3861                    ; 2TEST: two tests with code in both delay slots
3862 01c0 1803          btfsc   __c___byte, __c___bit
3863                    ; line_number = 53
3864                    ; nibble := nibble - 10 + 'A'
3865                    ;info   53, 449
3866 01c1 3037          movlw   55
3867 01c2 1c03          btfss   __c___byte, __c___bit
3868                    ; line_number = 51
3869                    ; nibble := nibble + '0'
3870                    ;info   51, 451
3871 01c3 3030          movlw   48
3872 01c4 07a1          addwf   _uart_nibble_put__nibble,f
3873                    ; line_number = 50
3874                    ;  if nibble < 10 done
3875                    ; line_number = 54
3876                    ; call _uart_byte_put(nibble)
3877                    ;info   54, 453
3878 01c5 0821          movf    _uart_nibble_put__nibble,w
3879 01c6 21d0          call    _uart_byte_put
3880            
3881            
3882                    ; delay after procedure statements=non-uniform
3883                    ; Implied return
3884 01c7 3400          retlw   0
3885            
3886            
3887            
3888            
3889                    ; line_number = 57
3890                    ;info   57, 456
3891                    ; procedure _uart_space_put
3892   01c8 :   _uart_space_put:
3893                    ; arguments_none
3894                    ; line_number = 59
3895                    ;  returns_nothing
3896            
3897                    ; # This procedure will output a space to the UART.
3898            
3899                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3900                    ; line_number = 63
3901                    ;  call _uart_byte_put(' ')
3902                    ;info   63, 456
3903 01c8 3020          movlw   32
3904 01c9 21d0          call    _uart_byte_put
3905            
3906            
3907                    ; delay after procedure statements=non-uniform
3908                    ; Implied return
3909 01ca 3400          retlw   0
3910            
3911            
3912            
3913            
3914                    ; line_number = 66
3915                    ;info   66, 459
3916                    ; procedure _uart_crlf_put
3917   01cb :   _uart_crlf_put:
3918                    ; arguments_none
3919                    ; line_number = 68
3920                    ;  returns_nothing
3921            
3922                    ; # This procedure will output a carriage return line feed sequecne to
3923                    ; # the UART.
3924            
3925                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3926                    ; line_number = 73
3927                    ;  call _uart_byte_put('\cr\')
3928                    ;info   73, 459
3929 01cb 300d          movlw   13
3930 01cc 21d0          call    _uart_byte_put
3931                    ; line_number = 74
3932                    ;  call _uart_byte_put('\lf\')
3933                    ;info   74, 461
3934 01cd 300a          movlw   10
3935 01ce 21d0          call    _uart_byte_put
3936            
3937            
3938                    ; delay after procedure statements=non-uniform
3939                    ; Implied return
3940 01cf 3400          retlw   0
3941            
3942            
3943            
3944            
3945                    ; line_number = 77
3946                    ;info   77, 464
3947                    ; procedure _uart_byte_put
3948   01d0 :   _uart_byte_put:
3949                    ; Last argument is sitting in W; save into argument variable
3950 01d0 00a2          movwf   _uart_byte_put__byte
3951                    ; delay=4294967295
3952                    ; line_number = 78
3953                    ; argument byte byte
3954 00000022 = _uart_byte_put__byte equ globals___0+2
3955                    ; line_number = 79
3956                    ;  returns_nothing
3957            
3958                    ; # This procedure will send {byte} out using to the UART.
3959            
3960                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3961                    ; line_number = 83
3962                    ;  while !_txif start
3963   01d1 :   _uart_byte_put__1:
3964                    ;info   83, 465
3965                    ; =>bit_code_emit@symbol(): sym=_txif
3966                    ; 1TEST: Single test with code in skip slot
3967 01d1 1c8c          btfss   _txif___byte, _txif___bit
3968                    ; line_number = 84
3969                    ; do_nothing
3970                    ;info   84, 466
3971 01d2 29d1          goto    _uart_byte_put__1
3972                    ; Recombine size1 = 0 || size2 = 0
3973                    ; line_number = 83
3974                    ;  while !_txif done
3975                    ; line_number = 85
3976                    ; _txreg := byte
3977                    ;info   85, 467
3978 01d3 0822          movf    _uart_byte_put__byte,w
3979 01d4 0095          movwf   _txreg
3980            
3981            
3982                    ; delay after procedure statements=non-uniform
3983                    ; Implied return
3984 01d5 3400          retlw   0
3985            
3986            
3987            
3988            
3989                    ; Configuration bits
3990                    ; address = 0x2007, fill = 0x3000
3991                    ; fcmen = off (0x0)
3992                    ; ieso = off (0x0)
3993                    ; boden = off (0x0)
3994                    ; cpd = off (0x80)
3995                    ; cp = off (0x40)
3996                    ; mclre = off (0x0)
3997                    ; pwrte = off (0x10)
3998                    ; wdte = off (0x0)
3999                    ; fosc = hs (0x2)
4000                    ; 12498 = 0x30d2
4001   30d2 =           __config 12498
4002                    ; Define start addresses for data regions
4003                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4004                    ; Region="globals___0" Address=32" Size=80 Bytes=27 Bits=3 Available=52
4005                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
4006                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
4007                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4008                    end
