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