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 = 'midimotor2'
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 = 'midimotor2'
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 = 'midimotor2'
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 = 'midimotor2'
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 := 2
1745                    ;info   47, 11
1746 000b 3002          movlw   2
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=178
1898                    ; No 2TEST: true.size=11 false.size=178
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 28eb          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 28d8          goto    main__41
1965 0040 28df          goto    main__42
1966 0041 28e6          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 28d7          goto    main__39
1990 004d 28d7          goto    main__39
1991 004e 28a5          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 28a4          goto    main__23
2017 005a 288a          goto    main__17
2018 005b 288b          goto    main__18
2019 005c 288c          goto    main__19
2020 005d 288c          goto    main__19
2021 005e 2897          goto    main__20
2022 005f 2897          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 2881          goto    main__9
2047 006b 2885          goto    main__10
2048 006c 2889          goto    main__12
2049 006d 2889          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 2141          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 2889          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 := digital_read()
2070                    ;info   126, 114
2071 0072 2141          call    digital_read
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 2889          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 2170          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 2889          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 := 0
2108                    ;info   136, 126
2109 007e 01a6          clrf    main__result
2110                    ; line_number = 137
2111                    ;  transmit := _true
2112                    ;info   137, 127
2113 007f 156f          bsf     main__transmit___byte, main__transmit___bit
2114 0080 2889          goto    main__12
2115                    ; line_number = 138
2116                    ; case 4
2117   0081 :   main__9:
2118                    ; # 0000 0100 (Analog_Read):
2119                    ; line_number = 140
2120                    ;  result := analog_read()
2121                    ;info   140, 129
2122 0081 211a          call    analog_read
2123 0082 00a6          movwf   main__result
2124                    ; line_number = 141
2125                    ;  transmit := _true
2126                    ;info   141, 131
2127 0083 156f          bsf     main__transmit___byte, main__transmit___bit
2128 0084 2889          goto    main__12
2129                    ; line_number = 142
2130                    ; case 5
2131   0085 :   main__10:
2132                    ; # 0000 0100 (Analog_Set):
2133                    ; line_number = 144
2134                    ;  mode := 3
2135                    ;info   144, 133
2136 0085 3003          movlw   3
2137 0086 00a7          movwf   main__mode
2138                    ; line_number = 145
2139                    ;  result := 0
2140                    ;info   145, 135
2141 0087 01a6          clrf    main__result
2142                    ; line_number = 146
2143                    ;  transmit := _true
2144                    ;info   146, 136
2145 0088 156f          bsf     main__transmit___byte, main__transmit___bit
2146   0089 :   main__12:
2147                    ; line_number = 119
2148                    ;  switch command & 7 done
2149 0089 28a4          goto    main__23
2150                    ; line_number = 148
2151                    ; case 2
2152   008a :   main__17:
2153                    ; # 0001 0ccc (Analog8_Read):
2154                    ; line_number = 150
2155                    ;  do_nothing
2156                    ;info   150, 138
2157 008a 28a4          goto    main__23
2158                    ; line_number = 151
2159                    ; case 3
2160   008b :   main__18:
2161                    ; # 0001 1ccc (Analog10_Read):
2162                    ; line_number = 153
2163                    ;  do_nothing
2164                    ;info   153, 139
2165 008b 28a4          goto    main__23
2166                    ; line_number = 154
2167                    ; case 4, 5
2168   008c :   main__19:
2169                    ; # 0010 dddd (Low_Set):
2170                    ; line_number = 156
2171                    ;  result := digital_read()
2172                    ;info   156, 140
2173 008c 2141          call    digital_read
2174 008d 00a6          movwf   main__result
2175                    ; line_number = 157
2176                    ;  transmit := _true
2177                    ;info   157, 142
2178 008e 156f          bsf     main__transmit___byte, main__transmit___bit
2179                    ; line_number = 158
2180                    ;  call digital_set(result & 0xf0 | command & 0xf)
2181                    ;info   158, 143
2182 00000036 = main__13 equ globals___0+22
2183 008f 30f0          movlw   240
2184 0090 0526          andwf   main__result,w
2185 0091 00b6          movwf   main__13
2186 0092 300f          movlw   15
2187 0093 0525          andwf   main__command,w
2188 0094 0436          iorwf   main__13,w
2189 0095 2158          call    digital_set
2190 0096 28a4          goto    main__23
2191                    ; line_number = 159
2192                    ; case 6, 7
2193   0097 :   main__20:
2194                    ; # 0011 dddd (High_Set):
2195                    ; line_number = 161
2196                    ;  result := digital_read()
2197                    ;info   161, 151
2198 0097 2141          call    digital_read
2199 0098 00a6          movwf   main__result
2200                    ; line_number = 162
2201                    ;  transmit := _true
2202                    ;info   162, 153
2203 0099 156f          bsf     main__transmit___byte, main__transmit___bit
2204                    ; line_number = 163
2205                    ;  call digital_set(result & 0xf | (command & 0xf) << 4)
2206                    ;info   163, 154
2207 00000036 = main__14 equ globals___0+22
2208 009a 300f          movlw   15
2209 009b 0526          andwf   main__result,w
2210 009c 00b6          movwf   main__14
2211 00000037 = main__15 equ globals___0+23
2212 009d 300f          movlw   15
2213 009e 0525          andwf   main__command,w
2214 009f 00b7          movwf   main__15
2215 00a0 0eb7          swapf   main__15,f
2216 00a1 39f0          andlw   240
2217 00a2 0436          iorwf   main__14,w
2218 00a3 2158          call    digital_set
2219   00a4 :   main__23:
2220                    ; line_number = 115
2221                    ;  switch (command >> 3) & 7 done
2222 00a4 28d7          goto    main__39
2223                    ; line_number = 164
2224                    ; case 3
2225   00a5 :   main__36:
2226                    ; # 11xx xxxx:
2227                    ; line_number = 166
2228                    ;  switch (command >> 3) & 7 start
2229                    ;info   166, 165
2230                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2231 00a5 3000          movlw   main__32>>8
2232 00a6 008a          movwf   __pclath
2233 00000036 = main__33 equ globals___0+22
2234 00a7 0c25          rrf     main__command,w
2235 00a8 00b6          movwf   main__33
2236 00a9 0cb6          rrf     main__33,f
2237 00aa 0c36          rrf     main__33,w
2238 00ab 3907          andlw   7
2239                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2240 00ac 3eae          addlw   main__32
2241 00ad 0082          movwf   __pcl
2242                    ; page_group 8
2243   00ae :   main__32:
2244 00ae 28d7          goto    main__34
2245 00af 28d7          goto    main__34
2246 00b0 28d7          goto    main__34
2247 00b1 28d7          goto    main__34
2248 00b2 28d7          goto    main__34
2249 00b3 28d7          goto    main__34
2250 00b4 28d7          goto    main__34
2251 00b5 28b6          goto    main__31
2252                    ; line_number = 167
2253                    ; case 7
2254   00b6 :   main__31:
2255                    ; # 1111 1xxx:
2256                    ; line_number = 169
2257                    ;  switch command & 7 start
2258                    ;info   169, 182
2259                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2260 00b6 3000          movlw   main__29>>8
2261 00b7 008a          movwf   __pclath
2262 00b8 3007          movlw   7
2263 00b9 0525          andwf   main__command,w
2264                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2265 00ba 3ebc          addlw   main__29
2266 00bb 0082          movwf   __pcl
2267                    ; page_group 8
2268   00bc :   main__29:
2269 00bc 28d7          goto    main__30
2270 00bd 28d7          goto    main__30
2271 00be 28d7          goto    main__30
2272 00bf 28d7          goto    main__30
2273 00c0 28c4          goto    main__25
2274 00c1 28c5          goto    main__26
2275 00c2 28d0          goto    main__27
2276 00c3 28d4          goto    main__28
2277                    ; line_number = 170
2278                    ; case 4
2279   00c4 :   main__25:
2280                    ; # 1111 1100 (Address_Set)
2281 00c4 28d7          goto    main__30
2282                    ; line_number = 172
2283                    ; case 5
2284   00c5 :   main__26:
2285                    ; # 1111 1101 (Id_Next)
2286                    ; line_number = 174
2287                    ;  transmit := _true
2288                    ;info   174, 197
2289 00c5 156f          bsf     main__transmit___byte, main__transmit___bit
2290                    ; line_number = 175
2291                    ;  result := 0
2292                    ;info   175, 198
2293 00c6 01a6          clrf    main__result
2294                    ; line_number = 176
2295                    ;  if id_index < id.size start
2296                    ;info   176, 199
2297 00c7 301a          movlw   26
2298 00c8 0224          subwf   id_index,w
2299                    ; =>bit_code_emit@symbol(): sym=__c
2300                    ; No 1TEST: true.size=0 false.size=4
2301                    ; No 2TEST: true.size=0 false.size=4
2302                    ; 1GOTO: Single test with GOTO
2303 00c9 1803          btfsc   __c___byte, __c___bit
2304 00ca 28cf          goto    main__24
2305                    ; line_number = 177
2306                    ; result := id[id_index]
2307                    ;info   177, 203
2308 00cb 0824          movf    id_index,w
2309 00cc 20f1          call    id
2310 00cd 00a6          movwf   main__result
2311                    ; line_number = 178
2312                    ;  id_index := id_index + 1
2313                    ;info   178, 206
2314 00ce 0aa4          incf    id_index,f
2315   00cf :   main__24:
2316                    ; Recombine size1 = 0 || size2 = 0
2317                    ; line_number = 176
2318                    ;  if id_index < id.size done
2319                    ; #result := id_index
2320 00cf 28d7          goto    main__30
2321                    ; line_number = 180
2322                    ; case 6
2323   00d0 :   main__27:
2324                    ; # 1111 1110 (Id_Start)
2325                    ; line_number = 182
2326                    ;  id_index := 0
2327                    ;info   182, 208
2328 00d0 01a4          clrf    id_index
2329                    ; line_number = 183
2330                    ;  result := 0
2331                    ;info   183, 209
2332 00d1 01a6          clrf    main__result
2333                    ; line_number = 184
2334                    ;  transmit := _true
2335                    ;info   184, 210
2336 00d2 156f          bsf     main__transmit___byte, main__transmit___bit
2337 00d3 28d7          goto    main__30
2338                    ; line_number = 185
2339                    ; case 7
2340   00d4 :   main__28:
2341                    ; # 1111 1111 (Deselect):
2342                    ; line_number = 187
2343                    ;  result := 0
2344                    ;info   187, 212
2345 00d4 01a6          clrf    main__result
2346                    ; line_number = 188
2347                    ;  transmit := _true
2348                    ;info   188, 213
2349 00d5 156f          bsf     main__transmit___byte, main__transmit___bit
2350                    ; line_number = 189
2351                    ;  _adden := _true
2352                    ;info   189, 214
2353 00d6 1597          bsf     _adden___byte, _adden___bit
2354   00d7 :   main__30:
2355                    ; line_number = 169
2356                    ;  switch command & 7 done
2357   00d7 :   main__34:
2358                    ; line_number = 166
2359                    ;  switch (command >> 3) & 7 done
2360   00d7 :   main__39:
2361                    ; line_number = 112
2362                    ;  switch command >> 6 done
2363 00d7 28eb          goto    main__45
2364                    ; line_number = 190
2365                    ; case 1
2366   00d8 :   main__41:
2367                    ; # Digital8Write
2368                    ; line_number = 192
2369                    ;  call digital_set(command)
2370                    ;info   192, 216
2371 00d8 0825          movf    main__command,w
2372 00d9 2158          call    digital_set
2373                    ; line_number = 193
2374                    ;  result := digital_read()
2375                    ;info   193, 218
2376 00da 2141          call    digital_read
2377 00db 00a6          movwf   main__result
2378                    ; line_number = 194
2379                    ;  transmit := _true
2380                    ;info   194, 220
2381 00dc 156f          bsf     main__transmit___byte, main__transmit___bit
2382                    ; line_number = 195
2383                    ;  mode := 0
2384                    ;info   195, 221
2385 00dd 01a7          clrf    main__mode
2386 00de 28eb          goto    main__45
2387                    ; line_number = 196
2388                    ; case 2
2389   00df :   main__42:
2390                    ; # Direction_Set:
2391                    ; line_number = 198
2392                    ;  call direction_set(command)
2393                    ;info   198, 223
2394 00df 0825          movf    main__command,w
2395 00e0 218b          call    direction_set
2396                    ; line_number = 199
2397                    ;  result := command
2398                    ;info   199, 225
2399 00e1 0825          movf    main__command,w
2400 00e2 00a6          movwf   main__result
2401                    ; line_number = 200
2402                    ;  transmit := _true
2403                    ;info   200, 227
2404 00e3 156f          bsf     main__transmit___byte, main__transmit___bit
2405                    ; line_number = 201
2406                    ;  mode := 0
2407                    ;info   201, 228
2408 00e4 01a7          clrf    main__mode
2409 00e5 28eb          goto    main__45
2410                    ; line_number = 202
2411                    ; case 3
2412   00e6 :   main__43:
2413                    ; # Analog_Set:
2414                    ; line_number = 204
2415                    ;  call analog_set(command)
2416                    ;info   204, 230
2417 00e6 0825          movf    main__command,w
2418 00e7 212f          call    analog_set
2419                    ; line_number = 205
2420                    ;  result := 0
2421                    ;info   205, 232
2422 00e8 01a6          clrf    main__result
2423                    ; line_number = 206
2424                    ;  transmit := _true
2425                    ;info   206, 233
2426 00e9 156f          bsf     main__transmit___byte, main__transmit___bit
2427                    ; line_number = 207
2428                    ;  mode := 0
2429                    ;info   207, 234
2430 00ea 01a7          clrf    main__mode
2431            
2432   00eb :   main__45:
2433                    ; line_number = 109
2434                    ;  switch mode done
2435   00eb :   main__49:
2436                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2437                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2438                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2439                    ; line_number = 96
2440                    ;  if rx9d done
2441                    ; #loop_exactly 10
2442                    ; #    delay 200
2443                    ; #	do_nothing
2444            
2445                    ; line_number = 213
2446                    ;  if transmit start
2447                    ;info   213, 235
2448                    ; =>bit_code_emit@symbol(): sym=main__transmit
2449                    ; No 1TEST: true.size=3 false.size=0
2450                    ; No 2TEST: true.size=3 false.size=0
2451                    ; 1GOTO: Single test with GOTO
2452 00eb 1d6f          btfss   main__transmit___byte, main__transmit___bit
2453 00ec 28f0          goto    main__50
2454                    ; line_number = 214
2455                    ; call _uart_byte_put(result)
2456                    ;info   214, 237
2457 00ed 0826          movf    main__result,w
2458 00ee 21d7          call    _uart_byte_put
2459            
2460                    ; # Dispose of echoed command in buffer:
2461                    ; line_number = 217
2462                    ;  call _uart_byte_get()
2463                    ;info   217, 239
2464 00ef 21b8          call    _uart_byte_get
2465            
2466            
2467                    ; Recombine size1 = 0 || size2 = 0
2468   00f0 :   main__50:
2469                    ; line_number = 213
2470                    ;  if transmit done
2471                    ; line_number = 86
2472                    ;  loop_forever wrap-up
2473 00f0 2823          goto    main__3
2474                    ; line_number = 86
2475                    ;  loop_forever done
2476                    ; delay after procedure statements=non-uniform
2477            
2478            
2479            
2480            
2481                    ; line_number = 220
2482                    ; string id = "\16,0,3,1,3,12\Midimotor2-A\7\Gramson" start
2483                    ; id = '\16,0,3,1,3,12\Midimotor2-A\7\Gramson'
2484   00f1 :   id:
2485                    ; Temporarily save index into FSR
2486 00f1 0084          movwf   __fsr
2487                    ; Initialize PCLATH to point to this code page
2488 00f2 3001          movlw   id___base>>8
2489 00f3 008a          movwf   __pclath
2490                    ; Restore index from FSR
2491 00f4 0804          movf    __fsr,w
2492 00f5 3e00          addlw   id___base
2493                    ; Index to the correct return value
2494 00f6 0082          movwf   __pcl
2495                    ; page_group 26
2496                    ; Add 9 NOP's until start of new page 
2497 00f7 0000          nop     
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 3403          retlw   3
2510 0103 3401          retlw   1
2511 0104 3403          retlw   3
2512 0105 340c          retlw   12
2513 0106 344d          retlw   77
2514 0107 3469          retlw   105
2515 0108 3464          retlw   100
2516 0109 3469          retlw   105
2517 010a 346d          retlw   109
2518 010b 346f          retlw   111
2519 010c 3474          retlw   116
2520 010d 346f          retlw   111
2521 010e 3472          retlw   114
2522 010f 3432          retlw   50
2523 0110 342d          retlw   45
2524 0111 3441          retlw   65
2525 0112 3407          retlw   7
2526 0113 3447          retlw   71
2527 0114 3472          retlw   114
2528 0115 3461          retlw   97
2529 0116 346d          retlw   109
2530 0117 3473          retlw   115
2531 0118 346f          retlw   111
2532 0119 346e          retlw   110
2533                    ; line_number = 220
2534                    ; string id = "\16,0,3,1,3,12\Midimotor2-A\7\Gramson" start
2535            
2536                    ; line_number = 222
2537                    ;info   222, 282
2538                    ; procedure analog_read
2539   011a :   analog_read:
2540                    ; arguments_none
2541                    ; line_number = 224
2542                    ;  returns byte
2543            
2544                    ; # This procedure will return the analog selection bits.
2545            
2546                    ; line_number = 228
2547                    ;  local analog byte
2548 00000028 = analog_read__analog equ globals___0+8
2549            
2550                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2551                    ; line_number = 230
2552                    ;  analog := 0
2553                    ;info   230, 282
2554 011a 01a8          clrf    analog_read__analog
2555                    ; line_number = 231
2556                    ;  if _ansel@0 start
2557                    ;info   231, 283
2558 00000091 = analog_read__select__2___byte equ _ansel
2559 00000000 = analog_read__select__2___bit equ 0
2560                    ; =>bit_code_emit@symbol(): sym=analog_read__select__2
2561                    ; 1TEST: Single test with code in skip slot
2562 011b 1683          bsf     __rp0___byte, __rp0___bit
2563 011c 1811          btfsc   analog_read__select__2___byte, analog_read__select__2___bit
2564                    ; line_number = 232
2565                    ; analog@0 := _true
2566                    ;info   232, 285
2567 00000028 = analog_read__select__1___byte equ analog_read__analog
2568 00000000 = analog_read__select__1___bit equ 0
2569 011d 1428          bsf     analog_read__select__1___byte, analog_read__select__1___bit
2570                    ; Recombine size1 = 0 || size2 = 0
2571                    ; line_number = 231
2572                    ;  if _ansel@0 done
2573                    ; line_number = 233
2574                    ; if _ansel@1 start
2575                    ;info   233, 286
2576 00000091 = analog_read__select__4___byte equ _ansel
2577 00000001 = analog_read__select__4___bit equ 1
2578                    ; =>bit_code_emit@symbol(): sym=analog_read__select__4
2579                    ; 1TEST: Single test with code in skip slot
2580 011e 1891          btfsc   analog_read__select__4___byte, analog_read__select__4___bit
2581                    ; line_number = 234
2582                    ; analog@1 := _true
2583                    ;info   234, 287
2584 00000028 = analog_read__select__3___byte equ analog_read__analog
2585 00000001 = analog_read__select__3___bit equ 1
2586 011f 14a8          bsf     analog_read__select__3___byte, analog_read__select__3___bit
2587                    ; Recombine size1 = 0 || size2 = 0
2588                    ; line_number = 233
2589                    ; if _ansel@1 done
2590                    ; line_number = 235
2591                    ; if _ansel@2 start
2592                    ;info   235, 288
2593 00000091 = analog_read__select__6___byte equ _ansel
2594 00000002 = analog_read__select__6___bit equ 2
2595                    ; =>bit_code_emit@symbol(): sym=analog_read__select__6
2596                    ; 1TEST: Single test with code in skip slot
2597 0120 1911          btfsc   analog_read__select__6___byte, analog_read__select__6___bit
2598                    ; line_number = 236
2599                    ; analog@2 := _true
2600                    ;info   236, 289
2601 00000028 = analog_read__select__5___byte equ analog_read__analog
2602 00000002 = analog_read__select__5___bit equ 2
2603 0121 1528          bsf     analog_read__select__5___byte, analog_read__select__5___bit
2604                    ; Recombine size1 = 0 || size2 = 0
2605                    ; line_number = 235
2606                    ; if _ansel@2 done
2607                    ; line_number = 237
2608                    ; if _ansel@3 start
2609                    ;info   237, 290
2610 00000091 = analog_read__select__8___byte equ _ansel
2611 00000003 = analog_read__select__8___bit equ 3
2612                    ; =>bit_code_emit@symbol(): sym=analog_read__select__8
2613                    ; 1TEST: Single test with code in skip slot
2614 0122 1991          btfsc   analog_read__select__8___byte, analog_read__select__8___bit
2615                    ; line_number = 238
2616                    ; analog@3 := _true
2617                    ;info   238, 291
2618 00000028 = analog_read__select__7___byte equ analog_read__analog
2619 00000003 = analog_read__select__7___bit equ 3
2620 0123 15a8          bsf     analog_read__select__7___byte, analog_read__select__7___bit
2621                    ; Recombine size1 = 0 || size2 = 0
2622                    ; line_number = 237
2623                    ; if _ansel@3 done
2624                    ; line_number = 239
2625                    ; if _ansel@4 start
2626                    ;info   239, 292
2627 00000091 = analog_read__select__10___byte equ _ansel
2628 00000004 = analog_read__select__10___bit equ 4
2629                    ; =>bit_code_emit@symbol(): sym=analog_read__select__10
2630                    ; 1TEST: Single test with code in skip slot
2631 0124 1a11          btfsc   analog_read__select__10___byte, analog_read__select__10___bit
2632                    ; line_number = 240
2633                    ; analog@4 := _true
2634                    ;info   240, 293
2635 00000028 = analog_read__select__9___byte equ analog_read__analog
2636 00000004 = analog_read__select__9___bit equ 4
2637 0125 1628          bsf     analog_read__select__9___byte, analog_read__select__9___bit
2638                    ; Recombine size1 = 0 || size2 = 0
2639                    ; line_number = 239
2640                    ; if _ansel@4 done
2641                    ; line_number = 241
2642                    ; if _ansel@5 start
2643                    ;info   241, 294
2644 00000091 = analog_read__select__12___byte equ _ansel
2645 00000005 = analog_read__select__12___bit equ 5
2646                    ; =>bit_code_emit@symbol(): sym=analog_read__select__12
2647                    ; 1TEST: Single test with code in skip slot
2648 0126 1a91          btfsc   analog_read__select__12___byte, analog_read__select__12___bit
2649                    ; line_number = 242
2650                    ; analog@5 := _true
2651                    ;info   242, 295
2652 00000028 = analog_read__select__11___byte equ analog_read__analog
2653 00000005 = analog_read__select__11___bit equ 5
2654 0127 16a8          bsf     analog_read__select__11___byte, analog_read__select__11___bit
2655                    ; Recombine size1 = 0 || size2 = 0
2656                    ; line_number = 241
2657                    ; if _ansel@5 done
2658                    ; line_number = 243
2659                    ; if _ansel@6 start
2660                    ;info   243, 296
2661 00000091 = analog_read__select__14___byte equ _ansel
2662 00000006 = analog_read__select__14___bit equ 6
2663                    ; =>bit_code_emit@symbol(): sym=analog_read__select__14
2664                    ; 1TEST: Single test with code in skip slot
2665 0128 1b11          btfsc   analog_read__select__14___byte, analog_read__select__14___bit
2666                    ; line_number = 244
2667                    ; analog@6 := _true
2668                    ;info   244, 297
2669 00000028 = analog_read__select__13___byte equ analog_read__analog
2670 00000006 = analog_read__select__13___bit equ 6
2671 0129 1728          bsf     analog_read__select__13___byte, analog_read__select__13___bit
2672                    ; Recombine size1 = 0 || size2 = 0
2673                    ; line_number = 243
2674                    ; if _ansel@6 done
2675                    ; line_number = 245
2676                    ; if _ansel@7 start
2677                    ;info   245, 298
2678 00000091 = analog_read__select__16___byte equ _ansel
2679 00000007 = analog_read__select__16___bit equ 7
2680                    ; =>bit_code_emit@symbol(): sym=analog_read__select__16
2681                    ; 1TEST: Single test with code in skip slot
2682 012a 1b91          btfsc   analog_read__select__16___byte, analog_read__select__16___bit
2683                    ; line_number = 246
2684                    ; analog@7 := _true
2685                    ;info   246, 299
2686 00000028 = analog_read__select__15___byte equ analog_read__analog
2687 00000007 = analog_read__select__15___bit equ 7
2688 012b 17a8          bsf     analog_read__select__15___byte, analog_read__select__15___bit
2689                    ; Recombine size1 = 0 || size2 = 0
2690                    ; line_number = 245
2691                    ; if _ansel@7 done
2692                    ; line_number = 247
2693                    ; return analog start
2694                    ; line_number = 247
2695                    ;info   247, 300
2696 012c 1283          bcf     __rp0___byte, __rp0___bit
2697 012d 0828          movf    analog_read__analog,w
2698 012e 0008          return  
2699                    ; line_number = 247
2700                    ; return analog done
2701            
2702            
2703                    ; delay after procedure statements=non-uniform
2704            
2705            
2706            
2707            
2708                    ; line_number = 250
2709                    ;info   250, 303
2710                    ; procedure analog_set
2711   012f :   analog_set:
2712                    ; Last argument is sitting in W; save into argument variable
2713 012f 00a9          movwf   analog_set__analog
2714                    ; delay=4294967295
2715                    ; line_number = 251
2716                    ; argument analog byte
2717 00000029 = analog_set__analog equ globals___0+9
2718                    ; line_number = 252
2719                    ;  returns_nothing
2720            
2721                    ; # This procedure will set the analog inputs to be equal to {analog}.
2722            
2723                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2724                    ; line_number = 256
2725                    ;  if analog@0 start
2726                    ;info   256, 304
2727 00000029 = analog_set__select__2___byte equ analog_set__analog
2728 00000000 = analog_set__select__2___bit equ 0
2729                    ; =>bit_code_emit@symbol(): sym=analog_set__select__2
2730                    ; 1TEST: Single test with code in skip slot
2731 0130 1829          btfsc   analog_set__select__2___byte, analog_set__select__2___bit
2732                    ; line_number = 257
2733                    ; _ansel@0 := _true
2734                    ;info   257, 305
2735 00000091 = analog_set__select__1___byte equ _ansel
2736 00000000 = analog_set__select__1___bit equ 0
2737 0131 1411          bsf     analog_set__select__1___byte, analog_set__select__1___bit
2738                    ; Recombine size1 = 0 || size2 = 0
2739                    ; line_number = 256
2740                    ;  if analog@0 done
2741                    ; line_number = 258
2742                    ; if analog@1 start
2743                    ;info   258, 306
2744 00000029 = analog_set__select__4___byte equ analog_set__analog
2745 00000001 = analog_set__select__4___bit equ 1
2746                    ; =>bit_code_emit@symbol(): sym=analog_set__select__4
2747                    ; 1TEST: Single test with code in skip slot
2748 0132 18a9          btfsc   analog_set__select__4___byte, analog_set__select__4___bit
2749                    ; line_number = 259
2750                    ; _ansel@1 := _true
2751                    ;info   259, 307
2752 00000091 = analog_set__select__3___byte equ _ansel
2753 00000001 = analog_set__select__3___bit equ 1
2754 0133 1491          bsf     analog_set__select__3___byte, analog_set__select__3___bit
2755                    ; Recombine size1 = 0 || size2 = 0
2756                    ; line_number = 258
2757                    ; if analog@1 done
2758                    ; line_number = 260
2759                    ; if analog@2 start
2760                    ;info   260, 308
2761 00000029 = analog_set__select__6___byte equ analog_set__analog
2762 00000002 = analog_set__select__6___bit equ 2
2763                    ; =>bit_code_emit@symbol(): sym=analog_set__select__6
2764                    ; 1TEST: Single test with code in skip slot
2765 0134 1929          btfsc   analog_set__select__6___byte, analog_set__select__6___bit
2766                    ; line_number = 261
2767                    ; _ansel@2 := _true
2768                    ;info   261, 309
2769 00000091 = analog_set__select__5___byte equ _ansel
2770 00000002 = analog_set__select__5___bit equ 2
2771 0135 1511          bsf     analog_set__select__5___byte, analog_set__select__5___bit
2772                    ; Recombine size1 = 0 || size2 = 0
2773                    ; line_number = 260
2774                    ; if analog@2 done
2775                    ; line_number = 262
2776                    ; if analog@3 start
2777                    ;info   262, 310
2778 00000029 = analog_set__select__8___byte equ analog_set__analog
2779 00000003 = analog_set__select__8___bit equ 3
2780                    ; =>bit_code_emit@symbol(): sym=analog_set__select__8
2781                    ; 1TEST: Single test with code in skip slot
2782 0136 19a9          btfsc   analog_set__select__8___byte, analog_set__select__8___bit
2783                    ; line_number = 263
2784                    ; _ansel@3 := _true
2785                    ;info   263, 311
2786 00000091 = analog_set__select__7___byte equ _ansel
2787 00000003 = analog_set__select__7___bit equ 3
2788 0137 1591          bsf     analog_set__select__7___byte, analog_set__select__7___bit
2789                    ; Recombine size1 = 0 || size2 = 0
2790                    ; line_number = 262
2791                    ; if analog@3 done
2792                    ; line_number = 264
2793                    ; if analog@4 start
2794                    ;info   264, 312
2795 00000029 = analog_set__select__10___byte equ analog_set__analog
2796 00000004 = analog_set__select__10___bit equ 4
2797                    ; =>bit_code_emit@symbol(): sym=analog_set__select__10
2798                    ; 1TEST: Single test with code in skip slot
2799 0138 1a29          btfsc   analog_set__select__10___byte, analog_set__select__10___bit
2800                    ; line_number = 265
2801                    ; _ansel@4 := _true
2802                    ;info   265, 313
2803 00000091 = analog_set__select__9___byte equ _ansel
2804 00000004 = analog_set__select__9___bit equ 4
2805 0139 1611          bsf     analog_set__select__9___byte, analog_set__select__9___bit
2806                    ; Recombine size1 = 0 || size2 = 0
2807                    ; line_number = 264
2808                    ; if analog@4 done
2809                    ; line_number = 266
2810                    ; if analog@5 start
2811                    ;info   266, 314
2812 00000029 = analog_set__select__12___byte equ analog_set__analog
2813 00000005 = analog_set__select__12___bit equ 5
2814                    ; =>bit_code_emit@symbol(): sym=analog_set__select__12
2815                    ; 1TEST: Single test with code in skip slot
2816 013a 1aa9          btfsc   analog_set__select__12___byte, analog_set__select__12___bit
2817                    ; line_number = 267
2818                    ; _ansel@5 := _true
2819                    ;info   267, 315
2820 00000091 = analog_set__select__11___byte equ _ansel
2821 00000005 = analog_set__select__11___bit equ 5
2822 013b 1691          bsf     analog_set__select__11___byte, analog_set__select__11___bit
2823                    ; Recombine size1 = 0 || size2 = 0
2824                    ; line_number = 266
2825                    ; if analog@5 done
2826                    ; line_number = 268
2827                    ; if analog@6 start
2828                    ;info   268, 316
2829 00000029 = analog_set__select__14___byte equ analog_set__analog
2830 00000006 = analog_set__select__14___bit equ 6
2831                    ; =>bit_code_emit@symbol(): sym=analog_set__select__14
2832                    ; 1TEST: Single test with code in skip slot
2833 013c 1b29          btfsc   analog_set__select__14___byte, analog_set__select__14___bit
2834                    ; line_number = 269
2835                    ; _ansel@6 := _true
2836                    ;info   269, 317
2837 00000091 = analog_set__select__13___byte equ _ansel
2838 00000006 = analog_set__select__13___bit equ 6
2839 013d 1711          bsf     analog_set__select__13___byte, analog_set__select__13___bit
2840                    ; Recombine size1 = 0 || size2 = 0
2841                    ; line_number = 268
2842                    ; if analog@6 done
2843                    ; line_number = 270
2844                    ; if analog@7 start
2845                    ;info   270, 318
2846 00000029 = analog_set__select__16___byte equ analog_set__analog
2847 00000007 = analog_set__select__16___bit equ 7
2848                    ; =>bit_code_emit@symbol(): sym=analog_set__select__16
2849                    ; 1TEST: Single test with code in skip slot
2850 013e 1ba9          btfsc   analog_set__select__16___byte, analog_set__select__16___bit
2851                    ; line_number = 271
2852                    ; _ansel@7 := _true
2853                    ;info   271, 319
2854 00000091 = analog_set__select__15___byte equ _ansel
2855 00000007 = analog_set__select__15___bit equ 7
2856 013f 1791          bsf     analog_set__select__15___byte, analog_set__select__15___bit
2857            
2858            
2859                    ; Recombine size1 = 0 || size2 = 0
2860                    ; line_number = 270
2861                    ; if analog@7 done
2862                    ; delay after procedure statements=non-uniform
2863                    ; Implied return
2864 0140 3400          retlw   0
2865            
2866            
2867            
2868            
2869                    ; line_number = 274
2870                    ;info   274, 321
2871                    ; procedure digital_read
2872   0141 :   digital_read:
2873                    ; arguments_none
2874                    ; line_number = 276
2875                    ;  returns byte
2876            
2877                    ; # This procedure will return the digital bits corresponding to
2878                    ; # the 8 digital data inputs.
2879            
2880                    ; line_number = 281
2881                    ;  local ra byte
2882 0000002a = digital_read__ra equ globals___0+10
2883                    ; line_number = 282
2884                    ;  local rc byte
2885 0000002b = digital_read__rc equ globals___0+11
2886                    ; line_number = 283
2887                    ;  local digital byte
2888 0000002c = digital_read__digital equ globals___0+12
2889            
2890                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
2891                    ; line_number = 285
2892                    ;  ra := _porta
2893                    ;info   285, 321
2894 0141 0805          movf    _porta,w
2895 0142 00aa          movwf   digital_read__ra
2896                    ; line_number = 286
2897                    ;  rc := _portc
2898                    ;info   286, 323
2899 0143 0807          movf    _portc,w
2900 0144 00ab          movwf   digital_read__rc
2901                    ; line_number = 287
2902                    ;  digital := 0
2903                    ;info   287, 325
2904 0145 01ac          clrf    digital_read__digital
2905            
2906                    ; line_number = 289
2907                    ;  if ra@io0_bit start
2908                    ;info   289, 326
2909 0000002a = digital_read__select__2___byte equ digital_read__ra
2910 00000000 = digital_read__select__2___bit equ 0
2911                    ; =>bit_code_emit@symbol(): sym=digital_read__select__2
2912                    ; 1TEST: Single test with code in skip slot
2913 0146 182a          btfsc   digital_read__select__2___byte, digital_read__select__2___bit
2914                    ; line_number = 290
2915                    ; digital@0 := _true
2916                    ;info   290, 327
2917 0000002c = digital_read__select__1___byte equ digital_read__digital
2918 00000000 = digital_read__select__1___bit equ 0
2919 0147 142c          bsf     digital_read__select__1___byte, digital_read__select__1___bit
2920                    ; Recombine size1 = 0 || size2 = 0
2921                    ; line_number = 289
2922                    ;  if ra@io0_bit done
2923                    ; line_number = 291
2924                    ; if ra@io1_bit start
2925                    ;info   291, 328
2926 0000002a = digital_read__select__4___byte equ digital_read__ra
2927 00000004 = digital_read__select__4___bit equ 4
2928                    ; =>bit_code_emit@symbol(): sym=digital_read__select__4
2929                    ; 1TEST: Single test with code in skip slot
2930 0148 1a2a          btfsc   digital_read__select__4___byte, digital_read__select__4___bit
2931                    ; line_number = 292
2932                    ; digital@1 := _true
2933                    ;info   292, 329
2934 0000002c = digital_read__select__3___byte equ digital_read__digital
2935 00000001 = digital_read__select__3___bit equ 1
2936 0149 14ac          bsf     digital_read__select__3___byte, digital_read__select__3___bit
2937                    ; Recombine size1 = 0 || size2 = 0
2938                    ; line_number = 291
2939                    ; if ra@io1_bit done
2940                    ; line_number = 293
2941                    ; if ra@io2_bit start
2942                    ;info   293, 330
2943 0000002a = digital_read__select__6___byte equ digital_read__ra
2944 00000001 = digital_read__select__6___bit equ 1
2945                    ; =>bit_code_emit@symbol(): sym=digital_read__select__6
2946                    ; 1TEST: Single test with code in skip slot
2947 014a 18aa          btfsc   digital_read__select__6___byte, digital_read__select__6___bit
2948                    ; line_number = 294
2949                    ; digital@2 := _true
2950                    ;info   294, 331
2951 0000002c = digital_read__select__5___byte equ digital_read__digital
2952 00000002 = digital_read__select__5___bit equ 2
2953 014b 152c          bsf     digital_read__select__5___byte, digital_read__select__5___bit
2954                    ; Recombine size1 = 0 || size2 = 0
2955                    ; line_number = 293
2956                    ; if ra@io2_bit done
2957                    ; line_number = 295
2958                    ; if ra@io3_bit start
2959                    ;info   295, 332
2960 0000002a = digital_read__select__8___byte equ digital_read__ra
2961 00000002 = digital_read__select__8___bit equ 2
2962                    ; =>bit_code_emit@symbol(): sym=digital_read__select__8
2963                    ; 1TEST: Single test with code in skip slot
2964 014c 192a          btfsc   digital_read__select__8___byte, digital_read__select__8___bit
2965                    ; line_number = 296
2966                    ; digital@3 := _true
2967                    ;info   296, 333
2968 0000002c = digital_read__select__7___byte equ digital_read__digital
2969 00000003 = digital_read__select__7___bit equ 3
2970 014d 15ac          bsf     digital_read__select__7___byte, digital_read__select__7___bit
2971                    ; Recombine size1 = 0 || size2 = 0
2972                    ; line_number = 295
2973                    ; if ra@io3_bit done
2974                    ; line_number = 297
2975                    ; if rc@io4_bit start
2976                    ;info   297, 334
2977 0000002b = digital_read__select__10___byte equ digital_read__rc
2978 00000000 = digital_read__select__10___bit equ 0
2979                    ; =>bit_code_emit@symbol(): sym=digital_read__select__10
2980                    ; 1TEST: Single test with code in skip slot
2981 014e 182b          btfsc   digital_read__select__10___byte, digital_read__select__10___bit
2982                    ; line_number = 298
2983                    ; digital@4 := _true
2984                    ;info   298, 335
2985 0000002c = digital_read__select__9___byte equ digital_read__digital
2986 00000004 = digital_read__select__9___bit equ 4
2987 014f 162c          bsf     digital_read__select__9___byte, digital_read__select__9___bit
2988                    ; Recombine size1 = 0 || size2 = 0
2989                    ; line_number = 297
2990                    ; if rc@io4_bit done
2991                    ; line_number = 299
2992                    ; if rc@io5_bit start
2993                    ;info   299, 336
2994 0000002b = digital_read__select__12___byte equ digital_read__rc
2995 00000001 = digital_read__select__12___bit equ 1
2996                    ; =>bit_code_emit@symbol(): sym=digital_read__select__12
2997                    ; 1TEST: Single test with code in skip slot
2998 0150 18ab          btfsc   digital_read__select__12___byte, digital_read__select__12___bit
2999                    ; line_number = 300
3000                    ; digital@5 := _true
3001                    ;info   300, 337
3002 0000002c = digital_read__select__11___byte equ digital_read__digital
3003 00000005 = digital_read__select__11___bit equ 5
3004 0151 16ac          bsf     digital_read__select__11___byte, digital_read__select__11___bit
3005                    ; Recombine size1 = 0 || size2 = 0
3006                    ; line_number = 299
3007                    ; if rc@io5_bit done
3008                    ; line_number = 301
3009                    ; if rc@io6_bit start
3010                    ;info   301, 338
3011 0000002b = digital_read__select__14___byte equ digital_read__rc
3012 00000002 = digital_read__select__14___bit equ 2
3013                    ; =>bit_code_emit@symbol(): sym=digital_read__select__14
3014                    ; 1TEST: Single test with code in skip slot
3015 0152 192b          btfsc   digital_read__select__14___byte, digital_read__select__14___bit
3016                    ; line_number = 302
3017                    ; digital@6 := _true
3018                    ;info   302, 339
3019 0000002c = digital_read__select__13___byte equ digital_read__digital
3020 00000006 = digital_read__select__13___bit equ 6
3021 0153 172c          bsf     digital_read__select__13___byte, digital_read__select__13___bit
3022                    ; Recombine size1 = 0 || size2 = 0
3023                    ; line_number = 301
3024                    ; if rc@io6_bit done
3025                    ; line_number = 303
3026                    ; if rc@io7_bit start
3027                    ;info   303, 340
3028 0000002b = digital_read__select__16___byte equ digital_read__rc
3029 00000003 = digital_read__select__16___bit equ 3
3030                    ; =>bit_code_emit@symbol(): sym=digital_read__select__16
3031                    ; 1TEST: Single test with code in skip slot
3032 0154 19ab          btfsc   digital_read__select__16___byte, digital_read__select__16___bit
3033                    ; line_number = 304
3034                    ; digital@7 := _true
3035                    ;info   304, 341
3036 0000002c = digital_read__select__15___byte equ digital_read__digital
3037 00000007 = digital_read__select__15___bit equ 7
3038 0155 17ac          bsf     digital_read__select__15___byte, digital_read__select__15___bit
3039                    ; Recombine size1 = 0 || size2 = 0
3040                    ; line_number = 303
3041                    ; if rc@io7_bit done
3042                    ; line_number = 305
3043                    ; return digital start
3044                    ; line_number = 305
3045                    ;info   305, 342
3046 0156 082c          movf    digital_read__digital,w
3047 0157 0008          return  
3048                    ; line_number = 305
3049                    ; return digital done
3050            
3051            
3052                    ; delay after procedure statements=non-uniform
3053            
3054            
3055            
3056            
3057                    ; line_number = 308
3058                    ;info   308, 344
3059                    ; procedure digital_set
3060   0158 :   digital_set:
3061                    ; Last argument is sitting in W; save into argument variable
3062 0158 00af          movwf   digital_set__digital
3063                    ; delay=4294967295
3064                    ; line_number = 309
3065                    ; argument digital byte
3066 0000002f = digital_set__digital equ globals___0+15
3067                    ; line_number = 310
3068                    ;  returns_nothing
3069            
3070                    ; # This procedure will set the digital outputs to be equal to {digital}.
3071            
3072                    ; line_number = 314
3073                    ;  local ra byte
3074 0000002d = digital_set__ra equ globals___0+13
3075                    ; line_number = 315
3076                    ;  local rc byte
3077 0000002e = digital_set__rc equ globals___0+14
3078            
3079                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3080                    ; line_number = 317
3081                    ;  ra := 0
3082                    ;info   317, 345
3083 0159 01ad          clrf    digital_set__ra
3084                    ; line_number = 318
3085                    ;  rc := 0
3086                    ;info   318, 346
3087 015a 01ae          clrf    digital_set__rc
3088                    ; line_number = 319
3089                    ;  if digital@0 start
3090                    ;info   319, 347
3091 0000002f = digital_set__select__2___byte equ digital_set__digital
3092 00000000 = digital_set__select__2___bit equ 0
3093                    ; =>bit_code_emit@symbol(): sym=digital_set__select__2
3094                    ; 1TEST: Single test with code in skip slot
3095 015b 182f          btfsc   digital_set__select__2___byte, digital_set__select__2___bit
3096                    ; line_number = 320
3097                    ; ra@io0_bit := _true
3098                    ;info   320, 348
3099 0000002d = digital_set__select__1___byte equ digital_set__ra
3100 00000000 = digital_set__select__1___bit equ 0
3101 015c 142d          bsf     digital_set__select__1___byte, digital_set__select__1___bit
3102                    ; Recombine size1 = 0 || size2 = 0
3103                    ; line_number = 319
3104                    ;  if digital@0 done
3105                    ; line_number = 321
3106                    ; if digital@1 start
3107                    ;info   321, 349
3108 0000002f = digital_set__select__4___byte equ digital_set__digital
3109 00000001 = digital_set__select__4___bit equ 1
3110                    ; =>bit_code_emit@symbol(): sym=digital_set__select__4
3111                    ; 1TEST: Single test with code in skip slot
3112 015d 18af          btfsc   digital_set__select__4___byte, digital_set__select__4___bit
3113                    ; line_number = 322
3114                    ; ra@io1_bit := _true
3115                    ;info   322, 350
3116 0000002d = digital_set__select__3___byte equ digital_set__ra
3117 00000004 = digital_set__select__3___bit equ 4
3118 015e 162d          bsf     digital_set__select__3___byte, digital_set__select__3___bit
3119                    ; Recombine size1 = 0 || size2 = 0
3120                    ; line_number = 321
3121                    ; if digital@1 done
3122                    ; line_number = 323
3123                    ; if digital@2 start
3124                    ;info   323, 351
3125 0000002f = digital_set__select__6___byte equ digital_set__digital
3126 00000002 = digital_set__select__6___bit equ 2
3127                    ; =>bit_code_emit@symbol(): sym=digital_set__select__6
3128                    ; 1TEST: Single test with code in skip slot
3129 015f 192f          btfsc   digital_set__select__6___byte, digital_set__select__6___bit
3130                    ; line_number = 324
3131                    ; ra@io2_bit := _true
3132                    ;info   324, 352
3133 0000002d = digital_set__select__5___byte equ digital_set__ra
3134 00000001 = digital_set__select__5___bit equ 1
3135 0160 14ad          bsf     digital_set__select__5___byte, digital_set__select__5___bit
3136                    ; Recombine size1 = 0 || size2 = 0
3137                    ; line_number = 323
3138                    ; if digital@2 done
3139                    ; line_number = 325
3140                    ; if digital@3 start
3141                    ;info   325, 353
3142 0000002f = digital_set__select__8___byte equ digital_set__digital
3143 00000003 = digital_set__select__8___bit equ 3
3144                    ; =>bit_code_emit@symbol(): sym=digital_set__select__8
3145                    ; 1TEST: Single test with code in skip slot
3146 0161 19af          btfsc   digital_set__select__8___byte, digital_set__select__8___bit
3147                    ; line_number = 326
3148                    ; ra@io3_bit := _true
3149                    ;info   326, 354
3150 0000002d = digital_set__select__7___byte equ digital_set__ra
3151 00000002 = digital_set__select__7___bit equ 2
3152 0162 152d          bsf     digital_set__select__7___byte, digital_set__select__7___bit
3153                    ; Recombine size1 = 0 || size2 = 0
3154                    ; line_number = 325
3155                    ; if digital@3 done
3156                    ; line_number = 327
3157                    ; if digital@4 start
3158                    ;info   327, 355
3159 0000002f = digital_set__select__10___byte equ digital_set__digital
3160 00000004 = digital_set__select__10___bit equ 4
3161                    ; =>bit_code_emit@symbol(): sym=digital_set__select__10
3162                    ; 1TEST: Single test with code in skip slot
3163 0163 1a2f          btfsc   digital_set__select__10___byte, digital_set__select__10___bit
3164                    ; line_number = 328
3165                    ; rc@io4_bit := _true
3166                    ;info   328, 356
3167 0000002e = digital_set__select__9___byte equ digital_set__rc
3168 00000000 = digital_set__select__9___bit equ 0
3169 0164 142e          bsf     digital_set__select__9___byte, digital_set__select__9___bit
3170                    ; Recombine size1 = 0 || size2 = 0
3171                    ; line_number = 327
3172                    ; if digital@4 done
3173                    ; line_number = 329
3174                    ; if digital@5 start
3175                    ;info   329, 357
3176 0000002f = digital_set__select__12___byte equ digital_set__digital
3177 00000005 = digital_set__select__12___bit equ 5
3178                    ; =>bit_code_emit@symbol(): sym=digital_set__select__12
3179                    ; 1TEST: Single test with code in skip slot
3180 0165 1aaf          btfsc   digital_set__select__12___byte, digital_set__select__12___bit
3181                    ; line_number = 330
3182                    ; rc@io5_bit := _true
3183                    ;info   330, 358
3184 0000002e = digital_set__select__11___byte equ digital_set__rc
3185 00000001 = digital_set__select__11___bit equ 1
3186 0166 14ae          bsf     digital_set__select__11___byte, digital_set__select__11___bit
3187                    ; Recombine size1 = 0 || size2 = 0
3188                    ; line_number = 329
3189                    ; if digital@5 done
3190                    ; line_number = 331
3191                    ; if digital@6 start
3192                    ;info   331, 359
3193 0000002f = digital_set__select__14___byte equ digital_set__digital
3194 00000006 = digital_set__select__14___bit equ 6
3195                    ; =>bit_code_emit@symbol(): sym=digital_set__select__14
3196                    ; 1TEST: Single test with code in skip slot
3197 0167 1b2f          btfsc   digital_set__select__14___byte, digital_set__select__14___bit
3198                    ; line_number = 332
3199                    ; rc@io6_bit := _true
3200                    ;info   332, 360
3201 0000002e = digital_set__select__13___byte equ digital_set__rc
3202 00000002 = digital_set__select__13___bit equ 2
3203 0168 152e          bsf     digital_set__select__13___byte, digital_set__select__13___bit
3204                    ; Recombine size1 = 0 || size2 = 0
3205                    ; line_number = 331
3206                    ; if digital@6 done
3207                    ; line_number = 333
3208                    ; if digital@7 start
3209                    ;info   333, 361
3210 0000002f = digital_set__select__16___byte equ digital_set__digital
3211 00000007 = digital_set__select__16___bit equ 7
3212                    ; =>bit_code_emit@symbol(): sym=digital_set__select__16
3213                    ; 1TEST: Single test with code in skip slot
3214 0169 1baf          btfsc   digital_set__select__16___byte, digital_set__select__16___bit
3215                    ; line_number = 334
3216                    ; rc@io7_bit := _true
3217                    ;info   334, 362
3218 0000002e = digital_set__select__15___byte equ digital_set__rc
3219 00000003 = digital_set__select__15___bit equ 3
3220 016a 15ae          bsf     digital_set__select__15___byte, digital_set__select__15___bit
3221                    ; Recombine size1 = 0 || size2 = 0
3222                    ; line_number = 333
3223                    ; if digital@7 done
3224                    ; line_number = 335
3225                    ; _porta := ra
3226                    ;info   335, 363
3227 016b 082d          movf    digital_set__ra,w
3228 016c 0085          movwf   _porta
3229                    ; line_number = 336
3230                    ;  _portc := rc
3231                    ;info   336, 365
3232 016d 082e          movf    digital_set__rc,w
3233 016e 0087          movwf   _portc
3234            
3235            
3236                    ; delay after procedure statements=non-uniform
3237                    ; Implied return
3238 016f 3400          retlw   0
3239            
3240            
3241            
3242            
3243                    ; line_number = 339
3244                    ;info   339, 368
3245                    ; procedure direction_read
3246   0170 :   direction_read:
3247                    ; arguments_none
3248                    ; line_number = 341
3249                    ;  returns byte
3250            
3251                    ; # This procedure will return the digital bits corresponding to
3252                    ; # the 8 digital data inputs.
3253            
3254                    ; line_number = 346
3255                    ;  local trisa byte
3256 00000030 = direction_read__trisa equ globals___0+16
3257                    ; line_number = 347
3258                    ;  local trisc byte
3259 00000031 = direction_read__trisc equ globals___0+17
3260                    ; line_number = 348
3261                    ;  local direction byte
3262 00000032 = direction_read__direction equ globals___0+18
3263            
3264                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3265                    ; line_number = 350
3266                    ;  direction := 0
3267                    ;info   350, 368
3268 0170 01b2          clrf    direction_read__direction
3269                    ; # Get all data into data bank 0:
3270                    ; line_number = 352
3271                    ;  trisa := _trisa
3272                    ;info   352, 369
3273 0171 1683          bsf     __rp0___byte, __rp0___bit
3274 0172 0805          movf    _trisa,w
3275 0173 1283          bcf     __rp0___byte, __rp0___bit
3276 0174 00b0          movwf   direction_read__trisa
3277                    ; line_number = 353
3278                    ;  trisc := _trisc
3279                    ;info   353, 373
3280 0175 1683          bsf     __rp0___byte, __rp0___bit
3281 0176 0807          movf    _trisc,w
3282 0177 1283          bcf     __rp0___byte, __rp0___bit
3283 0178 00b1          movwf   direction_read__trisc
3284            
3285                    ; line_number = 355
3286                    ;  if trisa@io0_bit start
3287                    ;info   355, 377
3288 00000030 = direction_read__select__2___byte equ direction_read__trisa
3289 00000000 = direction_read__select__2___bit equ 0
3290                    ; =>bit_code_emit@symbol(): sym=direction_read__select__2
3291                    ; 1TEST: Single test with code in skip slot
3292 0179 1830          btfsc   direction_read__select__2___byte, direction_read__select__2___bit
3293                    ; line_number = 356
3294                    ; direction@0 := _true
3295                    ;info   356, 378
3296 00000032 = direction_read__select__1___byte equ direction_read__direction
3297 00000000 = direction_read__select__1___bit equ 0
3298 017a 1432          bsf     direction_read__select__1___byte, direction_read__select__1___bit
3299                    ; Recombine size1 = 0 || size2 = 0
3300                    ; line_number = 355
3301                    ;  if trisa@io0_bit done
3302                    ; line_number = 357
3303                    ; if trisa@io1_bit start
3304                    ;info   357, 379
3305 00000030 = direction_read__select__4___byte equ direction_read__trisa
3306 00000004 = direction_read__select__4___bit equ 4
3307                    ; =>bit_code_emit@symbol(): sym=direction_read__select__4
3308                    ; 1TEST: Single test with code in skip slot
3309 017b 1a30          btfsc   direction_read__select__4___byte, direction_read__select__4___bit
3310                    ; line_number = 358
3311                    ; direction@1 := _true
3312                    ;info   358, 380
3313 00000032 = direction_read__select__3___byte equ direction_read__direction
3314 00000001 = direction_read__select__3___bit equ 1
3315 017c 14b2          bsf     direction_read__select__3___byte, direction_read__select__3___bit
3316                    ; Recombine size1 = 0 || size2 = 0
3317                    ; line_number = 357
3318                    ; if trisa@io1_bit done
3319                    ; line_number = 359
3320                    ; if trisa@io2_bit start
3321                    ;info   359, 381
3322 00000030 = direction_read__select__6___byte equ direction_read__trisa
3323 00000001 = direction_read__select__6___bit equ 1
3324                    ; =>bit_code_emit@symbol(): sym=direction_read__select__6
3325                    ; 1TEST: Single test with code in skip slot
3326 017d 18b0          btfsc   direction_read__select__6___byte, direction_read__select__6___bit
3327                    ; line_number = 360
3328                    ; direction@2 := _true
3329                    ;info   360, 382
3330 00000032 = direction_read__select__5___byte equ direction_read__direction
3331 00000002 = direction_read__select__5___bit equ 2
3332 017e 1532          bsf     direction_read__select__5___byte, direction_read__select__5___bit
3333                    ; Recombine size1 = 0 || size2 = 0
3334                    ; line_number = 359
3335                    ; if trisa@io2_bit done
3336                    ; line_number = 361
3337                    ; if trisa@io3_bit start
3338                    ;info   361, 383
3339 00000030 = direction_read__select__8___byte equ direction_read__trisa
3340 00000002 = direction_read__select__8___bit equ 2
3341                    ; =>bit_code_emit@symbol(): sym=direction_read__select__8
3342                    ; 1TEST: Single test with code in skip slot
3343 017f 1930          btfsc   direction_read__select__8___byte, direction_read__select__8___bit
3344                    ; line_number = 362
3345                    ; direction@3 := _true
3346                    ;info   362, 384
3347 00000032 = direction_read__select__7___byte equ direction_read__direction
3348 00000003 = direction_read__select__7___bit equ 3
3349 0180 15b2          bsf     direction_read__select__7___byte, direction_read__select__7___bit
3350                    ; Recombine size1 = 0 || size2 = 0
3351                    ; line_number = 361
3352                    ; if trisa@io3_bit done
3353                    ; line_number = 363
3354                    ; if trisc@io4_bit start
3355                    ;info   363, 385
3356 00000031 = direction_read__select__10___byte equ direction_read__trisc
3357 00000000 = direction_read__select__10___bit equ 0
3358                    ; =>bit_code_emit@symbol(): sym=direction_read__select__10
3359                    ; 1TEST: Single test with code in skip slot
3360 0181 1831          btfsc   direction_read__select__10___byte, direction_read__select__10___bit
3361                    ; line_number = 364
3362                    ; direction@4 := _true
3363                    ;info   364, 386
3364 00000032 = direction_read__select__9___byte equ direction_read__direction
3365 00000004 = direction_read__select__9___bit equ 4
3366 0182 1632          bsf     direction_read__select__9___byte, direction_read__select__9___bit
3367                    ; Recombine size1 = 0 || size2 = 0
3368                    ; line_number = 363
3369                    ; if trisc@io4_bit done
3370                    ; line_number = 365
3371                    ; if trisc@io5_bit start
3372                    ;info   365, 387
3373 00000031 = direction_read__select__12___byte equ direction_read__trisc
3374 00000001 = direction_read__select__12___bit equ 1
3375                    ; =>bit_code_emit@symbol(): sym=direction_read__select__12
3376                    ; 1TEST: Single test with code in skip slot
3377 0183 18b1          btfsc   direction_read__select__12___byte, direction_read__select__12___bit
3378                    ; line_number = 366
3379                    ; direction@5 := _true
3380                    ;info   366, 388
3381 00000032 = direction_read__select__11___byte equ direction_read__direction
3382 00000005 = direction_read__select__11___bit equ 5
3383 0184 16b2          bsf     direction_read__select__11___byte, direction_read__select__11___bit
3384                    ; Recombine size1 = 0 || size2 = 0
3385                    ; line_number = 365
3386                    ; if trisc@io5_bit done
3387                    ; line_number = 367
3388                    ; if trisc@io6_bit start
3389                    ;info   367, 389
3390 00000031 = direction_read__select__14___byte equ direction_read__trisc
3391 00000002 = direction_read__select__14___bit equ 2
3392                    ; =>bit_code_emit@symbol(): sym=direction_read__select__14
3393                    ; 1TEST: Single test with code in skip slot
3394 0185 1931          btfsc   direction_read__select__14___byte, direction_read__select__14___bit
3395                    ; line_number = 368
3396                    ; direction@6 := _true
3397                    ;info   368, 390
3398 00000032 = direction_read__select__13___byte equ direction_read__direction
3399 00000006 = direction_read__select__13___bit equ 6
3400 0186 1732          bsf     direction_read__select__13___byte, direction_read__select__13___bit
3401                    ; Recombine size1 = 0 || size2 = 0
3402                    ; line_number = 367
3403                    ; if trisc@io6_bit done
3404                    ; line_number = 369
3405                    ; if trisc@io7_bit start
3406                    ;info   369, 391
3407 00000031 = direction_read__select__16___byte equ direction_read__trisc
3408 00000003 = direction_read__select__16___bit equ 3
3409                    ; =>bit_code_emit@symbol(): sym=direction_read__select__16
3410                    ; 1TEST: Single test with code in skip slot
3411 0187 19b1          btfsc   direction_read__select__16___byte, direction_read__select__16___bit
3412                    ; line_number = 370
3413                    ; direction@7 := _true
3414                    ;info   370, 392
3415 00000032 = direction_read__select__15___byte equ direction_read__direction
3416 00000007 = direction_read__select__15___bit equ 7
3417 0188 17b2          bsf     direction_read__select__15___byte, direction_read__select__15___bit
3418                    ; Recombine size1 = 0 || size2 = 0
3419                    ; line_number = 369
3420                    ; if trisc@io7_bit done
3421                    ; line_number = 371
3422                    ; return direction start
3423                    ; line_number = 371
3424                    ;info   371, 393
3425 0189 0832          movf    direction_read__direction,w
3426 018a 0008          return  
3427                    ; line_number = 371
3428                    ; return direction done
3429            
3430            
3431                    ; delay after procedure statements=non-uniform
3432            
3433            
3434            
3435            
3436                    ; line_number = 374
3437                    ;info   374, 395
3438                    ; procedure direction_set
3439   018b :   direction_set:
3440                    ; Last argument is sitting in W; save into argument variable
3441 018b 00b5          movwf   direction_set__direction
3442                    ; delay=4294967295
3443                    ; line_number = 375
3444                    ; argument direction byte
3445 00000035 = direction_set__direction equ globals___0+21
3446                    ; line_number = 376
3447                    ;  returns_nothing
3448            
3449                    ; # This procedure will set the direction outputs to be equal to {direction}.
3450            
3451                    ; line_number = 380
3452                    ;  local trisa byte
3453 00000033 = direction_set__trisa equ globals___0+19
3454                    ; line_number = 381
3455                    ;  local trisc byte
3456 00000034 = direction_set__trisc equ globals___0+20
3457            
3458                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3459                    ; line_number = 383
3460                    ;  trisa := 0xc0
3461                    ;info   383, 396
3462 018c 30c0          movlw   192
3463 018d 00b3          movwf   direction_set__trisa
3464                    ; line_number = 384
3465                    ;  trisc := 0xc0
3466                    ;info   384, 398
3467 018e 30c0          movlw   192
3468 018f 00b4          movwf   direction_set__trisc
3469                    ; line_number = 385
3470                    ;  if direction@0 start
3471                    ;info   385, 400
3472 00000035 = direction_set__select__2___byte equ direction_set__direction
3473 00000000 = direction_set__select__2___bit equ 0
3474                    ; =>bit_code_emit@symbol(): sym=direction_set__select__2
3475                    ; 1TEST: Single test with code in skip slot
3476 0190 1835          btfsc   direction_set__select__2___byte, direction_set__select__2___bit
3477                    ; line_number = 386
3478                    ; trisa@io0_bit := _true
3479                    ;info   386, 401
3480 00000033 = direction_set__select__1___byte equ direction_set__trisa
3481 00000000 = direction_set__select__1___bit equ 0
3482 0191 1433          bsf     direction_set__select__1___byte, direction_set__select__1___bit
3483                    ; Recombine size1 = 0 || size2 = 0
3484                    ; line_number = 385
3485                    ;  if direction@0 done
3486                    ; line_number = 387
3487                    ; if direction@1 start
3488                    ;info   387, 402
3489 00000035 = direction_set__select__4___byte equ direction_set__direction
3490 00000001 = direction_set__select__4___bit equ 1
3491                    ; =>bit_code_emit@symbol(): sym=direction_set__select__4
3492                    ; 1TEST: Single test with code in skip slot
3493 0192 18b5          btfsc   direction_set__select__4___byte, direction_set__select__4___bit
3494                    ; line_number = 388
3495                    ; trisa@io1_bit := _true
3496                    ;info   388, 403
3497 00000033 = direction_set__select__3___byte equ direction_set__trisa
3498 00000004 = direction_set__select__3___bit equ 4
3499 0193 1633          bsf     direction_set__select__3___byte, direction_set__select__3___bit
3500                    ; Recombine size1 = 0 || size2 = 0
3501                    ; line_number = 387
3502                    ; if direction@1 done
3503                    ; line_number = 389
3504                    ; if direction@2 start
3505                    ;info   389, 404
3506 00000035 = direction_set__select__6___byte equ direction_set__direction
3507 00000002 = direction_set__select__6___bit equ 2
3508                    ; =>bit_code_emit@symbol(): sym=direction_set__select__6
3509                    ; 1TEST: Single test with code in skip slot
3510 0194 1935          btfsc   direction_set__select__6___byte, direction_set__select__6___bit
3511                    ; line_number = 390
3512                    ; trisa@io2_bit := _true
3513                    ;info   390, 405
3514 00000033 = direction_set__select__5___byte equ direction_set__trisa
3515 00000001 = direction_set__select__5___bit equ 1
3516 0195 14b3          bsf     direction_set__select__5___byte, direction_set__select__5___bit
3517                    ; Recombine size1 = 0 || size2 = 0
3518                    ; line_number = 389
3519                    ; if direction@2 done
3520                    ; line_number = 391
3521                    ; if direction@3 start
3522                    ;info   391, 406
3523 00000035 = direction_set__select__8___byte equ direction_set__direction
3524 00000003 = direction_set__select__8___bit equ 3
3525                    ; =>bit_code_emit@symbol(): sym=direction_set__select__8
3526                    ; 1TEST: Single test with code in skip slot
3527 0196 19b5          btfsc   direction_set__select__8___byte, direction_set__select__8___bit
3528                    ; line_number = 392
3529                    ; trisa@io3_bit := _true
3530                    ;info   392, 407
3531 00000033 = direction_set__select__7___byte equ direction_set__trisa
3532 00000002 = direction_set__select__7___bit equ 2
3533 0197 1533          bsf     direction_set__select__7___byte, direction_set__select__7___bit
3534                    ; Recombine size1 = 0 || size2 = 0
3535                    ; line_number = 391
3536                    ; if direction@3 done
3537                    ; line_number = 393
3538                    ; if direction@4 start
3539                    ;info   393, 408
3540 00000035 = direction_set__select__10___byte equ direction_set__direction
3541 00000004 = direction_set__select__10___bit equ 4
3542                    ; =>bit_code_emit@symbol(): sym=direction_set__select__10
3543                    ; 1TEST: Single test with code in skip slot
3544 0198 1a35          btfsc   direction_set__select__10___byte, direction_set__select__10___bit
3545                    ; line_number = 394
3546                    ; trisc@io4_bit := _true
3547                    ;info   394, 409
3548 00000034 = direction_set__select__9___byte equ direction_set__trisc
3549 00000000 = direction_set__select__9___bit equ 0
3550 0199 1434          bsf     direction_set__select__9___byte, direction_set__select__9___bit
3551                    ; Recombine size1 = 0 || size2 = 0
3552                    ; line_number = 393
3553                    ; if direction@4 done
3554                    ; line_number = 395
3555                    ; if direction@5 start
3556                    ;info   395, 410
3557 00000035 = direction_set__select__12___byte equ direction_set__direction
3558 00000005 = direction_set__select__12___bit equ 5
3559                    ; =>bit_code_emit@symbol(): sym=direction_set__select__12
3560                    ; 1TEST: Single test with code in skip slot
3561 019a 1ab5          btfsc   direction_set__select__12___byte, direction_set__select__12___bit
3562                    ; line_number = 396
3563                    ; trisc@io5_bit := _true
3564                    ;info   396, 411
3565 00000034 = direction_set__select__11___byte equ direction_set__trisc
3566 00000001 = direction_set__select__11___bit equ 1
3567 019b 14b4          bsf     direction_set__select__11___byte, direction_set__select__11___bit
3568                    ; Recombine size1 = 0 || size2 = 0
3569                    ; line_number = 395
3570                    ; if direction@5 done
3571                    ; line_number = 397
3572                    ; if direction@6 start
3573                    ;info   397, 412
3574 00000035 = direction_set__select__14___byte equ direction_set__direction
3575 00000006 = direction_set__select__14___bit equ 6
3576                    ; =>bit_code_emit@symbol(): sym=direction_set__select__14
3577                    ; 1TEST: Single test with code in skip slot
3578 019c 1b35          btfsc   direction_set__select__14___byte, direction_set__select__14___bit
3579                    ; line_number = 398
3580                    ; trisc@io6_bit := _true
3581                    ;info   398, 413
3582 00000034 = direction_set__select__13___byte equ direction_set__trisc
3583 00000002 = direction_set__select__13___bit equ 2
3584 019d 1534          bsf     direction_set__select__13___byte, direction_set__select__13___bit
3585                    ; Recombine size1 = 0 || size2 = 0
3586                    ; line_number = 397
3587                    ; if direction@6 done
3588                    ; line_number = 399
3589                    ; if direction@7 start
3590                    ;info   399, 414
3591 00000035 = direction_set__select__16___byte equ direction_set__direction
3592 00000007 = direction_set__select__16___bit equ 7
3593                    ; =>bit_code_emit@symbol(): sym=direction_set__select__16
3594                    ; 1TEST: Single test with code in skip slot
3595 019e 1bb5          btfsc   direction_set__select__16___byte, direction_set__select__16___bit
3596                    ; line_number = 400
3597                    ; trisc@io7_bit := _true
3598                    ;info   400, 415
3599 00000034 = direction_set__select__15___byte equ direction_set__trisc
3600 00000003 = direction_set__select__15___bit equ 3
3601 019f 15b4          bsf     direction_set__select__15___byte, direction_set__select__15___bit
3602                    ; Recombine size1 = 0 || size2 = 0
3603                    ; line_number = 399
3604                    ; if direction@7 done
3605                    ; line_number = 401
3606                    ; trisc@rx_bit := _true
3607                    ;info   401, 416
3608 00000034 = direction_set__select__17___byte equ direction_set__trisc
3609 00000005 = direction_set__select__17___bit equ 5
3610 01a0 16b4          bsf     direction_set__select__17___byte, direction_set__select__17___bit
3611                    ; line_number = 402
3612                    ;  trisc@tx_bit := _true
3613                    ;info   402, 417
3614 00000034 = direction_set__select__18___byte equ direction_set__trisc
3615 00000004 = direction_set__select__18___bit equ 4
3616 01a1 1634          bsf     direction_set__select__18___byte, direction_set__select__18___bit
3617                    ; line_number = 403
3618                    ;  _trisa := trisa
3619                    ;info   403, 418
3620 01a2 0833          movf    direction_set__trisa,w
3621 01a3 1683          bsf     __rp0___byte, __rp0___bit
3622 01a4 0085          movwf   _trisa
3623                    ; line_number = 404
3624                    ;  _trisc := trisc
3625                    ;info   404, 421
3626 01a5 1283          bcf     __rp0___byte, __rp0___bit
3627 01a6 0834          movf    direction_set__trisc,w
3628 01a7 1683          bsf     __rp0___byte, __rp0___bit
3629 01a8 0087          movwf   _trisc
3630            
3631            
3632                    ; delay after procedure statements=non-uniform
3633 01a9 1283          bcf     __rp0___byte, __rp0___bit
3634                    ; Implied return
3635 01aa 3400          retlw   0
3636            
3637            
3638            
3639            
3640                    ; #procedure byte_put
3641                    ; #    argument response byte
3642                    ; #    returns_nothing
3643                    ; #
3644                    ; #    # This procedure will send {response} back to the requestor.
3645                    ; #
3646                    ; #    echo_discard := _true
3647                    ; #    while !_txif
3648                    ; #	do_nothing
3649                    ; #    _tx9d := _false
3650                    ; #    _txreg := response
3651                    ; #
3652                    ; #
3653                    ; #procedure byte_get
3654                    ; #    arguments_none
3655                    ; #    returns byte
3656                    ; #
3657                    ; #    # This procedure returns the next byte from the bus that is
3658                    ; #    # directed to this module.  This procedure handles all address
3659                    ; #    # change (9th bit set) commands that come in.  Thus, any byte
3660                    ; #    # returned from this procedure is a command byte that is directed
3661                    ; #    # at this module.
3662                    ; #
3663                    ; #    local address byte
3664                    ; #
3665                    ; #    # Keep processing bytes until we've got a command byte for us:
3666                    ; #    loop_forever
3667                    ; #	# Wait for a 9-bit "byte":
3668                    ; #	while !_rcif
3669                    ; #	    do_nothing
3670                    ; #	if _rx9d
3671                    ; #	    # We have an address byte; read the address:
3672                    ; #	    if _rcreg = module_address
3673                    ; #		# We have been selected; start receiving all bytes:
3674                    ; #		_adden := _false
3675                    ; #		# Send a null byte to indicate that we alive and well:
3676                    ; #		_tx9d := _false
3677                    ; #		_txreg := 0
3678                    ; #		echo_discard := _true
3679                    ; #	else
3680                    ; #	    # We have a command or echo byte:
3681                    ; #	    if echo_discard
3682                    ; #		# We have an echo:
3683                    ; #		echo_discard := _false
3684                    ; #		_fsr := _rcreg
3685                    ; #	    else
3686                    ; #		# We have a real command:
3687                    ; #		return _rcreg
3688            
3689            
3690                    ; Appending 7 delayed procedures to code bank 0
3691                    ; buffer = '_uart'
3692                    ; line_number = 7
3693                    ;info   7, 427
3694                    ; procedure _uart_byte_safe_get
3695   01ab :   _uart_byte_safe_get:
3696                    ; arguments_none
3697                    ; line_number = 9
3698                    ;  returns byte
3699            
3700                    ; # This procedure will the next byte from UART.  If no byte
3701                    ; # received in a reasonable time, 0xfc is returned.
3702            
3703                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3704                    ; line_number = 14
3705                    ;  loop_exactly 255 start
3706                    ;info   14, 427
3707 00000038 = _uart_byte_safe_get__1 equ globals___0+24
3708 01ab 30ff          movlw   255
3709 01ac 00b8          movwf   _uart_byte_safe_get__1
3710   01ad :   _uart_byte_safe_get__2:
3711                    ; line_number = 15
3712                    ; loop_exactly 255 start
3713                    ;info   15, 429
3714 00000039 = _uart_byte_safe_get__3 equ globals___0+25
3715 01ad 30ff          movlw   255
3716 01ae 00b9          movwf   _uart_byte_safe_get__3
3717   01af :   _uart_byte_safe_get__4:
3718                    ; line_number = 16
3719                    ; if _rcif start
3720                    ;info   16, 431
3721                    ; =>bit_code_emit@symbol(): sym=_rcif
3722                    ; No 1TEST: true.size=2 false.size=0
3723                    ; No 2TEST: true.size=2 false.size=0
3724                    ; 1GOTO: Single test with GOTO
3725 01af 1e8c          btfss   _rcif___byte, _rcif___bit
3726 01b0 29b3          goto    _uart_byte_safe_get__5
3727                    ; line_number = 17
3728                    ; return _rcreg start
3729                    ; line_number = 17
3730                    ;info   17, 433
3731 01b1 0814          movf    _rcreg,w
3732 01b2 0008          return  
3733                    ; line_number = 17
3734                    ; return _rcreg done
3735                    ; Recombine size1 = 0 || size2 = 0
3736   01b3 :   _uart_byte_safe_get__5:
3737                    ; line_number = 16
3738                    ; if _rcif done
3739                    ; line_number = 15
3740                    ; loop_exactly 255 wrap-up
3741 01b3 0bb9          decfsz  _uart_byte_safe_get__3,f
3742 01b4 29af          goto    _uart_byte_safe_get__4
3743                    ; line_number = 15
3744                    ; loop_exactly 255 done
3745                    ; line_number = 14
3746                    ;  loop_exactly 255 wrap-up
3747 01b5 0bb8          decfsz  _uart_byte_safe_get__1,f
3748 01b6 29ad          goto    _uart_byte_safe_get__2
3749                    ; line_number = 14
3750                    ;  loop_exactly 255 done
3751                    ; line_number = 18
3752                    ; return 0xfc start
3753                    ; line_number = 18
3754                    ;info   18, 439
3755 01b7 34fc          retlw   252
3756                    ; line_number = 18
3757                    ; return 0xfc done
3758            
3759            
3760                    ; delay after procedure statements=non-uniform
3761            
3762            
3763            
3764            
3765                    ; line_number = 21
3766                    ;info   21, 440
3767                    ; procedure _uart_byte_get
3768   01b8 :   _uart_byte_get:
3769                    ; arguments_none
3770                    ; line_number = 23
3771                    ;  returns byte
3772            
3773                    ; # This procedure will return the next byte from the UART.
3774            
3775                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3776                    ; line_number = 27
3777                    ;  while !_rcif start
3778   01b8 :   _uart_byte_get__1:
3779                    ;info   27, 440
3780                    ; =>bit_code_emit@symbol(): sym=_rcif
3781                    ; 1TEST: Single test with code in skip slot
3782 01b8 1e8c          btfss   _rcif___byte, _rcif___bit
3783                    ; line_number = 28
3784                    ; do_nothing
3785                    ;info   28, 441
3786 01b9 29b8          goto    _uart_byte_get__1
3787                    ; Recombine size1 = 0 || size2 = 0
3788                    ; line_number = 27
3789                    ;  while !_rcif done
3790                    ; line_number = 29
3791                    ; return _rcreg start
3792                    ; line_number = 29
3793                    ;info   29, 442
3794 01ba 0814          movf    _rcreg,w
3795 01bb 0008          return  
3796                    ; line_number = 29
3797                    ; return _rcreg done
3798            
3799            
3800                    ; delay after procedure statements=non-uniform
3801            
3802            
3803            
3804            
3805                    ; line_number = 32
3806                    ;info   32, 444
3807                    ; procedure _uart_hex_put
3808   01bc :   _uart_hex_put:
3809                    ; Last argument is sitting in W; save into argument variable
3810 01bc 00a0          movwf   _uart_hex_put__value
3811                    ; delay=4294967295
3812                    ; line_number = 33
3813                    ; argument value byte
3814 00000020 = _uart_hex_put__value equ globals___0
3815                    ; line_number = 34
3816                    ;  returns_nothing
3817            
3818                    ; # This procedure will output {value} to the UART as a 2-digit
3819                    ; # hexadecimal number.
3820            
3821                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3822                    ; line_number = 39
3823                    ;  call _uart_nibble_put(value >> 4)
3824                    ;info   39, 445
3825 0000003a = _uart_hex_put__1 equ globals___0+26
3826 01bd 0e20          swapf   _uart_hex_put__value,w
3827 01be 390f          andlw   15
3828 01bf 21c4          call    _uart_nibble_put
3829                    ; line_number = 40
3830                    ;  call _uart_nibble_put(value & 0xf)
3831                    ;info   40, 448
3832 01c0 300f          movlw   15
3833 01c1 0520          andwf   _uart_hex_put__value,w
3834 01c2 21c4          call    _uart_nibble_put
3835            
3836            
3837                    ; delay after procedure statements=non-uniform
3838                    ; Implied return
3839 01c3 3400          retlw   0
3840            
3841            
3842            
3843            
3844                    ; line_number = 43
3845                    ;info   43, 452
3846                    ; procedure _uart_nibble_put
3847   01c4 :   _uart_nibble_put:
3848                    ; Last argument is sitting in W; save into argument variable
3849 01c4 00a1          movwf   _uart_nibble_put__nibble
3850                    ; delay=4294967295
3851                    ; line_number = 44
3852                    ; argument nibble byte
3853 00000021 = _uart_nibble_put__nibble equ globals___0+1
3854                    ; line_number = 45
3855                    ;  returns_nothing
3856            
3857                    ; # This procedure will output {value} to UART as a 1 digit
3858                    ; # hexadecimal number.
3859            
3860                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3861                    ; line_number = 50
3862                    ;  if nibble < 10 start
3863                    ;info   50, 453
3864 01c5 300a          movlw   10
3865 01c6 0221          subwf   _uart_nibble_put__nibble,w
3866                    ; =>bit_code_emit@symbol(): sym=__c
3867                    ; No 1TEST: true.size=1 false.size=1
3868                    ; 2TEST: two tests with code in both delay slots
3869 01c7 1803          btfsc   __c___byte, __c___bit
3870                    ; line_number = 53
3871                    ; nibble := nibble - 10 + 'A'
3872                    ;info   53, 456
3873 01c8 3037          movlw   55
3874 01c9 1c03          btfss   __c___byte, __c___bit
3875                    ; line_number = 51
3876                    ; nibble := nibble + '0'
3877                    ;info   51, 458
3878 01ca 3030          movlw   48
3879 01cb 07a1          addwf   _uart_nibble_put__nibble,f
3880                    ; line_number = 50
3881                    ;  if nibble < 10 done
3882                    ; line_number = 54
3883                    ; call _uart_byte_put(nibble)
3884                    ;info   54, 460
3885 01cc 0821          movf    _uart_nibble_put__nibble,w
3886 01cd 21d7          call    _uart_byte_put
3887            
3888            
3889                    ; delay after procedure statements=non-uniform
3890                    ; Implied return
3891 01ce 3400          retlw   0
3892            
3893            
3894            
3895            
3896                    ; line_number = 57
3897                    ;info   57, 463
3898                    ; procedure _uart_space_put
3899   01cf :   _uart_space_put:
3900                    ; arguments_none
3901                    ; line_number = 59
3902                    ;  returns_nothing
3903            
3904                    ; # This procedure will output a space to the UART.
3905            
3906                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3907                    ; line_number = 63
3908                    ;  call _uart_byte_put(' ')
3909                    ;info   63, 463
3910 01cf 3020          movlw   32
3911 01d0 21d7          call    _uart_byte_put
3912            
3913            
3914                    ; delay after procedure statements=non-uniform
3915                    ; Implied return
3916 01d1 3400          retlw   0
3917            
3918            
3919            
3920            
3921                    ; line_number = 66
3922                    ;info   66, 466
3923                    ; procedure _uart_crlf_put
3924   01d2 :   _uart_crlf_put:
3925                    ; arguments_none
3926                    ; line_number = 68
3927                    ;  returns_nothing
3928            
3929                    ; # This procedure will output a carriage return line feed sequecne to
3930                    ; # the UART.
3931            
3932                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3933                    ; line_number = 73
3934                    ;  call _uart_byte_put('\cr\')
3935                    ;info   73, 466
3936 01d2 300d          movlw   13
3937 01d3 21d7          call    _uart_byte_put
3938                    ; line_number = 74
3939                    ;  call _uart_byte_put('\lf\')
3940                    ;info   74, 468
3941 01d4 300a          movlw   10
3942 01d5 21d7          call    _uart_byte_put
3943            
3944            
3945                    ; delay after procedure statements=non-uniform
3946                    ; Implied return
3947 01d6 3400          retlw   0
3948            
3949            
3950            
3951            
3952                    ; line_number = 77
3953                    ;info   77, 471
3954                    ; procedure _uart_byte_put
3955   01d7 :   _uart_byte_put:
3956                    ; Last argument is sitting in W; save into argument variable
3957 01d7 00a2          movwf   _uart_byte_put__byte
3958                    ; delay=4294967295
3959                    ; line_number = 78
3960                    ; argument byte byte
3961 00000022 = _uart_byte_put__byte equ globals___0+2
3962                    ; line_number = 79
3963                    ;  returns_nothing
3964            
3965                    ; # This procedure will send {byte} out using to the UART.
3966            
3967                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3968                    ; line_number = 83
3969                    ;  while !_txif start
3970   01d8 :   _uart_byte_put__1:
3971                    ;info   83, 472
3972                    ; =>bit_code_emit@symbol(): sym=_txif
3973                    ; 1TEST: Single test with code in skip slot
3974 01d8 1c8c          btfss   _txif___byte, _txif___bit
3975                    ; line_number = 84
3976                    ; do_nothing
3977                    ;info   84, 473
3978 01d9 29d8          goto    _uart_byte_put__1
3979                    ; Recombine size1 = 0 || size2 = 0
3980                    ; line_number = 83
3981                    ;  while !_txif done
3982                    ; line_number = 85
3983                    ; _txreg := byte
3984                    ;info   85, 474
3985 01da 0822          movf    _uart_byte_put__byte,w
3986 01db 0095          movwf   _txreg
3987            
3988            
3989                    ; delay after procedure statements=non-uniform
3990                    ; Implied return
3991 01dc 3400          retlw   0
3992            
3993            
3994            
3995            
3996                    ; Configuration bits
3997                    ; address = 0x2007, fill = 0x3000
3998                    ; fcmen = off (0x0)
3999                    ; ieso = off (0x0)
4000                    ; boden = off (0x0)
4001                    ; cpd = off (0x80)
4002                    ; cp = off (0x40)
4003                    ; mclre = off (0x0)
4004                    ; pwrte = off (0x10)
4005                    ; wdte = off (0x0)
4006                    ; fosc = hs (0x2)
4007                    ; 12498 = 0x30d2
4008   30d2 =           __config 12498
4009                    ; Define start addresses for data regions
4010                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4011                    ; Region="globals___0" Address=32" Size=80 Bytes=27 Bits=3 Available=52
4012                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
4013                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
4014                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4015                    end
