1                       radix   dec
2                       ; Code bank 0; Start address: 0; End address: 4095
3      0000 :           org     0
4               
5                       ; Define start addresses for data regions
6    00000070 = shared___globals equ 112
7    00000020 = globals___0 equ 32
8    000000a0 = globals___1 equ 160
9    00000120 = globals___2 equ 288
10   00000000 = __indf equ 0
11   00000002 = __pcl equ 2
12   00000003 = __status equ 3
13   00000004 = __fsr equ 4
14   00000003 = __c___byte equ 3
15   00000000 = __c___bit equ 0
16   00000003 = __z___byte equ 3
17   00000002 = __z___bit equ 2
18   00000003 = __rp0___byte equ 3
19   00000005 = __rp0___bit equ 5
20   00000003 = __rp1___byte equ 3
21   00000006 = __rp1___bit equ 6
22   00000003 = __irp___byte equ 3
23   00000007 = __irp___bit equ 7
24   0000000a = __pclath equ 10
25   0000000a = __cb0___byte equ 10
26   00000003 = __cb0___bit equ 3
27   0000000a = __cb1___byte equ 10
28   00000004 = __cb1___bit equ 4
29              
30                      ; # Copyright (c) 2005-2006 by Wayne C. Gramlich
31                      ; # All rights reserved.
32              
33                      ; buffer = 'host'
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 = 'host'
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 = 'host'
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 = 'host'
1614                    ; line_number = 11
1615                    ; library _eusart exited
1616            
1617            
1618                    ; line_number = 15
1619                    ; package pdip
1620                    ; line_number = 16
1621                    ; pin 1 = power_supply
1622                    ; line_number = 17
1623                    ;  pin 2 = osc1
1624                    ; line_number = 18
1625                    ;  pin 3 = osc2
1626                    ; line_number = 19
1627                    ;  pin 4 = ra3_in, name=dtr
1628 00000005 = dtr___byte equ _porta
1629 00000003 = dtr___bit equ 3
1630                    ; line_number = 20
1631                    ;  pin 5 = rx, name=rx
1632 00000007 = rx___byte equ _portc
1633 00000005 = rx___bit equ 5
1634                    ; line_number = 21
1635                    ;  pin 6 = tx, name=tx
1636 00000007 = tx___byte equ _portc
1637 00000004 = tx___bit equ 4
1638                    ; line_number = 22
1639                    ;  pin 7 = rc3_out, name=p3
1640 00000007 = p3___byte equ _portc
1641 00000003 = p3___bit equ 3
1642                    ; line_number = 23
1643                    ;  pin 8 = rc2_out, name=p2
1644 00000007 = p2___byte equ _portc
1645 00000002 = p2___bit equ 2
1646                    ; line_number = 24
1647                    ;  pin 9 = rc1_in, name=p1
1648 00000007 = p1___byte equ _portc
1649 00000001 = p1___bit equ 1
1650                    ; line_number = 25
1651                    ;  pin 10 = rc0_in, name=p0
1652 00000007 = p0___byte equ _portc
1653 00000000 = p0___bit equ 0
1654                    ; line_number = 26
1655                    ;  pin 11 = ra2_out, name=p6
1656 00000005 = p6___byte equ _porta
1657 00000002 = p6___bit equ 2
1658                    ; line_number = 27
1659                    ;  pin 12 = ra1_in, name=p5
1660 00000005 = p5___byte equ _porta
1661 00000001 = p5___bit equ 1
1662                    ; line_number = 28
1663                    ;  pin 13 = ra0_out, name=p4
1664 00000005 = p4___byte equ _porta
1665 00000000 = p4___bit equ 0
1666                    ; line_number = 29
1667                    ;  pin 14 = ground
1668            
1669                    ; line_number = 31
1670                    ; global error bit
1671 0000006f = error___byte equ globals___0+79
1672 00000000 = error___bit equ 0
1673                    ; line_number = 32
1674                    ; global end_of_line bit
1675 0000006f = end_of_line___byte equ globals___0+79
1676 00000001 = end_of_line___bit equ 1
1677                    ; line_number = 33
1678                    ; global hex_high byte
1679 00000023 = hex_high equ globals___0+3
1680                    ; line_number = 34
1681                    ; global hex_low byte
1682 00000024 = hex_low equ globals___0+4
1683                    ; line_number = 35
1684                    ; global bus_shift byte
1685 00000025 = bus_shift equ globals___0+5
1686                    ; line_number = 36
1687                    ; global time_out bit
1688 0000006f = time_out___byte equ globals___0+79
1689 00000002 = time_out___bit equ 2
1690                    ; line_number = 37
1691                    ; global bus_msb bit
1692 0000006f = bus_msb___byte equ globals___0+79
1693 00000003 = bus_msb___bit equ 3
1694            
1695                    ; line_number = 39
1696                    ;info   39, 0
1697                    ; procedure main
1698   0000 :   main:
1699                    ; Initialize some registers
1700 0000 019f          clrf    _adcon0
1701 0001 1683          bsf     __rp0___byte, __rp0___bit
1702 0002 0191          clrf    _ansel
1703 0003 3007          movlw   7
1704 0004 1283          bcf     __rp0___byte, __rp0___bit
1705 0005 0099          movwf   _cmcon0
1706 0006 303a          movlw   58
1707 0007 1683          bsf     __rp0___byte, __rp0___bit
1708 0008 0085          movwf   _trisa
1709 0009 3033          movlw   51
1710 000a 0087          movwf   _trisc
1711                    ; arguments_none
1712                    ; line_number = 41
1713                    ;  returns_nothing
1714            
1715                    ; # This is the main procdure that initializes the the microcontroller
1716                    ; # and waits for commands from the host.
1717            
1718                    ; line_number = 46
1719                    ;  local bit9 bit
1720 0000006f = main__bit9___byte equ globals___0+79
1721 00000004 = main__bit9___bit equ 4
1722                    ; line_number = 47
1723                    ;  local command byte
1724 00000026 = main__command equ globals___0+6
1725                    ; line_number = 48
1726                    ;  local id byte
1727 00000027 = main__id equ globals___0+7
1728                    ; #local index byte
1729                    ; line_number = 50
1730                    ;  local low byte
1731 00000028 = main__low equ globals___0+8
1732                    ; line_number = 51
1733                    ;  local node byte
1734 00000029 = main__node equ globals___0+9
1735                    ; line_number = 52
1736                    ;  local page byte
1737 0000002a = main__page equ globals___0+10
1738                    ; line_number = 53
1739                    ;  local receive byte
1740 0000002b = main__receive equ globals___0+11
1741                    ; line_number = 54
1742                    ;  local row byte
1743 0000002c = main__row equ globals___0+12
1744                    ; line_number = 55
1745                    ;  local send byte
1746 0000002d = main__send equ globals___0+13
1747                    ; line_number = 56
1748                    ;  local value byte
1749 0000002e = main__value equ globals___0+14
1750            
1751                    ; #loop_forever
1752                    ; #	p2 := _true
1753                    ; #	p2 := _false
1754            
1755                    ; # Warm up the EUSART:
1756                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>01 code:XX=cc=>XX)
1757                    ; line_number = 63
1758                    ;  _trisc@5 := _true
1759                    ;info   63, 11
1760 00000087 = main__select__1___byte equ _trisc
1761 00000005 = main__select__1___bit equ 5
1762 000b 1687          bsf     main__select__1___byte, main__select__1___bit
1763                    ; line_number = 64
1764                    ;  _trisc@4 := _true
1765                    ;info   64, 12
1766 00000087 = main__select__2___byte equ _trisc
1767 00000004 = main__select__2___bit equ 4
1768 000c 1607          bsf     main__select__2___byte, main__select__2___bit
1769            
1770                    ; line_number = 66
1771                    ;  _txsta := 0
1772                    ;info   66, 13
1773 000d 1283          bcf     __rp0___byte, __rp0___bit
1774 000e 0196          clrf    _txsta
1775                    ; line_number = 67
1776                    ;  _tx9 := _false
1777                    ;info   67, 15
1778 000f 1316          bcf     _tx9___byte, _tx9___bit
1779                    ; line_number = 68
1780                    ;  _txen := _true
1781                    ;info   68, 16
1782 0010 1696          bsf     _txen___byte, _txen___bit
1783                    ; line_number = 69
1784                    ;  _brgh := _true
1785                    ;info   69, 17
1786 0011 1516          bsf     _brgh___byte, _brgh___bit
1787            
1788                    ; line_number = 71
1789                    ;  _rcsta := 0
1790                    ;info   71, 18
1791 0012 0197          clrf    _rcsta
1792                    ; line_number = 72
1793                    ;  _spen := _true
1794                    ;info   72, 19
1795 0013 1797          bsf     _spen___byte, _spen___bit
1796                    ; line_number = 73
1797                    ;  _rx9 := _false
1798                    ;info   73, 20
1799 0014 1317          bcf     _rx9___byte, _rx9___bit
1800                    ; line_number = 74
1801                    ;  _cren := _true
1802                    ;info   74, 21
1803 0015 1617          bsf     _cren___byte, _cren___bit
1804                    ; line_number = 75
1805                    ;  _adden := _true
1806                    ;info   75, 22
1807 0016 1597          bsf     _adden___byte, _adden___bit
1808            
1809                    ; line_number = 77
1810                    ;  _baudctl := 0
1811                    ;info   77, 23
1812 0017 0191          clrf    _baudctl
1813                    ; line_number = 78
1814                    ;  _brg16 := _true
1815                    ;info   78, 24
1816 0018 1591          bsf     _brg16___byte, _brg16___bit
1817            
1818                    ; line_number = 80
1819                    ;  _spbrg := _eusart_19200_low
1820                    ;info   80, 25
1821 0019 3003          movlw   3
1822 001a 0093          movwf   _spbrg
1823                    ; line_number = 81
1824                    ;  _spbrgh := _eusart_19200_high
1825                    ;info   81, 27
1826 001b 3001          movlw   1
1827 001c 0092          movwf   _spbrgh
1828                    ; #_spbrg := _eusart_115200_low
1829                    ; #_spbrgh := _eusart_115200_high
1830                    ; #_spbrg := _eusart_230400_low
1831                    ; #_spbrgh := _eusart_230400_high
1832            
1833                    ; # For debugging only -- just output a stream of 'U':
1834                    ; #loop_forever
1835                    ; #	loop_exactly 255
1836                    ; #	    delay 600
1837                    ; #		do_nothing
1838                    ; #	call _uart_byte_put('U')
1839            
1840                    ; # For debugging only -- Double echo:
1841                    ; #loop_forever
1842                    ; #	# Wait for command:
1843                    ; #	command := _uart_byte_get()
1844                    ; #	call _uart_byte_put(command)
1845                    ; #	call _uart_byte_put(command)
1846            
1847                    ; # Process commands:
1848                    ; line_number = 102
1849                    ;  loop_forever start
1850   001d :   main__3:
1851                    ; # Wait for command:
1852                    ; line_number = 104
1853                    ;  error := _false
1854                    ;info   104, 29
1855 001d 106f          bcf     error___byte, error___bit
1856                    ; line_number = 105
1857                    ;  end_of_line := _false
1858                    ;info   105, 30
1859 001e 10ef          bcf     end_of_line___byte, end_of_line___bit
1860            
1861                    ; # Fetch a command letter from the user:
1862                    ; #command := character_get()
1863                    ; line_number = 109
1864                    ;  command := _uart_byte_get()
1865                    ;info   109, 31
1866 001f 22c4          call    _uart_byte_get
1867 0020 00a6          movwf   main__command
1868                    ; line_number = 110
1869                    ;  if command & 0x80 = 0 start
1870                    ;info   110, 33
1871                    ; Left minus Right
1872 0021 3080          movlw   128
1873 0022 0526          andwf   main__command,w
1874                    ; =>bit_code_emit@symbol(): sym=__z
1875                    ; No 1TEST: true.size=346 false.size=40
1876                    ; No 2TEST: true.size=346 false.size=40
1877                    ; 2GOTO: Single test with two GOTO's
1878 0023 1d03          btfss   __z___byte, __z___bit
1879 0024 2982          goto    main__86
1880                    ; # ASCII mode command:
1881            
1882                    ; # Echo the character:
1883                    ; line_number = 114
1884                    ;  call _uart_byte_put(command)
1885                    ;info   114, 37
1886 0025 0826          movf    main__command,w
1887 0026 22e3          call    _uart_byte_put
1888            
1889                    ; # Convert it to upper case:
1890                    ; line_number = 117
1891                    ;  if 'a' <= command && command <= 'z' start
1892                    ;info   117, 39
1893 0027 3061          movlw   97
1894 0028 0226          subwf   main__command,w
1895                    ; =>bit_code_emit@symbol(): sym=__c
1896                    ; No 1TEST: true.size=8 false.size=1
1897                    ; No 2TEST: true.size=8 false.size=1
1898                    ; 2GOTO: Single test with two GOTO's
1899 0029 1c03          btfss   __c___byte, __c___bit
1900 002a 2833          goto    main__14
1901                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
1902 002b 307a          movlw   122
1903 002c 0226          subwf   main__command,w
1904 002d 1903          btfsc   __z___byte, __z___bit
1905 002e 1003          bcf     __c___byte, __c___bit
1906                    ; =>bit_code_emit@symbol(): sym=__c
1907                    ; No 1TEST: true.size=0 false.size=2
1908                    ; No 2TEST: true.size=0 false.size=2
1909                    ; 1GOTO: Single test with GOTO
1910 002f 1803          btfsc   __c___byte, __c___bit
1911 0030 2833          goto    main__15
1912                    ; line_number = 118
1913                    ; command := command + ('A' - 'a')
1914                    ;info   118, 49
1915 0031 30e0          movlw   224
1916 0032 07a6          addwf   main__command,f
1917            
1918   0033 :   main__15:
1919   0033 :   main__14:
1920                    ; Recombine code1_bit_states != code2_bit_states
1921                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
1922                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
1923                    ; Recombine code1_bit_states != code2_bit_states
1924                    ; 2GOTO: No goto needed; true= false=main__14 true_size=8 false_size=1
1925                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1926                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
1927                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
1928                    ; line_number = 117
1929                    ;  if 'a' <= command && command <= 'z' done
1930                    ; # Dispatch on command letter:
1931                    ; line_number = 121
1932                    ;  if command = 'A' start
1933                    ;info   121, 51
1934                    ; Left minus Right
1935 0033 30bf          movlw   191
1936 0034 0726          addwf   main__command,w
1937                    ; =>bit_code_emit@symbol(): sym=__z
1938                    ; No 1TEST: true.size=13 false.size=312
1939                    ; No 2TEST: true.size=13 false.size=312
1940                    ; 2GOTO: Single test with two GOTO's
1941 0035 1d03          btfss   __z___byte, __z___bit
1942 0036 2845          goto    main__84
1943                    ; # Set address:
1944                    ; line_number = 123
1945                    ;  id := hex_byte_get()
1946                    ;info   123, 55
1947 0037 225e          call    hex_byte_get
1948 0038 00a7          movwf   main__id
1949                    ; line_number = 124
1950                    ;  node := hex_byte_get()
1951                    ;info   124, 57
1952 0039 225e          call    hex_byte_get
1953 003a 00a9          movwf   main__node
1954                    ; line_number = 125
1955                    ;  if end_of_line_get() start
1956                    ;info   125, 59
1957 003b 2241          call    end_of_line_get
1958                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
1959                    ; No 1TEST: true.size=6 false.size=0
1960                    ; No 2TEST: true.size=6 false.size=0
1961                    ; 1GOTO: Single test with GOTO
1962 003c 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
1963 003d 2844          goto    main__83
1964                    ; line_number = 126
1965                    ; call _uart_hex_put(id)
1966                    ;info   126, 62
1967 003e 0827          movf    main__id,w
1968 003f 22c8          call    _uart_hex_put
1969                    ; line_number = 127
1970                    ;  call _uart_space_put()
1971                    ;info   127, 64
1972 0040 22db          call    _uart_space_put
1973                    ; line_number = 128
1974                    ;  call _uart_hex_put(node)
1975                    ;info   128, 65
1976 0041 0829          movf    main__node,w
1977 0042 22c8          call    _uart_hex_put
1978                    ; line_number = 129
1979                    ;  call _uart_crlf_put()
1980                    ;info   129, 67
1981 0043 22de          call    _uart_crlf_put
1982                    ; Recombine size1 = 0 || size2 = 0
1983   0044 :   main__83:
1984                    ; line_number = 125
1985                    ;  if end_of_line_get() done
1986 0044 297f          goto    main__85
1987                    ; 2GOTO: Starting code 2
1988   0045 :   main__84:
1989                    ; line_number = 130
1990                    ;info   130, 69
1991                    ; Left minus Right
1992 0045 30be          movlw   190
1993 0046 0726          addwf   main__command,w
1994                    ; =>bit_code_emit@symbol(): sym=__z
1995                    ; No 1TEST: true.size=8 false.size=299
1996                    ; No 2TEST: true.size=8 false.size=299
1997                    ; 2GOTO: Single test with two GOTO's
1998 0047 1d03          btfss   __z___byte, __z___bit
1999 0048 2852          goto    main__81
2000                    ; line_number = 131
2001                    ; value := hex_byte_get()
2002                    ;info   131, 73
2003 0049 225e          call    hex_byte_get
2004 004a 00ae          movwf   main__value
2005                    ; line_number = 132
2006                    ;  if end_of_line_get() start
2007                    ;info   132, 75
2008 004b 2241          call    end_of_line_get
2009                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2010                    ; No 1TEST: true.size=3 false.size=0
2011                    ; No 2TEST: true.size=3 false.size=0
2012                    ; 1GOTO: Single test with GOTO
2013 004c 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2014 004d 2851          goto    main__80
2015                    ; line_number = 133
2016                    ; call _uart_hex_put(value)
2017                    ;info   133, 78
2018 004e 082e          movf    main__value,w
2019 004f 22c8          call    _uart_hex_put
2020                    ; line_number = 134
2021                    ;  call _uart_crlf_put()
2022                    ;info   134, 80
2023 0050 22de          call    _uart_crlf_put
2024                    ; Recombine size1 = 0 || size2 = 0
2025   0051 :   main__80:
2026                    ; line_number = 132
2027                    ;  if end_of_line_get() done
2028 0051 297f          goto    main__82
2029                    ; 2GOTO: Starting code 2
2030   0052 :   main__81:
2031                    ; line_number = 135
2032                    ;info   135, 82
2033                    ; Left minus Right
2034 0052 30bd          movlw   189
2035 0053 0726          addwf   main__command,w
2036                    ; =>bit_code_emit@symbol(): sym=__z
2037                    ; No 1TEST: true.size=3 false.size=291
2038                    ; No 2TEST: true.size=3 false.size=291
2039                    ; 2GOTO: Single test with two GOTO's
2040 0054 1d03          btfss   __z___byte, __z___bit
2041 0055 285a          goto    main__78
2042                    ; # Clear bus:
2043                    ; line_number = 137
2044                    ;  if end_of_line_get() start
2045                    ;info   137, 86
2046 0056 2241          call    end_of_line_get
2047                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2048                    ; 1TEST: Single test with code in skip slot
2049 0057 1aef          btfsc   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2050                    ; line_number = 138
2051                    ; call _uart_crlf_put()
2052                    ;info   138, 88
2053 0058 22de          call    _uart_crlf_put
2054                    ; Recombine size1 = 0 || size2 = 0
2055                    ; line_number = 137
2056                    ;  if end_of_line_get() done
2057 0059 297f          goto    main__79
2058                    ; 2GOTO: Starting code 2
2059   005a :   main__78:
2060                    ; line_number = 139
2061                    ;info   139, 90
2062                    ; Left minus Right
2063 005a 30bc          movlw   188
2064 005b 0726          addwf   main__command,w
2065                    ; =>bit_code_emit@symbol(): sym=__z
2066                    ; No 1TEST: true.size=20 false.size=266
2067                    ; No 2TEST: true.size=20 false.size=266
2068                    ; 2GOTO: Single test with two GOTO's
2069 005c 1d03          btfss   __z___byte, __z___bit
2070 005d 2873          goto    main__76
2071                    ; # Deselect:
2072                    ; line_number = 141
2073                    ;  if end_of_line_get() start
2074                    ;info   141, 94
2075 005e 2241          call    end_of_line_get
2076                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2077                    ; No 1TEST: true.size=17 false.size=0
2078                    ; No 2TEST: true.size=17 false.size=0
2079                    ; 1GOTO: Single test with GOTO
2080 005f 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2081 0060 2872          goto    main__75
2082                    ; line_number = 142
2083                    ; call _uart_crlf_put()
2084                    ;info   142, 97
2085 0061 22de          call    _uart_crlf_put
2086                    ; line_number = 143
2087                    ;  call bus_byte_send(0xff)
2088                    ;info   143, 98
2089 0062 30ff          movlw   255
2090 0063 21e0          call    bus_byte_send
2091                    ; line_number = 144
2092                    ;  value := bus_byte_receive()
2093                    ;info   144, 100
2094 0064 21fe          call    bus_byte_receive
2095 0065 00ae          movwf   main__value
2096                    ; line_number = 145
2097                    ;  if time_out start
2098                    ;info   145, 102
2099                    ; =>bit_code_emit@symbol(): sym=time_out
2100                    ; No 1TEST: true.size=2 false.size=6
2101                    ; No 2TEST: true.size=2 false.size=6
2102                    ; 2GOTO: Single test with two GOTO's
2103 0066 1d6f          btfss   time_out___byte, time_out___bit
2104 0067 286b          goto    main__73
2105                    ; line_number = 146
2106                    ; call _uart_byte_put('@')
2107                    ;info   146, 104
2108 0068 3040          movlw   64
2109 0069 22e3          call    _uart_byte_put
2110 006a 2871          goto    main__74
2111                    ; 2GOTO: Starting code 2
2112   006b :   main__73:
2113                    ; line_number = 148
2114                    ; if bus_msb start
2115                    ;info   148, 107
2116                    ; =>bit_code_emit@symbol(): sym=bus_msb
2117                    ; No 1TEST: true.size=2 false.size=0
2118                    ; No 2TEST: true.size=2 false.size=0
2119                    ; 1GOTO: Single test with GOTO
2120 006b 1def          btfss   bus_msb___byte, bus_msb___bit
2121 006c 286f          goto    main__72
2122                    ; line_number = 149
2123                    ; call _uart_byte_put('1')
2124                    ;info   149, 109
2125 006d 3031          movlw   49
2126 006e 22e3          call    _uart_byte_put
2127                    ; Recombine size1 = 0 || size2 = 0
2128   006f :   main__72:
2129                    ; line_number = 148
2130                    ; if bus_msb done
2131                    ; line_number = 150
2132                    ; call _uart_hex_put(value)
2133                    ;info   150, 111
2134 006f 082e          movf    main__value,w
2135 0070 22c8          call    _uart_hex_put
2136   0071 :   main__74:
2137                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2138                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2139                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2140                    ; line_number = 145
2141                    ;  if time_out done
2142                    ; line_number = 151
2143                    ; call _uart_crlf_put()
2144                    ;info   151, 113
2145 0071 22de          call    _uart_crlf_put
2146                    ; Recombine size1 = 0 || size2 = 0
2147   0072 :   main__75:
2148                    ; line_number = 141
2149                    ;  if end_of_line_get() done
2150 0072 297f          goto    main__77
2151                    ; 2GOTO: Starting code 2
2152   0073 :   main__76:
2153                    ; line_number = 152
2154                    ;info   152, 115
2155                    ; Left minus Right
2156 0073 30ba          movlw   186
2157 0074 0726          addwf   main__command,w
2158                    ; =>bit_code_emit@symbol(): sym=__z
2159                    ; No 1TEST: true.size=18 false.size=243
2160                    ; No 2TEST: true.size=18 false.size=243
2161                    ; 2GOTO: Single test with two GOTO's
2162 0075 1d03          btfss   __z___byte, __z___bit
2163 0076 288a          goto    main__70
2164                    ; # Flush buffer
2165                    ; line_number = 154
2166                    ;  if end_of_line_get() start
2167                    ;info   154, 119
2168 0077 2241          call    end_of_line_get
2169                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2170                    ; No 1TEST: true.size=15 false.size=0
2171                    ; No 2TEST: true.size=15 false.size=0
2172                    ; 1GOTO: Single test with GOTO
2173 0078 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2174 0079 2889          goto    main__69
2175                    ; line_number = 155
2176                    ; time_out := _false
2177                    ;info   155, 122
2178 007a 116f          bcf     time_out___byte, time_out___bit
2179                    ; line_number = 156
2180                    ;  while !time_out start
2181   007b :   main__65:
2182                    ;info   156, 123
2183                    ; =>bit_code_emit@symbol(): sym=time_out
2184                    ; No 1TEST: true.size=0 false.size=11
2185                    ; No 2TEST: true.size=0 false.size=11
2186                    ; 1GOTO: Single test with GOTO
2187 007b 196f          btfsc   time_out___byte, time_out___bit
2188 007c 2888          goto    main__68
2189                    ; line_number = 157
2190                    ; value := bus_byte_receive()
2191                    ;info   157, 125
2192 007d 21fe          call    bus_byte_receive
2193 007e 00ae          movwf   main__value
2194                    ; line_number = 158
2195                    ;  call _uart_space_put()
2196                    ;info   158, 127
2197 007f 22db          call    _uart_space_put
2198                    ; line_number = 159
2199                    ;  if time_out start
2200                    ;info   159, 128
2201                    ; =>bit_code_emit@symbol(): sym=time_out
2202                    ; No 1TEST: true.size=2 false.size=2
2203                    ; No 2TEST: true.size=2 false.size=2
2204                    ; 2GOTO: Single test with two GOTO's
2205 0080 1d6f          btfss   time_out___byte, time_out___bit
2206 0081 2885          goto    main__66
2207                    ; line_number = 160
2208                    ; call _uart_byte_put('@')
2209                    ;info   160, 130
2210 0082 3040          movlw   64
2211 0083 22e3          call    _uart_byte_put
2212 0084 2887          goto    main__67
2213                    ; 2GOTO: Starting code 2
2214   0085 :   main__66:
2215                    ; line_number = 162
2216                    ; call _uart_hex_put(value)
2217                    ;info   162, 133
2218 0085 082e          movf    main__value,w
2219 0086 22c8          call    _uart_hex_put
2220   0087 :   main__67:
2221                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2222                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2223                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2224                    ; line_number = 159
2225                    ;  if time_out done
2226 0087 287b          goto    main__65
2227   0088 :   main__68:
2228                    ; Recombine size1 = 0 || size2 = 0
2229                    ; line_number = 156
2230                    ;  while !time_out done
2231                    ; line_number = 163
2232                    ; call _uart_crlf_put()
2233                    ;info   163, 136
2234 0088 22de          call    _uart_crlf_put
2235                    ; Recombine size1 = 0 || size2 = 0
2236   0089 :   main__69:
2237                    ; line_number = 154
2238                    ;  if end_of_line_get() done
2239 0089 297f          goto    main__71
2240                    ; 2GOTO: Starting code 2
2241   008a :   main__70:
2242                    ; line_number = 164
2243                    ;info   164, 138
2244                    ; Left minus Right
2245 008a 30b7          movlw   183
2246 008b 0726          addwf   main__command,w
2247                    ; =>bit_code_emit@symbol(): sym=__z
2248                    ; No 1TEST: true.size=3 false.size=235
2249                    ; No 2TEST: true.size=3 false.size=235
2250                    ; 2GOTO: Single test with two GOTO's
2251 008c 1d03          btfss   __z___byte, __z___bit
2252 008d 2892          goto    main__63
2253                    ; # Identify:
2254                    ; line_number = 166
2255                    ;  if end_of_line_get() start
2256                    ;info   166, 142
2257 008e 2241          call    end_of_line_get
2258                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2259                    ; 1TEST: Single test with code in skip slot
2260 008f 1aef          btfsc   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2261                    ; line_number = 167
2262                    ; call id_dump()
2263                    ;info   167, 144
2264 0090 21af          call    id_dump
2265                    ; Recombine size1 = 0 || size2 = 0
2266                    ; line_number = 166
2267                    ;  if end_of_line_get() done
2268 0091 297f          goto    main__64
2269                    ; 2GOTO: Starting code 2
2270   0092 :   main__63:
2271                    ; line_number = 168
2272                    ;info   168, 146
2273                    ; Left minus Right
2274 0092 30b6          movlw   182
2275 0093 0726          addwf   main__command,w
2276                    ; =>bit_code_emit@symbol(): sym=__z
2277                    ; No 1TEST: true.size=9 false.size=221
2278                    ; No 2TEST: true.size=9 false.size=221
2279                    ; 2GOTO: Single test with two GOTO's
2280 0094 1d03          btfss   __z___byte, __z___bit
2281 0095 28a0          goto    main__61
2282                    ; # Jump:
2283                    ; line_number = 170
2284                    ;  call hex_word_get()
2285                    ;info   170, 150
2286 0096 2261          call    hex_word_get
2287                    ; line_number = 171
2288                    ;  if end_of_line_get() start
2289                    ;info   171, 151
2290 0097 2241          call    end_of_line_get
2291                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2292                    ; No 1TEST: true.size=5 false.size=0
2293                    ; No 2TEST: true.size=5 false.size=0
2294                    ; 1GOTO: Single test with GOTO
2295 0098 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2296 0099 289f          goto    main__60
2297                    ; line_number = 172
2298                    ; call _uart_hex_put(hex_high)
2299                    ;info   172, 154
2300 009a 0823          movf    hex_high,w
2301 009b 22c8          call    _uart_hex_put
2302                    ; line_number = 173
2303                    ;  call _uart_hex_put(hex_low)
2304                    ;info   173, 156
2305 009c 0824          movf    hex_low,w
2306 009d 22c8          call    _uart_hex_put
2307                    ; line_number = 174
2308                    ;  call _uart_crlf_put()
2309                    ;info   174, 158
2310 009e 22de          call    _uart_crlf_put
2311                    ; Recombine size1 = 0 || size2 = 0
2312   009f :   main__60:
2313                    ; line_number = 171
2314                    ;  if end_of_line_get() done
2315 009f 297f          goto    main__62
2316                    ; 2GOTO: Starting code 2
2317   00a0 :   main__61:
2318                    ; line_number = 175
2319                    ;info   175, 160
2320                    ; Left minus Right
2321 00a0 30b0          movlw   176
2322 00a1 0726          addwf   main__command,w
2323                    ; =>bit_code_emit@symbol(): sym=__z
2324                    ; No 1TEST: true.size=60 false.size=156
2325                    ; No 2TEST: true.size=60 false.size=156
2326                    ; 2GOTO: Single test with two GOTO's
2327 00a2 1d03          btfss   __z___byte, __z___bit
2328 00a3 28e3          goto    main__58
2329                    ; # Print a page of program memory:
2330                    ; line_number = 177
2331                    ;  page := hex_byte_get()
2332                    ;info   177, 164
2333 00a4 225e          call    hex_byte_get
2334 00a5 00aa          movwf   main__page
2335                    ; line_number = 178
2336                    ;  if end_of_line_get() start
2337                    ;info   178, 166
2338 00a6 2241          call    end_of_line_get
2339                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2340                    ; No 1TEST: true.size=55 false.size=0
2341                    ; No 2TEST: true.size=55 false.size=0
2342                    ; 1GOTO: Single test with GOTO
2343 00a7 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2344 00a8 28e2          goto    main__57
2345                    ; line_number = 179
2346                    ; row := 0
2347                    ;info   179, 169
2348 00a9 01ac          clrf    main__row
2349                    ; line_number = 180
2350                    ;  low := 0
2351                    ;info   180, 170
2352 00aa 01a8          clrf    main__low
2353                    ; line_number = 181
2354                    ;  while row < 16 start
2355   00ab :   main__49:
2356                    ;info   181, 171
2357 00ab 3010          movlw   16
2358 00ac 022c          subwf   main__row,w
2359                    ; =>bit_code_emit@symbol(): sym=__c
2360                    ; No 1TEST: true.size=0 false.size=49
2361                    ; No 2TEST: true.size=0 false.size=49
2362                    ; 1GOTO: Single test with GOTO
2363 00ad 1803          btfsc   __c___byte, __c___bit
2364 00ae 28e2          goto    main__56
2365                    ; line_number = 182
2366                    ; call _uart_hex_put(page)
2367                    ;info   182, 175
2368 00af 082a          movf    main__page,w
2369 00b0 22c8          call    _uart_hex_put
2370                    ; line_number = 183
2371                    ;  call _uart_hex_put(low)
2372                    ;info   183, 177
2373 00b1 0828          movf    main__low,w
2374 00b2 22c8          call    _uart_hex_put
2375                    ; line_number = 184
2376                    ;  call _uart_byte_put(':')
2377                    ;info   184, 179
2378 00b3 303a          movlw   58
2379 00b4 22e3          call    _uart_byte_put
2380            
2381                    ; # Set address:
2382                    ; line_number = 187
2383                    ;  call bus_byte_send(0)
2384                    ;info   187, 181
2385 00b5 3000          movlw   0
2386 00b6 21e0          call    bus_byte_send
2387                    ; line_number = 188
2388                    ;  call bus_byte_receive()
2389                    ;info   188, 183
2390 00b7 21fe          call    bus_byte_receive
2391            
2392                    ; line_number = 190
2393                    ;  call bus_byte_send(page)
2394                    ;info   190, 184
2395 00b8 082a          movf    main__page,w
2396 00b9 21e0          call    bus_byte_send
2397                    ; line_number = 191
2398                    ;  call bus_byte_receive()
2399                    ;info   191, 186
2400 00ba 21fe          call    bus_byte_receive
2401            
2402                    ; line_number = 193
2403                    ;  call bus_byte_send(low)
2404                    ;info   193, 187
2405 00bb 0828          movf    main__low,w
2406 00bc 21e0          call    bus_byte_send
2407                    ; line_number = 194
2408                    ;  call bus_byte_receive()
2409                    ;info   194, 189
2410 00bd 21fe          call    bus_byte_receive
2411            
2412                    ; # Read the ack byte:
2413                    ; line_number = 197
2414                    ;  call bus_byte_receive()
2415                    ;info   197, 190
2416 00be 21fe          call    bus_byte_receive
2417            
2418                    ; # Read out 8 words:
2419                    ; line_number = 200
2420                    ;  call bus_byte_send(1)
2421                    ;info   200, 191
2422 00bf 3001          movlw   1
2423 00c0 21e0          call    bus_byte_send
2424                    ; line_number = 201
2425                    ;  call bus_byte_receive()
2426                    ;info   201, 193
2427 00c1 21fe          call    bus_byte_receive
2428            
2429                    ; line_number = 203
2430                    ;  call bus_byte_send(8)
2431                    ;info   203, 194
2432 00c2 3008          movlw   8
2433 00c3 21e0          call    bus_byte_send
2434                    ; line_number = 204
2435                    ;  call bus_byte_receive()
2436                    ;info   204, 196
2437 00c4 21fe          call    bus_byte_receive
2438                    ; line_number = 205
2439                    ;  loop_exactly 8 start
2440                    ;info   205, 197
2441 00000039 = main__50 equ globals___0+25
2442 00c5 3008          movlw   8
2443 00c6 00b9          movwf   main__50
2444   00c7 :   main__51:
2445                    ; line_number = 206
2446                    ; value := bus_byte_receive()
2447                    ;info   206, 199
2448 00c7 21fe          call    bus_byte_receive
2449 00c8 00ae          movwf   main__value
2450                    ; line_number = 207
2451                    ;  call _uart_space_put()
2452                    ;info   207, 201
2453 00c9 22db          call    _uart_space_put
2454                    ; line_number = 208
2455                    ;  if time_out start
2456                    ;info   208, 202
2457                    ; =>bit_code_emit@symbol(): sym=time_out
2458                    ; No 1TEST: true.size=2 false.size=2
2459                    ; No 2TEST: true.size=2 false.size=2
2460                    ; 2GOTO: Single test with two GOTO's
2461 00ca 1d6f          btfss   time_out___byte, time_out___bit
2462 00cb 28cf          goto    main__52
2463                    ; line_number = 209
2464                    ; call _uart_byte_put('@')
2465                    ;info   209, 204
2466 00cc 3040          movlw   64
2467 00cd 22e3          call    _uart_byte_put
2468 00ce 28d1          goto    main__53
2469                    ; 2GOTO: Starting code 2
2470   00cf :   main__52:
2471                    ; line_number = 211
2472                    ; call _uart_hex_put(value)
2473                    ;info   211, 207
2474 00cf 082e          movf    main__value,w
2475 00d0 22c8          call    _uart_hex_put
2476   00d1 :   main__53:
2477                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2478                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2479                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2480                    ; line_number = 208
2481                    ;  if time_out done
2482                    ; line_number = 212
2483                    ; value := bus_byte_receive()
2484                    ;info   212, 209
2485 00d1 21fe          call    bus_byte_receive
2486 00d2 00ae          movwf   main__value
2487                    ; line_number = 213
2488                    ;  if time_out start
2489                    ;info   213, 211
2490                    ; =>bit_code_emit@symbol(): sym=time_out
2491                    ; No 1TEST: true.size=2 false.size=2
2492                    ; No 2TEST: true.size=2 false.size=2
2493                    ; 2GOTO: Single test with two GOTO's
2494 00d3 1d6f          btfss   time_out___byte, time_out___bit
2495 00d4 28d8          goto    main__54
2496                    ; line_number = 214
2497                    ; call _uart_byte_put('@')
2498                    ;info   214, 213
2499 00d5 3040          movlw   64
2500 00d6 22e3          call    _uart_byte_put
2501 00d7 28da          goto    main__55
2502                    ; 2GOTO: Starting code 2
2503   00d8 :   main__54:
2504                    ; line_number = 216
2505                    ; call _uart_hex_put(value)
2506                    ;info   216, 216
2507 00d8 082e          movf    main__value,w
2508 00d9 22c8          call    _uart_hex_put
2509            
2510   00da :   main__55:
2511                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2512                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2513                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2514                    ; line_number = 213
2515                    ;  if time_out done
2516                    ; line_number = 205
2517                    ;  loop_exactly 8 wrap-up
2518 00da 0bb9          decfsz  main__50,f
2519 00db 28c7          goto    main__51
2520                    ; line_number = 205
2521                    ;  loop_exactly 8 done
2522                    ; # Read the ack byte:
2523                    ; line_number = 219
2524                    ;  call bus_byte_receive()
2525                    ;info   219, 220
2526 00dc 21fe          call    bus_byte_receive
2527            
2528                    ; line_number = 221
2529                    ;  call _uart_crlf_put()
2530                    ;info   221, 221
2531 00dd 22de          call    _uart_crlf_put
2532                    ; line_number = 222
2533                    ;  row := row + 1
2534                    ;info   222, 222
2535 00de 0aac          incf    main__row,f
2536                    ; line_number = 223
2537                    ;  low := low + 8
2538                    ;info   223, 223
2539 00df 3008          movlw   8
2540 00e0 07a8          addwf   main__low,f
2541 00e1 28ab          goto    main__49
2542   00e2 :   main__56:
2543                    ; Recombine size1 = 0 || size2 = 0
2544                    ; line_number = 181
2545                    ;  while row < 16 done
2546                    ; Recombine size1 = 0 || size2 = 0
2547   00e2 :   main__57:
2548                    ; line_number = 178
2549                    ;  if end_of_line_get() done
2550 00e2 297f          goto    main__59
2551                    ; 2GOTO: Starting code 2
2552   00e3 :   main__58:
2553                    ; line_number = 224
2554                    ;info   224, 227
2555                    ; Left minus Right
2556 00e3 30ae          movlw   174
2557 00e4 0726          addwf   main__command,w
2558                    ; =>bit_code_emit@symbol(): sym=__z
2559                    ; No 1TEST: true.size=9 false.size=142
2560                    ; No 2TEST: true.size=9 false.size=142
2561                    ; 2GOTO: Single test with two GOTO's
2562 00e5 1d03          btfss   __z___byte, __z___bit
2563 00e6 28f1          goto    main__47
2564                    ; # Read:
2565                    ; line_number = 226
2566                    ;  call hex_word_get()
2567                    ;info   226, 231
2568 00e7 2261          call    hex_word_get
2569                    ; line_number = 227
2570                    ;  if end_of_line_get() start
2571                    ;info   227, 232
2572 00e8 2241          call    end_of_line_get
2573                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2574                    ; No 1TEST: true.size=5 false.size=0
2575                    ; No 2TEST: true.size=5 false.size=0
2576                    ; 1GOTO: Single test with GOTO
2577 00e9 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2578 00ea 28f0          goto    main__46
2579                    ; line_number = 228
2580                    ; call _uart_hex_put(hex_high)
2581                    ;info   228, 235
2582 00eb 0823          movf    hex_high,w
2583 00ec 22c8          call    _uart_hex_put
2584                    ; line_number = 229
2585                    ;  call _uart_hex_put(hex_low)
2586                    ;info   229, 237
2587 00ed 0824          movf    hex_low,w
2588 00ee 22c8          call    _uart_hex_put
2589                    ; line_number = 230
2590                    ;  call _uart_crlf_put()
2591                    ;info   230, 239
2592 00ef 22de          call    _uart_crlf_put
2593                    ; Recombine size1 = 0 || size2 = 0
2594   00f0 :   main__46:
2595                    ; line_number = 227
2596                    ;  if end_of_line_get() done
2597 00f0 297f          goto    main__48
2598                    ; 2GOTO: Starting code 2
2599   00f1 :   main__47:
2600                    ; line_number = 231
2601                    ;info   231, 241
2602                    ; Left minus Right
2603 00f1 30ad          movlw   173
2604 00f2 0726          addwf   main__command,w
2605                    ; =>bit_code_emit@symbol(): sym=__z
2606                    ; No 1TEST: true.size=36 false.size=101
2607                    ; No 2TEST: true.size=36 false.size=101
2608                    ; 2GOTO: Single test with two GOTO's
2609 00f3 1d03          btfss   __z___byte, __z___bit
2610 00f4 291a          goto    main__44
2611                    ; # Select:
2612                    ; line_number = 233
2613                    ;  node := hex_byte_get()
2614                    ;info   233, 245
2615 00f5 225e          call    hex_byte_get
2616 00f6 00a9          movwf   main__node
2617                    ; line_number = 234
2618                    ;  if end_of_line_get() start
2619                    ;info   234, 247
2620 00f7 2241          call    end_of_line_get
2621                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2622                    ; No 1TEST: true.size=31 false.size=0
2623                    ; No 2TEST: true.size=31 false.size=0
2624                    ; 1GOTO: Single test with GOTO
2625 00f8 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2626 00f9 2919          goto    main__43
2627                    ; line_number = 235
2628                    ; call _uart_crlf_put()
2629                    ;info   235, 250
2630 00fa 22de          call    _uart_crlf_put
2631                    ; line_number = 236
2632                    ;  call bus_select_send(node)
2633                    ;info   236, 251
2634 00fb 0829          movf    main__node,w
2635 00fc 21ef          call    bus_select_send
2636                    ; line_number = 237
2637                    ;  value := bus_byte_receive()
2638                    ;info   237, 253
2639 00fd 21fe          call    bus_byte_receive
2640 00fe 00ae          movwf   main__value
2641                    ; line_number = 238
2642                    ;  if time_out start
2643                    ;info   238, 255
2644                    ; =>bit_code_emit@symbol(): sym=time_out
2645                    ; No 1TEST: true.size=2 false.size=2
2646                    ; No 2TEST: true.size=2 false.size=2
2647                    ; 2GOTO: Single test with two GOTO's
2648 00ff 1d6f          btfss   time_out___byte, time_out___bit
2649 0100 2904          goto    main__37
2650                    ; line_number = 239
2651                    ; call _uart_byte_put('@')
2652                    ;info   239, 257
2653 0101 3040          movlw   64
2654 0102 22e3          call    _uart_byte_put
2655 0103 2906          goto    main__38
2656                    ; 2GOTO: Starting code 2
2657   0104 :   main__37:
2658                    ; line_number = 241
2659                    ; call _uart_hex_put(value)
2660                    ;info   241, 260
2661 0104 082e          movf    main__value,w
2662 0105 22c8          call    _uart_hex_put
2663   0106 :   main__38:
2664                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2665                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2666                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2667                    ; line_number = 238
2668                    ;  if time_out done
2669                    ; line_number = 242
2670                    ; value := bus_byte_receive()
2671                    ;info   242, 262
2672 0106 21fe          call    bus_byte_receive
2673 0107 00ae          movwf   main__value
2674                    ; line_number = 243
2675                    ;  if time_out start
2676                    ;info   243, 264
2677                    ; =>bit_code_emit@symbol(): sym=time_out
2678                    ; No 1TEST: true.size=2 false.size=2
2679                    ; No 2TEST: true.size=2 false.size=2
2680                    ; 2GOTO: Single test with two GOTO's
2681 0108 1d6f          btfss   time_out___byte, time_out___bit
2682 0109 290d          goto    main__39
2683                    ; line_number = 244
2684                    ; call _uart_byte_put('@')
2685                    ;info   244, 266
2686 010a 3040          movlw   64
2687 010b 22e3          call    _uart_byte_put
2688 010c 290f          goto    main__40
2689                    ; 2GOTO: Starting code 2
2690   010d :   main__39:
2691                    ; line_number = 246
2692                    ; call _uart_hex_put(value)
2693                    ;info   246, 269
2694 010d 082e          movf    main__value,w
2695 010e 22c8          call    _uart_hex_put
2696   010f :   main__40:
2697                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2698                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2699                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2700                    ; line_number = 243
2701                    ;  if time_out done
2702                    ; line_number = 247
2703                    ; value := bus_byte_receive()
2704                    ;info   247, 271
2705 010f 21fe          call    bus_byte_receive
2706 0110 00ae          movwf   main__value
2707                    ; line_number = 248
2708                    ;  if time_out start
2709                    ;info   248, 273
2710                    ; =>bit_code_emit@symbol(): sym=time_out
2711                    ; No 1TEST: true.size=2 false.size=2
2712                    ; No 2TEST: true.size=2 false.size=2
2713                    ; 2GOTO: Single test with two GOTO's
2714 0111 1d6f          btfss   time_out___byte, time_out___bit
2715 0112 2916          goto    main__41
2716                    ; line_number = 249
2717                    ; call _uart_byte_put('@')
2718                    ;info   249, 275
2719 0113 3040          movlw   64
2720 0114 22e3          call    _uart_byte_put
2721 0115 2918          goto    main__42
2722                    ; 2GOTO: Starting code 2
2723   0116 :   main__41:
2724                    ; line_number = 251
2725                    ; call _uart_hex_put(value)
2726                    ;info   251, 278
2727 0116 082e          movf    main__value,w
2728 0117 22c8          call    _uart_hex_put
2729   0118 :   main__42:
2730                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2731                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2732                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2733                    ; line_number = 248
2734                    ;  if time_out done
2735                    ; line_number = 252
2736                    ; call _uart_crlf_put()
2737                    ;info   252, 280
2738 0118 22de          call    _uart_crlf_put
2739                    ; Recombine size1 = 0 || size2 = 0
2740   0119 :   main__43:
2741                    ; line_number = 234
2742                    ;  if end_of_line_get() done
2743 0119 297f          goto    main__45
2744                    ; 2GOTO: Starting code 2
2745   011a :   main__44:
2746                    ; line_number = 253
2747                    ;info   253, 282
2748                    ; Left minus Right
2749 011a 30a9          movlw   169
2750 011b 0726          addwf   main__command,w
2751                    ; =>bit_code_emit@symbol(): sym=__z
2752                    ; No 1TEST: true.size=13 false.size=83
2753                    ; No 2TEST: true.size=13 false.size=83
2754                    ; 2GOTO: Single test with two GOTO's
2755 011c 1d03          btfss   __z___byte, __z___bit
2756 011d 292c          goto    main__35
2757                    ; # Write:
2758                    ; line_number = 255
2759                    ;  call hex_word_get()
2760                    ;info   255, 286
2761 011e 2261          call    hex_word_get
2762                    ; line_number = 256
2763                    ;  value := hex_byte_get()
2764                    ;info   256, 287
2765 011f 225e          call    hex_byte_get
2766 0120 00ae          movwf   main__value
2767                    ; line_number = 257
2768                    ;  if end_of_line_get() start
2769                    ;info   257, 289
2770 0121 2241          call    end_of_line_get
2771                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2772                    ; No 1TEST: true.size=7 false.size=0
2773                    ; No 2TEST: true.size=7 false.size=0
2774                    ; 1GOTO: Single test with GOTO
2775 0122 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2776 0123 292b          goto    main__34
2777                    ; line_number = 258
2778                    ; call _uart_hex_put(hex_high)
2779                    ;info   258, 292
2780 0124 0823          movf    hex_high,w
2781 0125 22c8          call    _uart_hex_put
2782                    ; line_number = 259
2783                    ;  call _uart_hex_put(hex_low)
2784                    ;info   259, 294
2785 0126 0824          movf    hex_low,w
2786 0127 22c8          call    _uart_hex_put
2787                    ; line_number = 260
2788                    ;  call _uart_hex_put(value)
2789                    ;info   260, 296
2790 0128 082e          movf    main__value,w
2791 0129 22c8          call    _uart_hex_put
2792                    ; line_number = 261
2793                    ;  call _uart_crlf_put()
2794                    ;info   261, 298
2795 012a 22de          call    _uart_crlf_put
2796                    ; Recombine size1 = 0 || size2 = 0
2797   012b :   main__34:
2798                    ; line_number = 257
2799                    ;  if end_of_line_get() done
2800 012b 297f          goto    main__36
2801                    ; 2GOTO: Starting code 2
2802   012c :   main__35:
2803                    ; line_number = 262
2804                    ;info   262, 300
2805                    ; Left minus Right
2806 012c 30a8          movlw   168
2807 012d 0726          addwf   main__command,w
2808                    ; =>bit_code_emit@symbol(): sym=__z
2809                    ; No 1TEST: true.size=35 false.size=43
2810                    ; No 2TEST: true.size=35 false.size=43
2811                    ; 2GOTO: Single test with two GOTO's
2812 012e 1d03          btfss   __z___byte, __z___bit
2813 012f 2954          goto    main__32
2814                    ; # Transmit:
2815                    ; line_number = 264
2816                    ;  value := hex_byte_get()
2817                    ;info   264, 304
2818 0130 225e          call    hex_byte_get
2819 0131 00ae          movwf   main__value
2820                    ; line_number = 265
2821                    ;  if end_of_line_get() start
2822                    ;info   265, 306
2823 0132 2241          call    end_of_line_get
2824                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2825                    ; No 1TEST: true.size=30 false.size=0
2826                    ; No 2TEST: true.size=30 false.size=0
2827                    ; 1GOTO: Single test with GOTO
2828 0133 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2829 0134 2953          goto    main__31
2830                    ; #call _uart_hex_put(value)
2831                    ; #call _uart_crlf_put()
2832                    ; line_number = 268
2833                    ;  call bus_byte_send(value)
2834                    ;info   268, 309
2835 0135 082e          movf    main__value,w
2836 0136 21e0          call    bus_byte_send
2837            
2838                    ; line_number = 270
2839                    ;  value := bus_byte_receive()
2840                    ;info   270, 311
2841 0137 21fe          call    bus_byte_receive
2842 0138 00ae          movwf   main__value
2843                    ; line_number = 271
2844                    ;  if time_out start
2845                    ;info   271, 313
2846                    ; =>bit_code_emit@symbol(): sym=time_out
2847                    ; No 1TEST: true.size=2 false.size=2
2848                    ; No 2TEST: true.size=2 false.size=2
2849                    ; 2GOTO: Single test with two GOTO's
2850 0139 1d6f          btfss   time_out___byte, time_out___bit
2851 013a 293e          goto    main__25
2852                    ; line_number = 272
2853                    ; call _uart_byte_put('@')
2854                    ;info   272, 315
2855 013b 3040          movlw   64
2856 013c 22e3          call    _uart_byte_put
2857 013d 2940          goto    main__26
2858                    ; 2GOTO: Starting code 2
2859   013e :   main__25:
2860                    ; line_number = 274
2861                    ; call _uart_hex_put(value)
2862                    ;info   274, 318
2863 013e 082e          movf    main__value,w
2864 013f 22c8          call    _uart_hex_put
2865            
2866   0140 :   main__26:
2867                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2868                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2869                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2870                    ; line_number = 271
2871                    ;  if time_out done
2872                    ; line_number = 276
2873                    ; value := bus_byte_receive()
2874                    ;info   276, 320
2875 0140 21fe          call    bus_byte_receive
2876 0141 00ae          movwf   main__value
2877                    ; line_number = 277
2878                    ;  if time_out start
2879                    ;info   277, 322
2880                    ; =>bit_code_emit@symbol(): sym=time_out
2881                    ; No 1TEST: true.size=2 false.size=2
2882                    ; No 2TEST: true.size=2 false.size=2
2883                    ; 2GOTO: Single test with two GOTO's
2884 0142 1d6f          btfss   time_out___byte, time_out___bit
2885 0143 2947          goto    main__27
2886                    ; line_number = 278
2887                    ; call _uart_byte_put('@')
2888                    ;info   278, 324
2889 0144 3040          movlw   64
2890 0145 22e3          call    _uart_byte_put
2891 0146 2949          goto    main__28
2892                    ; 2GOTO: Starting code 2
2893   0147 :   main__27:
2894                    ; line_number = 280
2895                    ; call _uart_hex_put(value)
2896                    ;info   280, 327
2897 0147 082e          movf    main__value,w
2898 0148 22c8          call    _uart_hex_put
2899            
2900   0149 :   main__28:
2901                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2902                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2903                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2904                    ; line_number = 277
2905                    ;  if time_out done
2906                    ; line_number = 282
2907                    ; value := bus_byte_receive()
2908                    ;info   282, 329
2909 0149 21fe          call    bus_byte_receive
2910 014a 00ae          movwf   main__value
2911                    ; line_number = 283
2912                    ;  if time_out start
2913                    ;info   283, 331
2914                    ; =>bit_code_emit@symbol(): sym=time_out
2915                    ; No 1TEST: true.size=2 false.size=2
2916                    ; No 2TEST: true.size=2 false.size=2
2917                    ; 2GOTO: Single test with two GOTO's
2918 014b 1d6f          btfss   time_out___byte, time_out___bit
2919 014c 2950          goto    main__29
2920                    ; line_number = 284
2921                    ; call _uart_byte_put('@')
2922                    ;info   284, 333
2923 014d 3040          movlw   64
2924 014e 22e3          call    _uart_byte_put
2925 014f 2952          goto    main__30
2926                    ; 2GOTO: Starting code 2
2927   0150 :   main__29:
2928                    ; line_number = 286
2929                    ; call _uart_hex_put(value)
2930                    ;info   286, 336
2931 0150 082e          movf    main__value,w
2932 0151 22c8          call    _uart_hex_put
2933            
2934   0152 :   main__30:
2935                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2936                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2937                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2938                    ; line_number = 283
2939                    ;  if time_out done
2940                    ; line_number = 288
2941                    ; call _uart_crlf_put()
2942                    ;info   288, 338
2943 0152 22de          call    _uart_crlf_put
2944                    ; Recombine size1 = 0 || size2 = 0
2945   0153 :   main__31:
2946                    ; line_number = 265
2947                    ;  if end_of_line_get() done
2948 0153 297f          goto    main__33
2949                    ; 2GOTO: Starting code 2
2950   0154 :   main__32:
2951                    ; line_number = 289
2952                    ;info   289, 340
2953                    ; Left minus Right
2954 0154 30a6          movlw   166
2955 0155 0726          addwf   main__command,w
2956                    ; =>bit_code_emit@symbol(): sym=__z
2957                    ; No 1TEST: true.size=23 false.size=15
2958                    ; No 2TEST: true.size=23 false.size=15
2959                    ; 2GOTO: Single test with two GOTO's
2960 0156 1d03          btfss   __z___byte, __z___bit
2961 0157 2970          goto    main__23
2962                    ; # Sweep bus looking for modules:
2963                    ; line_number = 291
2964                    ;  if end_of_line_get() start
2965                    ;info   291, 344
2966 0158 2241          call    end_of_line_get
2967                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
2968                    ; No 1TEST: true.size=20 false.size=0
2969                    ; No 2TEST: true.size=20 false.size=0
2970                    ; 1GOTO: Single test with GOTO
2971 0159 1eef          btfss   end_of_line_get__0return___byte, end_of_line_get__0return___bit
2972 015a 296f          goto    main__22
2973                    ; line_number = 292
2974                    ; node := 1
2975                    ;info   292, 347
2976 015b 3001          movlw   1
2977 015c 00a9          movwf   main__node
2978                    ; line_number = 293
2979                    ;  while node != 0 start
2980   015d :   main__19:
2981                    ;info   293, 349
2982                    ; Left minus Right
2983 015d 0829          movf    main__node,w
2984                    ; =>bit_code_emit@symbol(): sym=__z
2985                    ; No 1TEST: true.size=0 false.size=15
2986                    ; No 2TEST: true.size=0 false.size=15
2987                    ; 1GOTO: Single test with GOTO
2988 015e 1903          btfsc   __z___byte, __z___bit
2989 015f 296f          goto    main__21
2990                    ; line_number = 294
2991                    ; call bus_select_send(node)
2992                    ;info   294, 352
2993 0160 0829          movf    main__node,w
2994 0161 21ef          call    bus_select_send
2995                    ; line_number = 295
2996                    ;  value := bus_byte_receive()
2997                    ;info   295, 354
2998 0162 21fe          call    bus_byte_receive
2999 0163 00ae          movwf   main__value
3000                    ; line_number = 296
3001                    ;  value := bus_byte_receive()
3002                    ;info   296, 356
3003 0164 21fe          call    bus_byte_receive
3004 0165 00ae          movwf   main__value
3005                    ; line_number = 297
3006                    ;  if !time_out start
3007                    ;info   297, 358
3008                    ; =>bit_code_emit@symbol(): sym=time_out
3009                    ; No 1TEST: true.size=0 false.size=5
3010                    ; No 2TEST: true.size=0 false.size=5
3011                    ; 1GOTO: Single test with GOTO
3012 0166 196f          btfsc   time_out___byte, time_out___bit
3013 0167 296d          goto    main__20
3014                    ; line_number = 298
3015                    ; call _uart_hex_put(node)
3016                    ;info   298, 360
3017 0168 0829          movf    main__node,w
3018 0169 22c8          call    _uart_hex_put
3019                    ; line_number = 299
3020                    ;  call _uart_byte_put(':')
3021                    ;info   299, 362
3022 016a 303a          movlw   58
3023 016b 22e3          call    _uart_byte_put
3024                    ; line_number = 300
3025                    ;  call id_dump()
3026                    ;info   300, 364
3027 016c 21af          call    id_dump
3028   016d :   main__20:
3029                    ; Recombine size1 = 0 || size2 = 0
3030                    ; line_number = 297
3031                    ;  if !time_out done
3032                    ; line_number = 301
3033                    ; node := node + 1
3034                    ;info   301, 365
3035 016d 0aa9          incf    main__node,f
3036 016e 295d          goto    main__19
3037   016f :   main__21:
3038                    ; Recombine size1 = 0 || size2 = 0
3039                    ; line_number = 293
3040                    ;  while node != 0 done
3041                    ; Recombine size1 = 0 || size2 = 0
3042   016f :   main__22:
3043                    ; line_number = 291
3044                    ;  if end_of_line_get() done
3045 016f 297f          goto    main__24
3046                    ; 2GOTO: Starting code 2
3047   0170 :   main__23:
3048                    ; line_number = 302
3049                    ;info   302, 368
3050                    ; Left minus Right
3051 0170 30c6          movlw   198
3052 0171 0726          addwf   main__command,w
3053                    ; =>bit_code_emit@symbol(): sym=__z
3054                    ; No 1TEST: true.size=3 false.size=7
3055                    ; No 2TEST: true.size=3 false.size=7
3056                    ; 2GOTO: Single test with two GOTO's
3057 0172 1d03          btfss   __z___byte, __z___bit
3058 0173 2978          goto    main__17
3059                    ; # Hex:
3060                    ; line_number = 304
3061                    ;  if end_of_line_get() start
3062                    ;info   304, 372
3063 0174 2241          call    end_of_line_get
3064                    ; =>bit_code_emit@symbol(): sym=end_of_line_get__0return
3065                    ; 1TEST: Single test with code in skip slot
3066 0175 1aef          btfsc   end_of_line_get__0return___byte, end_of_line_get__0return___bit
3067                    ; line_number = 305
3068                    ; call _uart_crlf_put()
3069                    ;info   305, 374
3070 0176 22de          call    _uart_crlf_put
3071                    ; Recombine size1 = 0 || size2 = 0
3072                    ; line_number = 304
3073                    ;  if end_of_line_get() done
3074 0177 297f          goto    main__18
3075                    ; 2GOTO: Starting code 2
3076   0178 :   main__17:
3077                    ; line_number = 306
3078                    ;info   306, 376
3079                    ; Left minus Right
3080 0178 30f3          movlw   243
3081 0179 0726          addwf   main__command,w
3082                    ; =>bit_code_emit@symbol(): sym=__z
3083                    ; No 1TEST: true.size=0 false.size=3
3084                    ; No 2TEST: true.size=0 false.size=3
3085                    ; 1GOTO: Single test with GOTO
3086 017a 1903          btfsc   __z___byte, __z___bit
3087 017b 297f          goto    main__16
3088                    ; # Illegal command:
3089                    ; line_number = 311
3090                    ;  call _uart_byte_put('?')
3091                    ;info   311, 380
3092 017c 303f          movlw   63
3093 017d 22e3          call    _uart_byte_put
3094                    ; line_number = 312
3095                    ;  call _uart_crlf_put()
3096                    ;info   312, 382
3097 017e 22de          call    _uart_crlf_put
3098            
3099   017f :   main__16:
3100                    ; # Blank line:
3101                    ; line_number = 308
3102                    ;  do_nothing
3103                    ;info   308, 383
3104                    ; Recombine code1_bit_states != code2_bit_states
3105   017f :   main__18:
3106                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3107                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3108                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3109   017f :   main__24:
3110                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3111                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3112                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3113   017f :   main__33:
3114                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3115                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3116                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3117   017f :   main__36:
3118                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3119                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3120                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3121   017f :   main__45:
3122                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3123                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3124                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3125   017f :   main__48:
3126                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3127                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3128                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3129   017f :   main__59:
3130                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3131                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3132                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3133   017f :   main__62:
3134                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3135                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3136                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3137   017f :   main__64:
3138                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3139                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3140                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3141   017f :   main__71:
3142                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3143                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3144                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3145   017f :   main__77:
3146                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3147                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3148                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3149   017f :   main__79:
3150                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3151                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3152                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3153   017f :   main__82:
3154                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3155                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3156                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3157   017f :   main__85:
3158                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3159                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3160                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3161                    ; line_number = 121
3162                    ;  if command = 'A' done
3163                    ; # Provide a prompt:
3164                    ; line_number = 315
3165                    ;  call _uart_byte_put('>')
3166                    ;info   315, 383
3167 017f 303e          movlw   62
3168 0180 22e3          call    _uart_byte_put
3169 0181 29ae          goto    main__87
3170                    ; 2GOTO: Starting code 2
3171   0182 :   main__86:
3172                    ; # Binary mode command:
3173                    ; line_number = 318
3174                    ;  send := (command >> 3) & 7
3175                    ;info   318, 386
3176 00000039 = main__4 equ globals___0+25
3177 0182 0c26          rrf     main__command,w
3178 0183 00b9          movwf   main__4
3179 0184 0cb9          rrf     main__4,f
3180 0185 0c39          rrf     main__4,w
3181 0186 3907          andlw   7
3182 0187 00ad          movwf   main__send
3183                    ; line_number = 319
3184                    ;  receive := command & 7
3185                    ;info   319, 392
3186 0188 3007          movlw   7
3187 0189 0526          andwf   main__command,w
3188 018a 00ab          movwf   main__receive
3189                    ; line_number = 320
3190                    ;  bit9 := _false
3191                    ;info   320, 395
3192 018b 126f          bcf     main__bit9___byte, main__bit9___bit
3193                    ; line_number = 321
3194                    ;  if command@6 start
3195                    ;info   321, 396
3196 00000026 = main__select__5___byte equ main__command
3197 00000006 = main__select__5___bit equ 6
3198                    ; =>bit_code_emit@symbol(): sym=main__select__5
3199                    ; 1TEST: Single test with code in skip slot
3200 018c 1b26          btfsc   main__select__5___byte, main__select__5___bit
3201                    ; line_number = 322
3202                    ; bit9 := _true
3203                    ;info   322, 397
3204 018d 166f          bsf     main__bit9___byte, main__bit9___bit
3205                    ; Recombine size1 = 0 || size2 = 0
3206                    ; line_number = 321
3207                    ;  if command@6 done
3208                    ; line_number = 323
3209                    ; if send != 0 start
3210                    ;info   323, 398
3211                    ; Left minus Right
3212 018e 082d          movf    main__send,w
3213                    ; =>bit_code_emit@symbol(): sym=__z
3214                    ; No 1TEST: true.size=0 false.size=13
3215                    ; No 2TEST: true.size=0 false.size=13
3216                    ; 1GOTO: Single test with GOTO
3217 018f 1903          btfsc   __z___byte, __z___bit
3218 0190 29a0          goto    main__10
3219                    ; line_number = 324
3220                    ; loop_exactly send start
3221                    ;info   324, 401
3222 00000039 = main__6 equ globals___0+25
3223 0191 082d          movf    main__send,w
3224 0192 00b9          movwf   main__6
3225   0193 :   main__7:
3226                    ; line_number = 325
3227                    ; command := _uart_byte_get()
3228                    ;info   325, 403
3229 0193 22c4          call    _uart_byte_get
3230 0194 00a6          movwf   main__command
3231                    ; line_number = 326
3232                    ;  if bit9 start
3233                    ;info   326, 405
3234                    ; =>bit_code_emit@symbol(): sym=main__bit9
3235                    ; No 1TEST: true.size=3 false.size=2
3236                    ; No 2TEST: true.size=3 false.size=2
3237                    ; 2GOTO: Single test with two GOTO's
3238 0195 1e6f          btfss   main__bit9___byte, main__bit9___bit
3239 0196 299b          goto    main__8
3240                    ; line_number = 327
3241                    ; bit9 := _false
3242                    ;info   327, 407
3243 0197 126f          bcf     main__bit9___byte, main__bit9___bit
3244                    ; line_number = 328
3245                    ;  call bus_select_send(command)
3246                    ;info   328, 408
3247 0198 0826          movf    main__command,w
3248 0199 21ef          call    bus_select_send
3249 019a 299d          goto    main__9
3250                    ; 2GOTO: Starting code 2
3251   019b :   main__8:
3252                    ; line_number = 330
3253                    ; call bus_byte_send(command)
3254                    ;info   330, 411
3255 019b 0826          movf    main__command,w
3256 019c 21e0          call    bus_byte_send
3257   019d :   main__9:
3258                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3259                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3260                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3261                    ; line_number = 326
3262                    ;  if bit9 done
3263                    ; line_number = 331
3264                    ; call bus_byte_receive()
3265                    ;info   331, 413
3266 019d 21fe          call    bus_byte_receive
3267                    ; line_number = 324
3268                    ; loop_exactly send wrap-up
3269 019e 0bb9          decfsz  main__6,f
3270 019f 2993          goto    main__7
3271                    ; line_number = 324
3272                    ; loop_exactly send done
3273   01a0 :   main__10:
3274                    ; Recombine size1 = 0 || size2 = 0
3275                    ; line_number = 323
3276                    ; if send != 0 done
3277                    ; line_number = 332
3278                    ; if receive != 0 start
3279                    ;info   332, 416
3280                    ; Left minus Right
3281 01a0 082b          movf    main__receive,w
3282                    ; =>bit_code_emit@symbol(): sym=__z
3283                    ; No 1TEST: true.size=0 false.size=9
3284                    ; No 2TEST: true.size=0 false.size=9
3285                    ; 1GOTO: Single test with GOTO
3286 01a1 1903          btfsc   __z___byte, __z___bit
3287 01a2 29ae          goto    main__13
3288                    ; #index := 0
3289                    ; line_number = 334
3290                    ;  loop_exactly receive start
3291                    ;info   334, 419
3292 00000039 = main__11 equ globals___0+25
3293 01a3 082b          movf    main__receive,w
3294 01a4 00b9          movwf   main__11
3295   01a5 :   main__12:
3296                    ; line_number = 335
3297                    ; command := bus_byte_receive()
3298                    ;info   335, 421
3299 01a5 21fe          call    bus_byte_receive
3300 01a6 00a6          movwf   main__command
3301                    ; line_number = 336
3302                    ;  if time_out start
3303                    ;info   336, 423
3304                    ; =>bit_code_emit@symbol(): sym=time_out
3305                    ; No 1TEST: true.size=1 false.size=1
3306                    ; 2TEST: two tests with code in both delay slots
3307 01a7 196f          btfsc   time_out___byte, time_out___bit
3308                    ; line_number = 337
3309                    ; call _uart_byte_put(0xfc)
3310                    ;info   337, 424
3311 01a8 30fc          movlw   252
3312 01a9 1d6f          btfss   time_out___byte, time_out___bit
3313                    ; line_number = 339
3314                    ; call _uart_byte_put(command)
3315                    ;info   339, 426
3316 01aa 0826          movf    main__command,w
3317 01ab 22e3          call    _uart_byte_put
3318                    ; line_number = 336
3319                    ;  if time_out done
3320                    ; #call _uart_byte_put(0x40 | index)
3321                    ; #index := (index + 1) & 0x3f
3322            
3323            
3324                    ; line_number = 334
3325                    ;  loop_exactly receive wrap-up
3326 01ac 0bb9          decfsz  main__11,f
3327 01ad 29a5          goto    main__12
3328                    ; line_number = 334
3329                    ;  loop_exactly receive done
3330   01ae :   main__13:
3331                    ; Recombine size1 = 0 || size2 = 0
3332                    ; line_number = 332
3333                    ; if receive != 0 done
3334   01ae :   main__87:
3335                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3336                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3337                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3338                    ; line_number = 110
3339                    ;  if command & 0x80 = 0 done
3340                    ; line_number = 102
3341                    ;  loop_forever wrap-up
3342 01ae 281d          goto    main__3
3343                    ; line_number = 102
3344                    ;  loop_forever done
3345                    ; delay after procedure statements=non-uniform
3346            
3347            
3348            
3349            
3350                    ; line_number = 344
3351                    ;info   344, 431
3352                    ; procedure id_dump
3353   01af :   id_dump:
3354                    ; arguments_none
3355                    ; line_number = 346
3356                    ;  returns_nothing
3357            
3358                    ; # This procedure will print out the id information for the
3359                    ; # currently selected module.
3360            
3361                    ; line_number = 351
3362                    ;  local value byte
3363 0000002f = id_dump__value equ globals___0+15
3364            
3365                    ; # Reset the id index:
3366                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3367                    ; line_number = 354
3368                    ;  value := bus_byte_send_receive(0xfe)
3369                    ;info   354, 431
3370 01af 30fe          movlw   254
3371 01b0 21da          call    bus_byte_send_receive
3372 01b1 00af          movwf   id_dump__value
3373            
3374                    ; # Read the fixed part:
3375                    ; line_number = 357
3376                    ;  loop_exactly 5 start
3377                    ;info   357, 434
3378 0000003a = id_dump__1 equ globals___0+26
3379 01b2 3005          movlw   5
3380 01b3 00ba          movwf   id_dump__1
3381   01b4 :   id_dump__2:
3382                    ; line_number = 358
3383                    ; value := bus_byte_send_receive(0xfd)
3384                    ;info   358, 436
3385 01b4 30fd          movlw   253
3386 01b5 21da          call    bus_byte_send_receive
3387 01b6 00af          movwf   id_dump__value
3388                    ; line_number = 359
3389                    ;  call _uart_hex_put(value)
3390                    ;info   359, 439
3391 01b7 082f          movf    id_dump__value,w
3392 01b8 22c8          call    _uart_hex_put
3393                    ; line_number = 360
3394                    ;  call _uart_space_put()
3395                    ;info   360, 441
3396 01b9 22db          call    _uart_space_put
3397            
3398            
3399                    ; line_number = 357
3400                    ;  loop_exactly 5 wrap-up
3401 01ba 0bba          decfsz  id_dump__1,f
3402 01bb 29b4          goto    id_dump__2
3403                    ; line_number = 357
3404                    ;  loop_exactly 5 done
3405                    ; # Dump the name string:
3406                    ; line_number = 364
3407                    ;  if value & 2 != 0 start
3408                    ;info   364, 444
3409                    ; Left minus Right
3410 01bc 3002          movlw   2
3411 01bd 052f          andwf   id_dump__value,w
3412                    ; =>bit_code_emit@symbol(): sym=__z
3413                    ; 1TEST: Single test with code in skip slot
3414 01be 1d03          btfss   __z___byte, __z___bit
3415                    ; line_number = 365
3416                    ; call string_dump()
3417                    ;info   365, 447
3418 01bf 21c6          call    string_dump
3419            
3420                    ; Recombine size1 = 0 || size2 = 0
3421                    ; line_number = 364
3422                    ;  if value & 2 != 0 done
3423                    ; # Dump the vendor string:
3424                    ; line_number = 368
3425                    ;  if value & 1 != 0 start
3426                    ;info   368, 448
3427                    ; Left minus Right
3428 01c0 3001          movlw   1
3429 01c1 052f          andwf   id_dump__value,w
3430                    ; =>bit_code_emit@symbol(): sym=__z
3431                    ; 1TEST: Single test with code in skip slot
3432 01c2 1d03          btfss   __z___byte, __z___bit
3433                    ; line_number = 369
3434                    ; call string_dump()
3435                    ;info   369, 451
3436 01c3 21c6          call    string_dump
3437            
3438                    ; Recombine size1 = 0 || size2 = 0
3439                    ; line_number = 368
3440                    ;  if value & 1 != 0 done
3441                    ; line_number = 371
3442                    ; call _uart_crlf_put()
3443                    ;info   371, 452
3444 01c4 22de          call    _uart_crlf_put
3445            
3446            
3447                    ; delay after procedure statements=non-uniform
3448                    ; Implied return
3449 01c5 3400          retlw   0
3450            
3451            
3452            
3453            
3454                    ; line_number = 374
3455                    ;info   374, 454
3456                    ; procedure string_dump
3457   01c6 :   string_dump:
3458                    ; arguments_none
3459                    ; line_number = 376
3460                    ;  returns_nothing
3461            
3462                    ; # This procedure will dump a string from the id information.
3463            
3464                    ; line_number = 380
3465                    ;  local length byte
3466 00000030 = string_dump__length equ globals___0+16
3467            
3468                    ; # We have a vendor string; now read the length:
3469                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3470                    ; line_number = 383
3471                    ;  call _uart_space_put()
3472                    ;info   383, 454
3473 01c6 22db          call    _uart_space_put
3474                    ; line_number = 384
3475                    ;  length := bus_byte_send_receive(0xfd)
3476                    ;info   384, 455
3477 01c7 30fd          movlw   253
3478 01c8 21da          call    bus_byte_send_receive
3479 01c9 00b0          movwf   string_dump__length
3480                    ; line_number = 385
3481                    ;  call _uart_hex_put(length)
3482                    ;info   385, 458
3483 01ca 0830          movf    string_dump__length,w
3484 01cb 22c8          call    _uart_hex_put
3485                    ; line_number = 386
3486                    ;  call _uart_byte_put(':')
3487                    ;info   386, 460
3488 01cc 303a          movlw   58
3489 01cd 22e3          call    _uart_byte_put
3490            
3491                    ; # Print out the vendor string:
3492                    ; line_number = 389
3493                    ;  call _uart_byte_put('"')
3494                    ;info   389, 462
3495 01ce 3022          movlw   34
3496 01cf 22e3          call    _uart_byte_put
3497                    ; line_number = 390
3498                    ;  loop_exactly length start
3499                    ;info   390, 464
3500 0000003b = string_dump__1 equ globals___0+27
3501 01d0 0830          movf    string_dump__length,w
3502 01d1 00bb          movwf   string_dump__1
3503   01d2 :   string_dump__2:
3504                    ; line_number = 391
3505                    ; call _uart_byte_put(bus_byte_send_receive(0xfd))
3506                    ;info   391, 466
3507 01d2 30fd          movlw   253
3508 01d3 21da          call    bus_byte_send_receive
3509 01d4 22e3          call    _uart_byte_put
3510                    ; line_number = 390
3511                    ;  loop_exactly length wrap-up
3512 01d5 0bbb          decfsz  string_dump__1,f
3513 01d6 29d2          goto    string_dump__2
3514                    ; line_number = 390
3515                    ;  loop_exactly length done
3516                    ; line_number = 392
3517                    ; call _uart_byte_put('"')
3518                    ;info   392, 471
3519 01d7 3022          movlw   34
3520 01d8 22e3          call    _uart_byte_put
3521            
3522            
3523                    ; delay after procedure statements=non-uniform
3524                    ; Implied return
3525 01d9 3400          retlw   0
3526            
3527            
3528            
3529            
3530                    ; line_number = 395
3531                    ;info   395, 474
3532                    ; procedure bus_byte_send_receive
3533   01da :   bus_byte_send_receive:
3534                    ; Last argument is sitting in W; save into argument variable
3535 01da 00b1          movwf   bus_byte_send_receive__value
3536                    ; delay=4294967295
3537                    ; line_number = 396
3538                    ; argument value byte
3539 00000031 = bus_byte_send_receive__value equ globals___0+17
3540                    ; line_number = 397
3541                    ;  returns byte
3542            
3543                    ; # This procedure will send {value} to the currently selected module
3544                    ; # and return the response.
3545            
3546                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3547                    ; line_number = 402
3548                    ;  call bus_byte_send(value)
3549                    ;info   402, 475
3550 01db 0831          movf    bus_byte_send_receive__value,w
3551 01dc 21e0          call    bus_byte_send
3552                    ; line_number = 403
3553                    ;  call bus_byte_receive()
3554                    ;info   403, 477
3555 01dd 21fe          call    bus_byte_receive
3556                    ; line_number = 404
3557                    ;  return bus_byte_receive() start
3558                    ; line_number = 404
3559                    ;info   404, 478
3560 01de 21fe          call    bus_byte_receive
3561 01df 0008          return  
3562                    ; line_number = 404
3563                    ;  return bus_byte_receive() done
3564            
3565            
3566                    ; delay after procedure statements=non-uniform
3567            
3568            
3569            
3570            
3571                    ; line_number = 407
3572                    ;info   407, 480
3573                    ; procedure bus_byte_send
3574   01e0 :   bus_byte_send:
3575                    ; Last argument is sitting in W; save into argument variable
3576 01e0 00b2          movwf   bus_byte_send__value
3577                    ; delay=4294967295
3578                    ; line_number = 408
3579                    ; argument value byte
3580 00000032 = bus_byte_send__value equ globals___0+18
3581                    ; line_number = 409
3582                    ;  returns_nothing
3583            
3584                    ; # This procedure will cause a {value} byte to be sent to the bus.
3585            
3586                    ; #call _uart_byte_put('{')
3587                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3588                    ; line_number = 414
3589                    ;  loop_exactly 4 start
3590                    ;info   414, 481
3591 0000003c = bus_byte_send__1 equ globals___0+28
3592 01e1 3004          movlw   4
3593 01e2 00bc          movwf   bus_byte_send__1
3594   01e3 :   bus_byte_send__2:
3595                    ; line_number = 415
3596                    ; call shift2(value & 3)
3597                    ;info   415, 483
3598 01e3 3003          movlw   3
3599 01e4 0532          andwf   bus_byte_send__value,w
3600 01e5 2218          call    shift2
3601                    ; line_number = 416
3602                    ;  value := value >> 2
3603                    ;info   416, 486
3604                    ; Assignment of variable to self (no code needed)
3605 01e6 0cb2          rrf     bus_byte_send__value,f
3606 01e7 0cb2          rrf     bus_byte_send__value,f
3607 01e8 303f          movlw   63
3608 01e9 05b2          andwf   bus_byte_send__value,f
3609                    ; line_number = 414
3610                    ;  loop_exactly 4 wrap-up
3611 01ea 0bbc          decfsz  bus_byte_send__1,f
3612 01eb 29e3          goto    bus_byte_send__2
3613                    ; line_number = 414
3614                    ;  loop_exactly 4 done
3615                    ; line_number = 417
3616                    ; call shift2(4)
3617                    ;info   417, 492
3618 01ec 3004          movlw   4
3619 01ed 2218          call    shift2
3620                    ; #call _uart_byte_put('}')
3621            
3622            
3623                    ; delay after procedure statements=non-uniform
3624                    ; Implied return
3625 01ee 3400          retlw   0
3626            
3627            
3628            
3629            
3630                    ; line_number = 421
3631                    ;info   421, 495
3632                    ; procedure bus_select_send
3633   01ef :   bus_select_send:
3634                    ; Last argument is sitting in W; save into argument variable
3635 01ef 00b3          movwf   bus_select_send__node
3636                    ; delay=4294967295
3637                    ; line_number = 422
3638                    ; argument node byte
3639 00000033 = bus_select_send__node equ globals___0+19
3640                    ; line_number = 423
3641                    ;  returns_nothing
3642            
3643                    ; # This procedure will cause a {node} select byte to be sent.
3644            
3645                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3646                    ; line_number = 427
3647                    ;  loop_exactly 4 start
3648                    ;info   427, 496
3649 0000003d = bus_select_send__1 equ globals___0+29
3650 01f0 3004          movlw   4
3651 01f1 00bd          movwf   bus_select_send__1
3652   01f2 :   bus_select_send__2:
3653                    ; line_number = 428
3654                    ; call shift2(node & 3)
3655                    ;info   428, 498
3656 01f2 3003          movlw   3
3657 01f3 0533          andwf   bus_select_send__node,w
3658 01f4 2218          call    shift2
3659                    ; line_number = 429
3660                    ;  node := node >> 2
3661                    ;info   429, 501
3662                    ; Assignment of variable to self (no code needed)
3663 01f5 0cb3          rrf     bus_select_send__node,f
3664 01f6 0cb3          rrf     bus_select_send__node,f
3665 01f7 303f          movlw   63
3666 01f8 05b3          andwf   bus_select_send__node,f
3667                    ; line_number = 427
3668                    ;  loop_exactly 4 wrap-up
3669 01f9 0bbd          decfsz  bus_select_send__1,f
3670 01fa 29f2          goto    bus_select_send__2
3671                    ; line_number = 427
3672                    ;  loop_exactly 4 done
3673                    ; line_number = 430
3674                    ; call shift2(5)
3675                    ;info   430, 507
3676 01fb 3005          movlw   5
3677 01fc 2218          call    shift2
3678            
3679            
3680                    ; delay after procedure statements=non-uniform
3681                    ; Implied return
3682 01fd 3400          retlw   0
3683            
3684            
3685            
3686            
3687                    ; line_number = 433
3688                    ;info   433, 510
3689                    ; procedure bus_byte_receive
3690   01fe :   bus_byte_receive:
3691                    ; arguments_none
3692                    ; line_number = 435
3693                    ;  returns byte
3694            
3695                    ; # This procedure receive a byte from the bus processor.
3696                    ; # {time_out} is set if no byte is received in a reasonable
3697                    ; # amount of time.
3698            
3699                    ; #call _uart_byte_put('[')
3700                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3701                    ; line_number = 442
3702                    ;  time_out := _false
3703                    ;info   442, 510
3704 01fe 116f          bcf     time_out___byte, time_out___bit
3705                    ; # Where does 15*20 come from?  This seems to be the minimum
3706                    ; # timeout that works with programming a PIC16F876.
3707                    ; line_number = 445
3708                    ;  loop_exactly 15 start
3709                    ;info   445, 511
3710 0000003e = bus_byte_receive__1 equ globals___0+30
3711 01ff 300f          movlw   15
3712 0200 00be          movwf   bus_byte_receive__1
3713   0201 :   bus_byte_receive__2:
3714                    ; line_number = 446
3715                    ; loop_exactly 20 start
3716                    ;info   446, 513
3717 0000003f = bus_byte_receive__3 equ globals___0+31
3718 0201 3014          movlw   20
3719 0202 00bf          movwf   bus_byte_receive__3
3720   0203 :   bus_byte_receive__4:
3721                    ; line_number = 447
3722                    ; call shift2(6)
3723                    ;info   447, 515
3724 0203 3006          movlw   6
3725 0204 2218          call    shift2
3726                    ; line_number = 448
3727                    ;  if !(bus_shift@1) start
3728                    ;info   448, 517
3729 00000025 = bus_byte_receive__select__8___byte equ bus_shift
3730 00000001 = bus_byte_receive__select__8___bit equ 1
3731                    ; =>bit_code_emit@symbol(): sym=bus_byte_receive__select__8
3732                    ; No 1TEST: true.size=0 false.size=9
3733                    ; No 2TEST: true.size=0 false.size=9
3734                    ; 1GOTO: Single test with GOTO
3735 0205 18a5          btfsc   bus_byte_receive__select__8___byte, bus_byte_receive__select__8___bit
3736 0206 2a12          goto    bus_byte_receive__9
3737                    ; # We got one:
3738                    ; line_number = 450
3739                    ;  bus_msb := _false
3740                    ;info   450, 519
3741 0207 11ef          bcf     bus_msb___byte, bus_msb___bit
3742                    ; line_number = 451
3743                    ;  if bus_shift@0 start
3744                    ;info   451, 520
3745 00000025 = bus_byte_receive__select__5___byte equ bus_shift
3746 00000000 = bus_byte_receive__select__5___bit equ 0
3747                    ; =>bit_code_emit@symbol(): sym=bus_byte_receive__select__5
3748                    ; 1TEST: Single test with code in skip slot
3749 0208 1825          btfsc   bus_byte_receive__select__5___byte, bus_byte_receive__select__5___bit
3750                    ; line_number = 452
3751                    ; bus_msb := _true
3752                    ;info   452, 521
3753 0209 15ef          bsf     bus_msb___byte, bus_msb___bit
3754                    ; Recombine size1 = 0 || size2 = 0
3755                    ; line_number = 451
3756                    ;  if bus_shift@0 done
3757                    ; line_number = 453
3758                    ; loop_exactly 4 start
3759                    ;info   453, 522
3760 00000040 = bus_byte_receive__6 equ globals___0+32
3761 020a 3004          movlw   4
3762 020b 00c0          movwf   bus_byte_receive__6
3763   020c :   bus_byte_receive__7:
3764                    ; line_number = 454
3765                    ; call shift2(0)
3766                    ;info   454, 524
3767 020c 3000          movlw   0
3768 020d 2218          call    shift2
3769                    ; line_number = 453
3770                    ; loop_exactly 4 wrap-up
3771 020e 0bc0          decfsz  bus_byte_receive__6,f
3772 020f 2a0c          goto    bus_byte_receive__7
3773                    ; line_number = 453
3774                    ; loop_exactly 4 done
3775                    ; #call _uart_byte_put(']')
3776                    ; line_number = 456
3777                    ;  return bus_shift start
3778                    ; line_number = 456
3779                    ;info   456, 528
3780 0210 0825          movf    bus_shift,w
3781 0211 0008          return  
3782                    ; line_number = 456
3783                    ;  return bus_shift done
3784   0212 :   bus_byte_receive__9:
3785                    ; Recombine size1 = 0 || size2 = 0
3786                    ; line_number = 448
3787                    ;  if !(bus_shift@1) done
3788                    ; line_number = 446
3789                    ; loop_exactly 20 wrap-up
3790 0212 0bbf          decfsz  bus_byte_receive__3,f
3791 0213 2a03          goto    bus_byte_receive__4
3792                    ; line_number = 446
3793                    ; loop_exactly 20 done
3794                    ; line_number = 445
3795                    ;  loop_exactly 15 wrap-up
3796 0214 0bbe          decfsz  bus_byte_receive__1,f
3797 0215 2a01          goto    bus_byte_receive__2
3798                    ; line_number = 445
3799                    ;  loop_exactly 15 done
3800                    ; line_number = 457
3801                    ; time_out := _true
3802                    ;info   457, 534
3803 0216 156f          bsf     time_out___byte, time_out___bit
3804                    ; #call _uart_byte_put(']')
3805                    ; line_number = 459
3806                    ;  return 0 start
3807                    ; line_number = 459
3808                    ;info   459, 535
3809 0217 3400          retlw   0
3810                    ; line_number = 459
3811                    ;  return 0 done
3812            
3813            
3814                    ; delay after procedure statements=non-uniform
3815            
3816            
3817            
3818            
3819                    ; line_number = 462
3820                    ;info   462, 536
3821                    ; procedure shift2
3822   0218 :   shift2:
3823                    ; Last argument is sitting in W; save into argument variable
3824 0218 00b4          movwf   shift2__value
3825                    ; delay=4294967295
3826                    ; line_number = 463
3827                    ; argument value byte
3828 00000034 = shift2__value equ globals___0+20
3829                    ; line_number = 464
3830                    ;  returns_nothing
3831            
3832                    ; # This procedure will cause 3 bits to be sent to the bus processor
3833                    ; # and 2 bits returned from the bus processor into {bus_shift}.
3834            
3835                    ; #call _uart_byte_put('<')
3836            
3837                    ; # Set the 3 bits to send up.  The two lower bits are data and
3838                    ; # the 3rd bit is STROBE.
3839                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
3840                    ; line_number = 473
3841                    ;  p4 := _false
3842                    ;info   473, 537
3843 0219 1005          bcf     p4___byte, p4___bit
3844                    ; line_number = 474
3845                    ;  p3 := _false
3846                    ;info   474, 538
3847 021a 1187          bcf     p3___byte, p3___bit
3848                    ; line_number = 475
3849                    ;  p2 := _false
3850                    ;info   475, 539
3851 021b 1107          bcf     p2___byte, p2___bit
3852            
3853                    ; line_number = 477
3854                    ;  if value@2 start
3855                    ;info   477, 540
3856 00000034 = shift2__select__1___byte equ shift2__value
3857 00000002 = shift2__select__1___bit equ 2
3858                    ; =>bit_code_emit@symbol(): sym=shift2__select__1
3859                    ; 1TEST: Single test with code in skip slot
3860 021c 1934          btfsc   shift2__select__1___byte, shift2__select__1___bit
3861                    ; line_number = 478
3862                    ; p4 := _true
3863                    ;info   478, 541
3864 021d 1405          bsf     p4___byte, p4___bit
3865                    ; Recombine size1 = 0 || size2 = 0
3866                    ; line_number = 477
3867                    ;  if value@2 done
3868                    ; #	call _uart_byte_put('1')
3869                    ; #else
3870                    ; #	call _uart_byte_put('0')
3871                    ; line_number = 482
3872                    ;  if value@1 start
3873                    ;info   482, 542
3874 00000034 = shift2__select__2___byte equ shift2__value
3875 00000001 = shift2__select__2___bit equ 1
3876                    ; =>bit_code_emit@symbol(): sym=shift2__select__2
3877                    ; 1TEST: Single test with code in skip slot
3878 021e 18b4          btfsc   shift2__select__2___byte, shift2__select__2___bit
3879                    ; line_number = 483
3880                    ; p3 := _true
3881                    ;info   483, 543
3882 021f 1587          bsf     p3___byte, p3___bit
3883                    ; Recombine size1 = 0 || size2 = 0
3884                    ; line_number = 482
3885                    ;  if value@1 done
3886                    ; #	call _uart_byte_put('1')
3887                    ; #else
3888                    ; #	call _uart_byte_put('0')
3889                    ; line_number = 487
3890                    ;  if value@0 start
3891                    ;info   487, 544
3892 00000034 = shift2__select__3___byte equ shift2__value
3893 00000000 = shift2__select__3___bit equ 0
3894                    ; =>bit_code_emit@symbol(): sym=shift2__select__3
3895                    ; 1TEST: Single test with code in skip slot
3896 0220 1834          btfsc   shift2__select__3___byte, shift2__select__3___bit
3897                    ; line_number = 488
3898                    ; p2 := _true
3899                    ;info   488, 545
3900 0221 1507          bsf     p2___byte, p2___bit
3901                    ; Recombine size1 = 0 || size2 = 0
3902                    ; line_number = 487
3903                    ;  if value@0 done
3904                    ; #	call _uart_byte_put('1')
3905                    ; #else
3906                    ; #	call _uart_byte_put('0')
3907            
3908                    ; # Let the bus processor know that we have some data:
3909                    ; line_number = 494
3910                    ;  if p6 start
3911                    ;info   494, 546
3912                    ; =>bit_code_emit@symbol(): sym=p6
3913                    ; No 1TEST: true.size=3 false.size=3
3914                    ; No 2TEST: true.size=3 false.size=3
3915                    ; 2GOTO: Single test with two GOTO's
3916 0222 1d05          btfss   p6___byte, p6___bit
3917 0223 2a28          goto    shift2__6
3918                    ; #call _uart_byte_put('L')
3919                    ; line_number = 496
3920                    ;  p6 := _false
3921                    ;info   496, 548
3922 0224 1105          bcf     p6___byte, p6___bit
3923                    ; # Wait until the bus processor has a response.
3924                    ; line_number = 498
3925                    ;  while p5 start
3926   0225 :   shift2__5:
3927                    ;info   498, 549
3928                    ; =>bit_code_emit@symbol(): sym=p5
3929                    ; 1TEST: Single test with code in skip slot
3930 0225 1885          btfsc   p5___byte, p5___bit
3931                    ; line_number = 499
3932                    ; do_nothing
3933                    ;info   499, 550
3934 0226 2a25          goto    shift2__5
3935                    ; Recombine size1 = 0 || size2 = 0
3936                    ; line_number = 498
3937                    ;  while p5 done
3938 0227 2a2b          goto    shift2__7
3939                    ; 2GOTO: Starting code 2
3940   0228 :   shift2__6:
3941                    ; #call _uart_byte_put('H')
3942                    ; line_number = 502
3943                    ;  p6 := _true
3944                    ;info   502, 552
3945 0228 1505          bsf     p6___byte, p6___bit
3946                    ; # Wait until the bus processor has a response.
3947                    ; line_number = 504
3948                    ;  while !p5 start
3949   0229 :   shift2__4:
3950                    ;info   504, 553
3951                    ; =>bit_code_emit@symbol(): sym=p5
3952                    ; 1TEST: Single test with code in skip slot
3953 0229 1c85          btfss   p5___byte, p5___bit
3954                    ; line_number = 505
3955                    ; do_nothing
3956                    ;info   505, 554
3957            
3958 022a 2a29          goto    shift2__4
3959                    ; Recombine size1 = 0 || size2 = 0
3960                    ; line_number = 504
3961                    ;  while !p5 done
3962   022b :   shift2__7:
3963                    ; 2GOTO: code1 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
3964                    ; 2GOTO: code2 final bitstates:(data:X0=cu=>X0 code:XX=cc=>XX)
3965                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
3966                    ; line_number = 494
3967                    ;  if p6 done
3968                    ; # The bus processor has a response.  Now grab the data.
3969                    ; line_number = 508
3970                    ;  bus_shift := bus_shift << 2
3971                    ;info   508, 555
3972                    ; Assignment of variable to self (no code needed)
3973 022b 0da5          rlf     bus_shift,f
3974 022c 0da5          rlf     bus_shift,f
3975 022d 30fc          movlw   252
3976 022e 05a5          andwf   bus_shift,f
3977                    ; line_number = 509
3978                    ;  if p1 start
3979                    ;info   509, 559
3980                    ; =>bit_code_emit@symbol(): sym=p1
3981                    ; 1TEST: Single test with code in skip slot
3982 022f 1887          btfsc   p1___byte, p1___bit
3983                    ; line_number = 510
3984                    ; bus_shift@1 := _true
3985                    ;info   510, 560
3986 00000025 = shift2__select__8___byte equ bus_shift
3987 00000001 = shift2__select__8___bit equ 1
3988 0230 14a5          bsf     shift2__select__8___byte, shift2__select__8___bit
3989                    ; Recombine size1 = 0 || size2 = 0
3990                    ; line_number = 509
3991                    ;  if p1 done
3992                    ; #	call _uart_byte_put('1')
3993                    ; #else
3994                    ; #	call _uart_byte_put('0')
3995                    ; line_number = 514
3996                    ;  if p0 start
3997                    ;info   514, 561
3998                    ; =>bit_code_emit@symbol(): sym=p0
3999                    ; 1TEST: Single test with code in skip slot
4000 0231 1807          btfsc   p0___byte, p0___bit
4001                    ; line_number = 515
4002                    ; bus_shift@0 := _true
4003                    ;info   515, 562
4004 00000025 = shift2__select__9___byte equ bus_shift
4005 00000000 = shift2__select__9___bit equ 0
4006 0232 1425          bsf     shift2__select__9___byte, shift2__select__9___bit
4007                    ; Recombine size1 = 0 || size2 = 0
4008                    ; line_number = 514
4009                    ;  if p0 done
4010                    ; #	call _uart_byte_put('1')
4011                    ; #else
4012                    ; #	call _uart_byte_put('0')
4013            
4014                    ; #call _uart_byte_put('>')
4015            
4016            
4017                    ; delay after procedure statements=non-uniform
4018                    ; Implied return
4019 0233 3400          retlw   0
4020            
4021            
4022            
4023            
4024                    ; line_number = 523
4025                    ;info   523, 564
4026                    ; procedure character_get
4027   0234 :   character_get:
4028                    ; arguments_none
4029                    ; line_number = 525
4030                    ;  returns byte
4031            
4032                    ; # This procedure will get a character from the user and echo it.
4033                    ; # If the user types '\r\', an extra line feed is output and
4034                    ; # the global {end_of_line} bit is set.
4035            
4036                    ; line_number = 531
4037                    ;  local character byte
4038 00000035 = character_get__character equ globals___0+21
4039            
4040                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4041                    ; line_number = 533
4042                    ;  character := _uart_byte_get()
4043                    ;info   533, 564
4044 0234 22c4          call    _uart_byte_get
4045 0235 00b5          movwf   character_get__character
4046                    ; line_number = 534
4047                    ;  call _uart_byte_put(character)
4048                    ;info   534, 566
4049 0236 0835          movf    character_get__character,w
4050 0237 22e3          call    _uart_byte_put
4051                    ; line_number = 535
4052                    ;  if character = '\r\' start
4053                    ;info   535, 568
4054                    ; Left minus Right
4055 0238 30f3          movlw   243
4056 0239 0735          addwf   character_get__character,w
4057                    ; =>bit_code_emit@symbol(): sym=__z
4058                    ; No 1TEST: true.size=3 false.size=0
4059                    ; No 2TEST: true.size=3 false.size=0
4060                    ; 1GOTO: Single test with GOTO
4061 023a 1d03          btfss   __z___byte, __z___bit
4062 023b 2a3f          goto    character_get__1
4063                    ; line_number = 536
4064                    ; end_of_line := _true
4065                    ;info   536, 572
4066 023c 14ef          bsf     end_of_line___byte, end_of_line___bit
4067                    ; line_number = 537
4068                    ;  call _uart_byte_put('\n\')
4069                    ;info   537, 573
4070 023d 300a          movlw   10
4071 023e 22e3          call    _uart_byte_put
4072                    ; Recombine size1 = 0 || size2 = 0
4073   023f :   character_get__1:
4074                    ; line_number = 535
4075                    ;  if character = '\r\' done
4076                    ; line_number = 538
4077                    ; return character start
4078                    ; line_number = 538
4079                    ;info   538, 575
4080 023f 0835          movf    character_get__character,w
4081 0240 0008          return  
4082                    ; line_number = 538
4083                    ; return character done
4084            
4085            
4086                    ; delay after procedure statements=non-uniform
4087            
4088            
4089            
4090            
4091 0000006f = end_of_line_get__0return___byte equ globals___0+79
4092 00000005 = end_of_line_get__0return___bit equ 5
4093                    ; line_number = 541
4094                    ;info   541, 577
4095                    ; procedure end_of_line_get
4096   0241 :   end_of_line_get:
4097                    ; arguments_none
4098                    ; line_number = 543
4099                    ;  returns bit
4100            
4101                    ; # This procedure will return 1 if end of line has been reached
4102                    ; # without error; otherwise 0 is returned and an error exclamation
4103                    ; # point ('!') is output.
4104            
4105                    ; line_number = 549
4106                    ;  local character byte
4107 00000036 = end_of_line_get__character equ globals___0+22
4108            
4109                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4110                    ; line_number = 551
4111                    ;  if error start
4112                    ;info   551, 577
4113                    ; =>bit_code_emit@symbol(): sym=error
4114                    ; No 1TEST: true.size=2 false.size=0
4115                    ; No 2TEST: true.size=2 false.size=0
4116                    ; 1GOTO: Single test with GOTO
4117 0241 1c6f          btfss   error___byte, error___bit
4118 0242 2a45          goto    end_of_line_get__1
4119                    ; line_number = 552
4120                    ; return 0 start
4121                    ; line_number = 552
4122                    ;info   552, 579
4123 0243 12ef          bcf     end_of_line_get__0return___byte, end_of_line_get__0return___bit
4124 0244 0008          return  
4125                    ; line_number = 552
4126                    ; return 0 done
4127                    ; Recombine size1 = 0 || size2 = 0
4128   0245 :   end_of_line_get__1:
4129                    ; line_number = 551
4130                    ;  if error done
4131                    ; line_number = 553
4132                    ; while !end_of_line start
4133   0245 :   end_of_line_get__2:
4134                    ;info   553, 581
4135                    ; =>bit_code_emit@symbol(): sym=end_of_line
4136                    ; No 1TEST: true.size=0 false.size=21
4137                    ; No 2TEST: true.size=0 false.size=21
4138                    ; 1GOTO: Single test with GOTO
4139 0245 18ef          btfsc   end_of_line___byte, end_of_line___bit
4140 0246 2a5c          goto    end_of_line_get__5
4141                    ; line_number = 554
4142                    ; character := character_get()
4143                    ;info   554, 583
4144 0247 2234          call    character_get
4145 0248 00b6          movwf   end_of_line_get__character
4146                    ; line_number = 555
4147                    ;  if character != '\r\' && character != '\t\' && character != ' ' start
4148                    ;info   555, 585
4149                    ; Left minus Right
4150 0249 30f3          movlw   243
4151 024a 0736          addwf   end_of_line_get__character,w
4152                    ; =>bit_code_emit@symbol(): sym=__z
4153                    ; No 1TEST: true.size=1 false.size=14
4154                    ; No 2TEST: true.size=1 false.size=14
4155                    ; 2GOTO: Single test with two GOTO's
4156 024b 1903          btfsc   __z___byte, __z___bit
4157 024c 2a5b          goto    end_of_line_get__3
4158                    ; Recombine code1_bit_states != code2_bit_states
4159                    ; Recombine code1_bit_states != code2_bit_states
4160                    ; Left minus Right
4161 024d 30f7          movlw   247
4162 024e 0736          addwf   end_of_line_get__character,w
4163                    ; =>bit_code_emit@symbol(): sym=__z
4164                    ; No 1TEST: true.size=1 false.size=10
4165                    ; No 2TEST: true.size=1 false.size=10
4166                    ; 2GOTO: Single test with two GOTO's
4167 024f 1903          btfsc   __z___byte, __z___bit
4168 0250 2a5b          goto    end_of_line_get__3
4169                    ; Recombine code1_bit_states != code2_bit_states
4170                    ; &&||: index=2 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4171                    ; Left minus Right
4172 0251 30e0          movlw   224
4173 0252 0736          addwf   end_of_line_get__character,w
4174                    ; =>bit_code_emit@symbol(): sym=__z
4175                    ; No 1TEST: true.size=0 false.size=6
4176                    ; No 2TEST: true.size=0 false.size=6
4177                    ; 1GOTO: Single test with GOTO
4178 0253 1903          btfsc   __z___byte, __z___bit
4179 0254 2a5b          goto    end_of_line_get__4
4180                    ; line_number = 556
4181                    ; error := _true
4182                    ;info   556, 597
4183 0255 146f          bsf     error___byte, error___bit
4184                    ; line_number = 557
4185                    ;  call _uart_byte_put('!')
4186                    ;info   557, 598
4187 0256 3021          movlw   33
4188 0257 22e3          call    _uart_byte_put
4189                    ; line_number = 558
4190                    ;  call _uart_crlf_put()
4191                    ;info   558, 600
4192 0258 22de          call    _uart_crlf_put
4193                    ; line_number = 559
4194                    ;  return 0 start
4195                    ; line_number = 559
4196                    ;info   559, 601
4197 0259 12ef          bcf     end_of_line_get__0return___byte, end_of_line_get__0return___bit
4198 025a 0008          return  
4199                    ; line_number = 559
4200                    ;  return 0 done
4201   025b :   end_of_line_get__4:
4202   025b :   end_of_line_get__3:
4203                    ; Recombine code1_bit_states != code2_bit_states
4204                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4205                    ; &&||:: index=1 new_delay=4294967295 goto_delay=4294967295
4206                    ; 2GOTO: No goto needed; true=end_of_line_get__3 false= true_size=1 false_size=10
4207                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4208                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4209                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4210                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4211                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4212                    ; 2GOTO: No goto needed; true=end_of_line_get__3 false= true_size=1 false_size=14
4213                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4214                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4215                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4216                    ; line_number = 555
4217                    ;  if character != '\r\' && character != '\t\' && character != ' ' done
4218 025b 2a45          goto    end_of_line_get__2
4219   025c :   end_of_line_get__5:
4220                    ; Recombine size1 = 0 || size2 = 0
4221                    ; line_number = 553
4222                    ; while !end_of_line done
4223                    ; line_number = 560
4224                    ; return 1 start
4225                    ; line_number = 560
4226                    ;info   560, 604
4227 025c 16ef          bsf     end_of_line_get__0return___byte, end_of_line_get__0return___bit
4228 025d 0008          return  
4229                    ; line_number = 560
4230                    ; return 1 done
4231            
4232            
4233                    ; delay after procedure statements=non-uniform
4234            
4235            
4236            
4237            
4238                    ; line_number = 563
4239                    ;info   563, 606
4240                    ; procedure hex_byte_get
4241   025e :   hex_byte_get:
4242                    ; arguments_none
4243                    ; line_number = 565
4244                    ;  returns byte
4245            
4246                    ; # This procedure will get a hex byte from the user.  Zero, one or
4247                    ; # more spaces and tabs may preceed the hex byte.
4248            
4249                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4250                    ; line_number = 570
4251                    ;  call hex_word_get()
4252                    ;info   570, 606
4253 025e 2261          call    hex_word_get
4254                    ; line_number = 571
4255                    ;  return hex_low start
4256                    ; line_number = 571
4257                    ;info   571, 607
4258 025f 0824          movf    hex_low,w
4259 0260 0008          return  
4260                    ; line_number = 571
4261                    ;  return hex_low done
4262            
4263            
4264                    ; delay after procedure statements=non-uniform
4265            
4266            
4267            
4268            
4269                    ; line_number = 574
4270                    ;info   574, 609
4271                    ; procedure hex_word_get
4272   0261 :   hex_word_get:
4273                    ; arguments_none
4274                    ; line_number = 576
4275                    ;  returns_nothing
4276            
4277                    ; # This procedure will get a 16-bit hexadecimal value and return
4278                    ; # the result in {hex_high} and {hex_low}.
4279            
4280                    ; line_number = 581
4281                    ;  local character byte
4282 00000037 = hex_word_get__character equ globals___0+23
4283                    ; line_number = 582
4284                    ;  local digit byte
4285 00000038 = hex_word_get__digit equ globals___0+24
4286            
4287                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4288                    ; line_number = 584
4289                    ;  hex_high := 0
4290                    ;info   584, 609
4291 0261 01a3          clrf    hex_high
4292                    ; line_number = 585
4293                    ;  hex_low := 0
4294                    ;info   585, 610
4295 0262 01a4          clrf    hex_low
4296                    ; line_number = 586
4297                    ;  character := ' '
4298                    ;info   586, 611
4299 0263 3020          movlw   32
4300 0264 00b7          movwf   hex_word_get__character
4301                    ; line_number = 587
4302                    ;  if !end_of_line start
4303                    ;info   587, 613
4304                    ; =>bit_code_emit@symbol(): sym=end_of_line
4305                    ; No 1TEST: true.size=0 false.size=79
4306                    ; No 2TEST: true.size=0 false.size=79
4307                    ; 1GOTO: Single test with GOTO
4308 0265 18ef          btfsc   end_of_line___byte, end_of_line___bit
4309 0266 2ab6          goto    hex_word_get__18
4310                    ; line_number = 588
4311                    ; while character = ' ' || character = '\t\' start
4312   0267 :   hex_word_get__1:
4313                    ;info   588, 615
4314                    ; Left minus Right
4315 0267 30e0          movlw   224
4316 0268 0737          addwf   hex_word_get__character,w
4317                    ; =>bit_code_emit@symbol(): sym=__z
4318                    ; No 1TEST: true.size=1 false.size=7
4319                    ; No 2TEST: true.size=1 false.size=7
4320                    ; 2GOTO: Single test with two GOTO's
4321 0269 1903          btfsc   __z___byte, __z___bit
4322 026a 2a6f          goto    hex_word_get__2
4323                    ; Recombine code1_bit_states != code2_bit_states
4324                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4325                    ; Left minus Right
4326 026b 30f7          movlw   247
4327 026c 0737          addwf   hex_word_get__character,w
4328                    ; =>bit_code_emit@symbol(): sym=__z
4329                    ; No 1TEST: true.size=3 false.size=0
4330                    ; No 2TEST: true.size=3 false.size=0
4331                    ; 1GOTO: Single test with GOTO
4332 026d 1d03          btfss   __z___byte, __z___bit
4333 026e 2a72          goto    hex_word_get__3
4334   026f :   hex_word_get__2:
4335                    ; line_number = 589
4336                    ; character := character_get()
4337                    ;info   589, 623
4338 026f 2234          call    character_get
4339 0270 00b7          movwf   hex_word_get__character
4340            
4341 0271 2a67          goto    hex_word_get__1
4342                    ; Recombine size1 = 0 || size2 = 0
4343   0272 :   hex_word_get__3:
4344                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4345                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4346                    ; 2GOTO: No goto needed; true=hex_word_get__2 false= true_size=1 false_size=7
4347                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4348                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4349                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4350                    ; line_number = 588
4351                    ; while character = ' ' || character = '\t\' done
4352                    ; line_number = 591
4353                    ; loop_forever start
4354   0272 :   hex_word_get__4:
4355                    ; line_number = 592
4356                    ; if '0' <= character && character <= '9' start
4357                    ;info   592, 626
4358 0272 3030          movlw   48
4359 0273 0237          subwf   hex_word_get__character,w
4360                    ; =>bit_code_emit@symbol(): sym=__c
4361                    ; No 1TEST: true.size=49 false.size=1
4362                    ; No 2TEST: true.size=49 false.size=1
4363                    ; 2GOTO: Single test with two GOTO's
4364 0274 1c03          btfss   __c___byte, __c___bit
4365 0275 2a7c          goto    hex_word_get__12
4366                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4367 0276 3039          movlw   57
4368 0277 0237          subwf   hex_word_get__character,w
4369 0278 1903          btfsc   __z___byte, __z___bit
4370 0279 1003          bcf     __c___byte, __c___bit
4371                    ; =>bit_code_emit@symbol(): sym=__c
4372                    ; No 1TEST: true.size=39 false.size=3
4373                    ; No 2TEST: true.size=39 false.size=3
4374                    ; 2GOTO: Single test with two GOTO's
4375 027a 1c03          btfss   __c___byte, __c___bit
4376 027b 2aa4          goto    hex_word_get__13
4377   027c :   hex_word_get__12:
4378                    ; line_number = 594
4379                    ;info   594, 636
4380 027c 3041          movlw   65
4381 027d 0237          subwf   hex_word_get__character,w
4382                    ; =>bit_code_emit@symbol(): sym=__c
4383                    ; No 1TEST: true.size=35 false.size=1
4384                    ; No 2TEST: true.size=35 false.size=1
4385                    ; 2GOTO: Single test with two GOTO's
4386 027e 1c03          btfss   __c___byte, __c___bit
4387 027f 2a86          goto    hex_word_get__9
4388                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4389 0280 3046          movlw   70
4390 0281 0237          subwf   hex_word_get__character,w
4391 0282 1903          btfsc   __z___byte, __z___bit
4392 0283 1003          bcf     __c___byte, __c___bit
4393                    ; =>bit_code_emit@symbol(): sym=__c
4394                    ; No 1TEST: true.size=25 false.size=3
4395                    ; No 2TEST: true.size=25 false.size=3
4396                    ; 2GOTO: Single test with two GOTO's
4397 0284 1c03          btfss   __c___byte, __c___bit
4398 0285 2aa0          goto    hex_word_get__10
4399   0286 :   hex_word_get__9:
4400                    ; line_number = 596
4401                    ;info   596, 646
4402 0286 3061          movlw   97
4403 0287 0237          subwf   hex_word_get__character,w
4404                    ; =>bit_code_emit@symbol(): sym=__c
4405                    ; No 1TEST: true.size=21 false.size=1
4406                    ; No 2TEST: true.size=21 false.size=1
4407                    ; 2GOTO: Single test with two GOTO's
4408 0288 1c03          btfss   __c___byte, __c___bit
4409 0289 2a90          goto    hex_word_get__6
4410                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4411 028a 3066          movlw   102
4412 028b 0237          subwf   hex_word_get__character,w
4413 028c 1903          btfsc   __z___byte, __z___bit
4414 028d 1003          bcf     __c___byte, __c___bit
4415                    ; =>bit_code_emit@symbol(): sym=__c
4416                    ; No 1TEST: true.size=11 false.size=3
4417                    ; No 2TEST: true.size=11 false.size=3
4418                    ; 2GOTO: Single test with two GOTO's
4419 028e 1c03          btfss   __c___byte, __c___bit
4420 028f 2a9c          goto    hex_word_get__7
4421   0290 :   hex_word_get__6:
4422                    ; line_number = 598
4423                    ;info   598, 656
4424                    ; Left minus Right
4425 0290 30e0          movlw   224
4426 0291 0737          addwf   hex_word_get__character,w
4427                    ; =>bit_code_emit@symbol(): sym=__z
4428                    ; No 1TEST: true.size=1 false.size=7
4429                    ; No 2TEST: true.size=1 false.size=7
4430                    ; 2GOTO: Single test with two GOTO's
4431 0292 1903          btfsc   __z___byte, __z___bit
4432 0293 2a9a          goto    hex_word_get__5
4433                    ; Recombine code1_bit_states != code2_bit_states
4434                    ; Recombine code1_bit_states != code2_bit_states
4435                    ; Left minus Right
4436 0294 30f7          movlw   247
4437 0295 0737          addwf   hex_word_get__character,w
4438                    ; =>bit_code_emit@symbol(): sym=__z
4439                    ; No 1TEST: true.size=1 false.size=3
4440                    ; No 2TEST: true.size=1 false.size=3
4441                    ; 2GOTO: Single test with two GOTO's
4442 0296 1903          btfsc   __z___byte, __z___bit
4443 0297 2a9a          goto    hex_word_get__5
4444                    ; Recombine code1_bit_states != code2_bit_states
4445                    ; &&||: index=2 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4446                    ; =>bit_code_emit@symbol(): sym=end_of_line
4447                    ; 1TEST: Single test with code in skip slot
4448 0298 1cef          btfss   end_of_line___byte, end_of_line___bit
4449                    ; line_number = 601
4450                    ; error := _true
4451                    ;info   601, 665
4452 0299 146f          bsf     error___byte, error___bit
4453                    ; line_number = 602
4454                    ;  return start
4455                    ; line_number = 602
4456                    ;info   602, 666
4457   029a :   hex_word_get__5:
4458                    ; line_number = 599
4459                    ; return start
4460                    ; line_number = 599
4461                    ;info   599, 666
4462 029a 3400          retlw   0
4463                    ; line_number = 599
4464                    ; return done
4465                    ; line_number = 602
4466                    ;  return done
4467                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4468                    ; &&||:: index=1 new_delay=4294967295 goto_delay=4294967295
4469                    ; 2GOTO: No goto needed; true=hex_word_get__5 false= true_size=1 false_size=3
4470                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4471                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4472                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4473                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4474                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4475                    ; 2GOTO: No goto needed; true=hex_word_get__5 false= true_size=1 false_size=7
4476                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4477                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4478                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4479 029b 2a9f          goto    hex_word_get__8
4480                    ; 2GOTO: Starting code 2
4481   029c :   hex_word_get__7:
4482                    ; line_number = 597
4483                    ; digit := character + (10 - 'a')
4484                    ;info   597, 668
4485 029c 30a9          movlw   169
4486 029d 0737          addwf   hex_word_get__character,w
4487 029e 00b8          movwf   hex_word_get__digit
4488   029f :   hex_word_get__8:
4489                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4490                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4491                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4492                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4493                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4494                    ; Recombine code1_bit_states != code2_bit_states
4495                    ; 2GOTO: No goto needed; true= false=hex_word_get__6 true_size=21 false_size=1
4496                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4497                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4498                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4499 029f 2aa3          goto    hex_word_get__11
4500                    ; 2GOTO: Starting code 2
4501   02a0 :   hex_word_get__10:
4502                    ; line_number = 595
4503                    ; digit := character + (10 - 'A')
4504                    ;info   595, 672
4505 02a0 30c9          movlw   201
4506 02a1 0737          addwf   hex_word_get__character,w
4507 02a2 00b8          movwf   hex_word_get__digit
4508   02a3 :   hex_word_get__11:
4509                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4510                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4511                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4512                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4513                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4514                    ; Recombine code1_bit_states != code2_bit_states
4515                    ; 2GOTO: No goto needed; true= false=hex_word_get__9 true_size=35 false_size=1
4516                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4517                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4518                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4519 02a3 2aa7          goto    hex_word_get__14
4520                    ; 2GOTO: Starting code 2
4521   02a4 :   hex_word_get__13:
4522                    ; line_number = 593
4523                    ; digit := character - '0'
4524                    ;info   593, 676
4525 02a4 30d0          movlw   208
4526 02a5 0737          addwf   hex_word_get__character,w
4527 02a6 00b8          movwf   hex_word_get__digit
4528   02a7 :   hex_word_get__14:
4529                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4530                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4531                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4532                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
4533                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
4534                    ; Recombine code1_bit_states != code2_bit_states
4535                    ; 2GOTO: No goto needed; true= false=hex_word_get__12 true_size=49 false_size=1
4536                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4537                    ; 2GOTO: code2 final bitstates:(data:XX=cc=>XX code:XX=cc=>XX)
4538                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
4539                    ; line_number = 592
4540                    ; if '0' <= character && character <= '9' done
4541                    ; line_number = 603
4542                    ; hex_high := (hex_high << 4) | (hex_low >> 4)
4543                    ;info   603, 679
4544 00000041 = hex_word_get__15 equ globals___0+33
4545 02a7 0e23          swapf   hex_high,w
4546 02a8 00c1          movwf   hex_word_get__15
4547 02a9 30f0          movlw   240
4548 02aa 05c1          andwf   hex_word_get__15,f
4549 00000042 = hex_word_get__16 equ globals___0+34
4550 02ab 0e24          swapf   hex_low,w
4551 02ac 390f          andlw   15
4552 02ad 0441          iorwf   hex_word_get__15,w
4553 02ae 00a3          movwf   hex_high
4554                    ; line_number = 604
4555                    ;  hex_low := (hex_low << 4) | digit
4556                    ;info   604, 687
4557 00000042 = hex_word_get__17 equ globals___0+34
4558 02af 0e24          swapf   hex_low,w
4559 02b0 39f0          andlw   240
4560 02b1 0438          iorwf   hex_word_get__digit,w
4561 02b2 00a4          movwf   hex_low
4562                    ; line_number = 605
4563                    ;  character := character_get()
4564                    ;info   605, 691
4565 02b3 2234          call    character_get
4566 02b4 00b7          movwf   hex_word_get__character
4567            
4568                    ; line_number = 591
4569                    ; loop_forever wrap-up
4570 02b5 2a72          goto    hex_word_get__4
4571                    ; line_number = 591
4572                    ; loop_forever done
4573   02b6 :   hex_word_get__18:
4574                    ; Recombine size1 = 0 || size2 = 0
4575                    ; line_number = 587
4576                    ;  if !end_of_line done
4577                    ; delay after procedure statements=non-uniform
4578                    ; Implied return
4579 02b6 3400          retlw   0
4580            
4581            
4582            
4583            
4584            
4585                    ; Appending 7 delayed procedures to code bank 0
4586                    ; buffer = '_uart'
4587                    ; line_number = 7
4588                    ;info   7, 695
4589                    ; procedure _uart_byte_safe_get
4590   02b7 :   _uart_byte_safe_get:
4591                    ; arguments_none
4592                    ; line_number = 9
4593                    ;  returns byte
4594            
4595                    ; # This procedure will the next byte from UART.  If no byte
4596                    ; # received in a reasonable time, 0xfc is returned.
4597            
4598                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4599                    ; line_number = 14
4600                    ;  loop_exactly 255 start
4601                    ;info   14, 695
4602 00000043 = _uart_byte_safe_get__1 equ globals___0+35
4603 02b7 30ff          movlw   255
4604 02b8 00c3          movwf   _uart_byte_safe_get__1
4605   02b9 :   _uart_byte_safe_get__2:
4606                    ; line_number = 15
4607                    ; loop_exactly 255 start
4608                    ;info   15, 697
4609 00000044 = _uart_byte_safe_get__3 equ globals___0+36
4610 02b9 30ff          movlw   255
4611 02ba 00c4          movwf   _uart_byte_safe_get__3
4612   02bb :   _uart_byte_safe_get__4:
4613                    ; line_number = 16
4614                    ; if _rcif start
4615                    ;info   16, 699
4616                    ; =>bit_code_emit@symbol(): sym=_rcif
4617                    ; No 1TEST: true.size=2 false.size=0
4618                    ; No 2TEST: true.size=2 false.size=0
4619                    ; 1GOTO: Single test with GOTO
4620 02bb 1e8c          btfss   _rcif___byte, _rcif___bit
4621 02bc 2abf          goto    _uart_byte_safe_get__5
4622                    ; line_number = 17
4623                    ; return _rcreg start
4624                    ; line_number = 17
4625                    ;info   17, 701
4626 02bd 0814          movf    _rcreg,w
4627 02be 0008          return  
4628                    ; line_number = 17
4629                    ; return _rcreg done
4630                    ; Recombine size1 = 0 || size2 = 0
4631   02bf :   _uart_byte_safe_get__5:
4632                    ; line_number = 16
4633                    ; if _rcif done
4634                    ; line_number = 15
4635                    ; loop_exactly 255 wrap-up
4636 02bf 0bc4          decfsz  _uart_byte_safe_get__3,f
4637 02c0 2abb          goto    _uart_byte_safe_get__4
4638                    ; line_number = 15
4639                    ; loop_exactly 255 done
4640                    ; line_number = 14
4641                    ;  loop_exactly 255 wrap-up
4642 02c1 0bc3          decfsz  _uart_byte_safe_get__1,f
4643 02c2 2ab9          goto    _uart_byte_safe_get__2
4644                    ; line_number = 14
4645                    ;  loop_exactly 255 done
4646                    ; line_number = 18
4647                    ; return 0xfc start
4648                    ; line_number = 18
4649                    ;info   18, 707
4650 02c3 34fc          retlw   252
4651                    ; line_number = 18
4652                    ; return 0xfc done
4653            
4654            
4655                    ; delay after procedure statements=non-uniform
4656            
4657            
4658            
4659            
4660                    ; line_number = 21
4661                    ;info   21, 708
4662                    ; procedure _uart_byte_get
4663   02c4 :   _uart_byte_get:
4664                    ; arguments_none
4665                    ; line_number = 23
4666                    ;  returns byte
4667            
4668                    ; # This procedure will return the next byte from the UART.
4669            
4670                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4671                    ; line_number = 27
4672                    ;  while !_rcif start
4673   02c4 :   _uart_byte_get__1:
4674                    ;info   27, 708
4675                    ; =>bit_code_emit@symbol(): sym=_rcif
4676                    ; 1TEST: Single test with code in skip slot
4677 02c4 1e8c          btfss   _rcif___byte, _rcif___bit
4678                    ; line_number = 28
4679                    ; do_nothing
4680                    ;info   28, 709
4681 02c5 2ac4          goto    _uart_byte_get__1
4682                    ; Recombine size1 = 0 || size2 = 0
4683                    ; line_number = 27
4684                    ;  while !_rcif done
4685                    ; line_number = 29
4686                    ; return _rcreg start
4687                    ; line_number = 29
4688                    ;info   29, 710
4689 02c6 0814          movf    _rcreg,w
4690 02c7 0008          return  
4691                    ; line_number = 29
4692                    ; return _rcreg done
4693            
4694            
4695                    ; delay after procedure statements=non-uniform
4696            
4697            
4698            
4699            
4700                    ; line_number = 32
4701                    ;info   32, 712
4702                    ; procedure _uart_hex_put
4703   02c8 :   _uart_hex_put:
4704                    ; Last argument is sitting in W; save into argument variable
4705 02c8 00a0          movwf   _uart_hex_put__value
4706                    ; delay=4294967295
4707                    ; line_number = 33
4708                    ; argument value byte
4709 00000020 = _uart_hex_put__value equ globals___0
4710                    ; line_number = 34
4711                    ;  returns_nothing
4712            
4713                    ; # This procedure will output {value} to the UART as a 2-digit
4714                    ; # hexadecimal number.
4715            
4716                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4717                    ; line_number = 39
4718                    ;  call _uart_nibble_put(value >> 4)
4719                    ;info   39, 713
4720 00000045 = _uart_hex_put__1 equ globals___0+37
4721 02c9 0e20          swapf   _uart_hex_put__value,w
4722 02ca 390f          andlw   15
4723 02cb 22d0          call    _uart_nibble_put
4724                    ; line_number = 40
4725                    ;  call _uart_nibble_put(value & 0xf)
4726                    ;info   40, 716
4727 02cc 300f          movlw   15
4728 02cd 0520          andwf   _uart_hex_put__value,w
4729 02ce 22d0          call    _uart_nibble_put
4730            
4731            
4732                    ; delay after procedure statements=non-uniform
4733                    ; Implied return
4734 02cf 3400          retlw   0
4735            
4736            
4737            
4738            
4739                    ; line_number = 43
4740                    ;info   43, 720
4741                    ; procedure _uart_nibble_put
4742   02d0 :   _uart_nibble_put:
4743                    ; Last argument is sitting in W; save into argument variable
4744 02d0 00a1          movwf   _uart_nibble_put__nibble
4745                    ; delay=4294967295
4746                    ; line_number = 44
4747                    ; argument nibble byte
4748 00000021 = _uart_nibble_put__nibble equ globals___0+1
4749                    ; line_number = 45
4750                    ;  returns_nothing
4751            
4752                    ; # This procedure will output {value} to UART as a 1 digit
4753                    ; # hexadecimal number.
4754            
4755                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4756                    ; line_number = 50
4757                    ;  if nibble < 10 start
4758                    ;info   50, 721
4759 02d1 300a          movlw   10
4760 02d2 0221          subwf   _uart_nibble_put__nibble,w
4761                    ; =>bit_code_emit@symbol(): sym=__c
4762                    ; No 1TEST: true.size=1 false.size=1
4763                    ; 2TEST: two tests with code in both delay slots
4764 02d3 1803          btfsc   __c___byte, __c___bit
4765                    ; line_number = 53
4766                    ; nibble := nibble - 10 + 'A'
4767                    ;info   53, 724
4768 02d4 3037          movlw   55
4769 02d5 1c03          btfss   __c___byte, __c___bit
4770                    ; line_number = 51
4771                    ; nibble := nibble + '0'
4772                    ;info   51, 726
4773 02d6 3030          movlw   48
4774 02d7 07a1          addwf   _uart_nibble_put__nibble,f
4775                    ; line_number = 50
4776                    ;  if nibble < 10 done
4777                    ; line_number = 54
4778                    ; call _uart_byte_put(nibble)
4779                    ;info   54, 728
4780 02d8 0821          movf    _uart_nibble_put__nibble,w
4781 02d9 22e3          call    _uart_byte_put
4782            
4783            
4784                    ; delay after procedure statements=non-uniform
4785                    ; Implied return
4786 02da 3400          retlw   0
4787            
4788            
4789            
4790            
4791                    ; line_number = 57
4792                    ;info   57, 731
4793                    ; procedure _uart_space_put
4794   02db :   _uart_space_put:
4795                    ; arguments_none
4796                    ; line_number = 59
4797                    ;  returns_nothing
4798            
4799                    ; # This procedure will output a space to the UART.
4800            
4801                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4802                    ; line_number = 63
4803                    ;  call _uart_byte_put(' ')
4804                    ;info   63, 731
4805 02db 3020          movlw   32
4806 02dc 22e3          call    _uart_byte_put
4807            
4808            
4809                    ; delay after procedure statements=non-uniform
4810                    ; Implied return
4811 02dd 3400          retlw   0
4812            
4813            
4814            
4815            
4816                    ; line_number = 66
4817                    ;info   66, 734
4818                    ; procedure _uart_crlf_put
4819   02de :   _uart_crlf_put:
4820                    ; arguments_none
4821                    ; line_number = 68
4822                    ;  returns_nothing
4823            
4824                    ; # This procedure will output a carriage return line feed sequecne to
4825                    ; # the UART.
4826            
4827                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4828                    ; line_number = 73
4829                    ;  call _uart_byte_put('\cr\')
4830                    ;info   73, 734
4831 02de 300d          movlw   13
4832 02df 22e3          call    _uart_byte_put
4833                    ; line_number = 74
4834                    ;  call _uart_byte_put('\lf\')
4835                    ;info   74, 736
4836 02e0 300a          movlw   10
4837 02e1 22e3          call    _uart_byte_put
4838            
4839            
4840                    ; delay after procedure statements=non-uniform
4841                    ; Implied return
4842 02e2 3400          retlw   0
4843            
4844            
4845            
4846            
4847                    ; line_number = 77
4848                    ;info   77, 739
4849                    ; procedure _uart_byte_put
4850   02e3 :   _uart_byte_put:
4851                    ; Last argument is sitting in W; save into argument variable
4852 02e3 00a2          movwf   _uart_byte_put__byte
4853                    ; delay=4294967295
4854                    ; line_number = 78
4855                    ; argument byte byte
4856 00000022 = _uart_byte_put__byte equ globals___0+2
4857                    ; line_number = 79
4858                    ;  returns_nothing
4859            
4860                    ; # This procedure will send {byte} out using to the UART.
4861            
4862                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:XX=cc=>XX)
4863                    ; line_number = 83
4864                    ;  while !_txif start
4865   02e4 :   _uart_byte_put__1:
4866                    ;info   83, 740
4867                    ; =>bit_code_emit@symbol(): sym=_txif
4868                    ; 1TEST: Single test with code in skip slot
4869 02e4 1c8c          btfss   _txif___byte, _txif___bit
4870                    ; line_number = 84
4871                    ; do_nothing
4872                    ;info   84, 741
4873 02e5 2ae4          goto    _uart_byte_put__1
4874                    ; Recombine size1 = 0 || size2 = 0
4875                    ; line_number = 83
4876                    ;  while !_txif done
4877                    ; line_number = 85
4878                    ; _txreg := byte
4879                    ;info   85, 742
4880 02e6 0822          movf    _uart_byte_put__byte,w
4881 02e7 0095          movwf   _txreg
4882            
4883            
4884                    ; delay after procedure statements=non-uniform
4885                    ; Implied return
4886 02e8 3400          retlw   0
4887            
4888            
4889            
4890            
4891                    ; Configuration bits
4892                    ; address = 0x2007, fill = 0x3000
4893                    ; fcmen = off (0x0)
4894                    ; ieso = off (0x0)
4895                    ; boden = off (0x0)
4896                    ; cpd = off (0x80)
4897                    ; cp = off (0x40)
4898                    ; mclre = off (0x0)
4899                    ; pwrte = off (0x10)
4900                    ; wdte = off (0x0)
4901                    ; fosc = hs (0x2)
4902                    ; 12498 = 0x30d2
4903   30d2 =           __config 12498
4904                    ; Define start addresses for data regions
4905                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4906                    ; Region="globals___0" Address=32" Size=80 Bytes=38 Bits=6 Available=41
4907                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
4908                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
4909                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4910                    end
