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   000001a0 = globals___3 equ 416
11   00000000 = __indf equ 0
12   00000002 = __pcl equ 2
13   00000003 = __status equ 3
14   00000004 = __fsr equ 4
15   00000003 = __c___byte equ 3
16   00000000 = __c___bit equ 0
17   00000003 = __z___byte equ 3
18   00000002 = __z___bit equ 2
19   00000003 = __rp0___byte equ 3
20   00000005 = __rp0___bit equ 5
21   00000003 = __rp1___byte equ 3
22   00000006 = __rp1___bit equ 6
23   00000003 = __irp___byte equ 3
24   00000007 = __irp___bit equ 7
25   0000000a = __pclath equ 10
26   0000000a = __cb0___byte equ 10
27   00000003 = __cb0___bit equ 3
28   0000000a = __cb1___byte equ 10
29   00000004 = __cb1___bit equ 4
30              
31                      ; # Copyright (c) 2000-2004 by Wayne C. Gramlich & William T. Benson.
32                      ; # All rights reserved.
33              
34                      ; buffer = 'dualmotor1amp'
35                      ; line_number = 6
36                      ; library _robobricks_pic16f688 entered
37              
38                      ; # Copyright (c) 2000-2005 by Wayne C. Gramlich and Bill Benson
39                      ; # All rights reserved.
40              
41                      ; buffer = '_robobricks_pic16f688'
42                      ; line_number = 6
43                      ; library _pic16f688 entered
44                      ; # Copyright (c) 2004 by Wayne C. Gramlich
45                      ; # All rights reserved.
46              
47                      ; buffer = '_pic16f688'
48                      ; line_number = 5
49                      ; processor pic16f688
50                      ; line_number = 6
51                      ; configure_address 0x2007
52                      ; line_number = 7
53                      ;  configure_fill 0x3000
54                      ; line_number = 8
55                      ;  configure_option fcmen: on = 0x800
56                      ; line_number = 9
57                      ;  configure_option fcmen: off = 0x000
58                      ; line_number = 10
59                      ;  configure_option ieso: on = 0x400
60                      ; line_number = 11
61                      ;  configure_option ieso: off = 0x000
62                      ; line_number = 12
63                      ;  configure_option boden: on = 0x300
64                      ; line_number = 13
65                      ;  configure_option boden: partial = 0x200
66                      ; line_number = 14
67                      ;  configure_option boden: sboden = 0x100
68                      ; line_number = 15
69                      ;  configure_option boden: off = 0x000
70                      ; line_number = 16
71                      ;  configure_option cpd: on = 0x00
72                      ; line_number = 17
73                      ;  configure_option cpd: off = 0x80
74                      ; line_number = 18
75                      ;  configure_option cp: on = 0x00
76                      ; line_number = 19
77                      ;  configure_option cp: off = 0x40
78                      ; line_number = 20
79                      ;  configure_option mclre: on = 0x20
80                      ; line_number = 21
81                      ;  configure_option mclre: off = 0x20
82                      ; line_number = 22
83                      ;  configure_option pwrte: on = 0x00
84                      ; line_number = 23
85                      ;  configure_option pwrte: off = 0x10
86                      ; line_number = 24
87                      ;  configure_option wdte: on = 8
88                      ; line_number = 25
89                      ;  configure_option wdte: off = 0
90                      ; line_number = 26
91                      ;  configure_option fosc: rc_clk = 7
92                      ; line_number = 27
93                      ;  configure_option fosc: rc_no_clk = 6
94                      ; line_number = 28
95                      ;  configure_option fosc: int_clk = 5
96                      ; line_number = 29
97                      ;  configure_option fosc: int_no_clk = 4
98                      ; line_number = 30
99                      ;  configure_option fosc: ec = 3
100                     ; line_number = 31
101                     ;  configure_option fosc: hs = 2
102                     ; line_number = 32
103                     ;  configure_option fosc: xt = 1
104                     ; line_number = 33
105                     ;  configure_option fosc: lp = 0
106             
107                     ; line_number = 35
108                     ;  code_bank 0x0 : 0xfff
109                     ; line_number = 36
110                     ;  data_bank 0x0 : 0x7f
111                     ; line_number = 37
112                     ;  data_bank 0x80 : 0xff
113                     ; line_number = 38
114                     ;  data_bank 0x100 : 0x17f
115                     ; line_number = 39
116                     ;  data_bank 0x180 : 0x1ff
117                     ; line_number = 40
118                     ;  global_region 0x20 : 0x6f
119                     ; line_number = 41
120                     ;  global_region 0xa0 : 0xef
121                     ; line_number = 42
122                     ;  global_region 0x120 : 0x16f
123                     ; line_number = 43
124                     ;  global_region 0x1a0 : 0x1ef
125                     ; line_number = 44
126                     ;  shared_region 0x70 : 0x7f
127                     ; line_number = 45
128                     ;  interrupts_possible
129                     ; line_number = 46
130                     ;  packages pdip=14, soic=14, tssop=14
131                     ; line_number = 47
132                     ;  pin vdd, power_supply
133                     ; line_number = 48
134                     ; pin_bindings pdip=1, soic=1, tssop=1
135                     ; line_number = 49
136                     ; pin ra5_in, ra5_nc, ra5_out, t1cki, osc1, clkin
137                     ; line_number = 50
138                     ; pin_bindings pdip=2, soic=2, tssop=2
139                     ; line_number = 51
140                     ;  bind_to _porta@5
141                     ; line_number = 52
142                     ;  or_if ra5_in _trisa 32
143                     ; line_number = 53
144                     ;  or_if ra5_nc _trisa 32
145                     ; line_number = 54
146                     ;  or_if ra5_out _trisa 0
147                     ; line_number = 55
148                     ; pin ra4_in, ra4_nc, ra4_out, t1g, osc2, an3, clkout
149                     ; line_number = 56
150                     ; pin_bindings pdip=3, soic=3, tssop=3
151                     ; line_number = 57
152                     ;  bind_to _porta@4
153                     ; line_number = 58
154                     ;  or_if ra4_in _trisa 16
155                     ; line_number = 59
156                     ;  or_if ra4_nc _trisa 16
157                     ; line_number = 60
158                     ;  or_if ra4_out _trisa 0
159                     ; line_number = 61
160                     ;  or_if an3 _trisa 8
161                     ; line_number = 62
162                     ;  or_if ra4_in _ansel 0
163                     ; line_number = 63
164                     ;  or_if ra4_out _ansel 0
165                     ; line_number = 64
166                     ;  or_if an3 _ansel 8
167                     ; line_number = 65
168                     ;  or_if ra4_in _adcon0 0
169                     ; line_number = 66
170                     ;  or_if ra4_out _adcon0 0
171                     ; line_number = 67
172                     ;  or_if an3 _adcon0 1
173                     ; line_number = 68
174                     ; pin ra3_in, ra3_nc, mclr, vpp
175                     ; line_number = 69
176                     ; pin_bindings pdip=4, soic=4, tssop=4
177                     ; line_number = 70
178                     ;  bind_to _porta@4
179                     ; line_number = 71
180                     ;  or_if ra3_in _trisa 8
181                     ; line_number = 72
182                     ;  or_if ra3_nc _trisa 8
183                     ; line_number = 73
184                     ; pin rc5_in, rc5_nc, rc5_out, rx, dt
185                     ; line_number = 74
186                     ; pin_bindings pdip=5, soic=5, tssop=5
187                     ; line_number = 75
188                     ;  bind_to _portc@5
189                     ; line_number = 76
190                     ;  or_if rc5_in _trisc 32
191                     ; line_number = 77
192                     ;  or_if rc5_nc _trisc 32
193                     ; line_number = 78
194                     ;  or_if rc5_out _trisc 0
195                     ; line_number = 79
196                     ;  or_if rx _trisc 32
197                     ; line_number = 80
198                     ; pin rc4_in, rc4_nc, rc4_out, c2out, tx, ck
199                     ; line_number = 81
200                     ; pin_bindings pdip=6, soic=6, tssop=6
201                     ; line_number = 82
202                     ;  bind_to _portc@4
203                     ; line_number = 83
204                     ;  or_if rc4_in _trisc 16
205                     ; line_number = 84
206                     ;  or_if rc4_nc _trisc 16
207                     ; line_number = 85
208                     ;  or_if rc4_out _trisc 0
209                     ; # The UART documentation says TX must be marked as in input:
210                     ; line_number = 87
211                     ;  or_if tx _trisc 16
212                     ; line_number = 88
213                     ; pin rc3_in, rc3_nc, rc3_out, an7
214                     ; line_number = 89
215                     ; pin_bindings pdip=7, soic=7, tssop=7
216                     ; line_number = 90
217                     ;  bind_to _portc@3
218                     ; line_number = 91
219                     ;  or_if rc3_in _trisc 8
220                     ; line_number = 92
221                     ;  or_if rc3_nc _trisc 8
222                     ; line_number = 93
223                     ;  or_if rc3_out _trisc 0
224                     ; line_number = 94
225                     ;  or_if an7 _trisc 8
226                     ; line_number = 95
227                     ;  or_if rc3_in _ansel 0
228                     ; line_number = 96
229                     ;  or_if rc3_out _ansel 0
230                     ; line_number = 97
231                     ;  or_if an7 _ansel 128
232                     ; line_number = 98
233                     ;  or_if rc3_in _adcon0 0
234                     ; line_number = 99
235                     ;  or_if rc3_out _adcon0 0
236                     ; line_number = 100
237                     ;  or_if an7 _adcon0 1
238                     ; line_number = 101
239                     ; pin rc2_in, rc2_nc, rc2_out, an6
240                     ; line_number = 102
241                     ; pin_bindings pdip=8, soic=8, tssop=8
242                     ; line_number = 103
243                     ;  bind_to _portc@2
244                     ; line_number = 104
245                     ;  or_if rc2_in _trisc 4
246                     ; line_number = 105
247                     ;  or_if rc2_nc _trisc 4
248                     ; line_number = 106
249                     ;  or_if rc2_out _trisc 0
250                     ; line_number = 107
251                     ;  or_if an6 _trisc 4
252                     ; line_number = 108
253                     ;  or_if rc2_in _ansel 0
254                     ; line_number = 109
255                     ;  or_if rc2_out _ansel 0
256                     ; line_number = 110
257                     ;  or_if an6 _ansel 64
258                     ; line_number = 111
259                     ;  or_if rc2_in _adcon0 0
260                     ; line_number = 112
261                     ;  or_if rc2_out _adcon0 0
262                     ; line_number = 113
263                     ;  or_if an6 _adcon0 1
264                     ; line_number = 114
265                     ; pin rc1_in, rc1_nc, rc1_out, an5, c2in_minus
266                     ; line_number = 115
267                     ; pin_bindings pdip=9, soic=9, tssop=9
268                     ; line_number = 116
269                     ;  bind_to _portc@1
270                     ; line_number = 117
271                     ;  or_if rc1_in _trisc 2
272                     ; line_number = 118
273                     ;  or_if rc1_nc _trisc 2
274                     ; line_number = 119
275                     ;  or_if rc1_out _trisc 0
276                     ; line_number = 120
277                     ;  or_if rc1_in _cmcon0 7
278                     ; line_number = 121
279                     ;  or_if rc1_out _cmcon0 7
280                     ; line_number = 122
281                     ;  or_if an5 _trisc 2
282                     ; line_number = 123
283                     ;  or_if rc1_in _ansel 0
284                     ; line_number = 124
285                     ;  or_if rc1_out _ansel 0
286                     ; line_number = 125
287                     ;  or_if an5 _ansel 32
288                     ; line_number = 126
289                     ;  or_if rc1_in _adcon0 0
290                     ; line_number = 127
291                     ;  or_if rc1_out _adcon0 0
292                     ; line_number = 128
293                     ;  or_if an5 _adcon0 1
294                     ; line_number = 129
295                     ; pin rc0_in, rc0_nc, rc0_out, an4, c2in_plus
296                     ; line_number = 130
297                     ; pin_bindings pdip=10, soic=10, tssop=10
298                     ; line_number = 131
299                     ;  bind_to _portc@0
300                     ; line_number = 132
301                     ;  or_if rc0_in _trisc 1
302                     ; line_number = 133
303                     ;  or_if rc0_nc _trisc 1
304                     ; line_number = 134
305                     ;  or_if rc0_out _trisc 0
306                     ; line_number = 135
307                     ;  or_if rc0_in _cmcon0 7
308                     ; line_number = 136
309                     ;  or_if rc0_out _cmcon0 7
310                     ; line_number = 137
311                     ;  or_if an4 _trisc 1
312                     ; line_number = 138
313                     ;  or_if rc0_in _ansel 0
314                     ; line_number = 139
315                     ;  or_if rc0_out _ansel 0
316                     ; line_number = 140
317                     ;  or_if an4 _ansel 16
318                     ; line_number = 141
319                     ;  or_if rc0_in _adcon0 0
320                     ; line_number = 142
321                     ;  or_if rc0_out _adcon0 0
322                     ; line_number = 143
323                     ;  or_if an4 _adcon0 1
324                     ; line_number = 144
325                     ; pin ra2_in, ra2_nc, ra2_out, an2, c1out, t0cki, int
326                     ; line_number = 145
327                     ; pin_bindings pdip=11, soic=11, tssop=11
328                     ; line_number = 146
329                     ;  bind_to _porta@2
330                     ; line_number = 147
331                     ;  or_if ra2_in _trisa 4
332                     ; line_number = 148
333                     ;  or_if ra2_nc _trisa 4
334                     ; line_number = 149
335                     ;  or_if ra2_out _trisa 0
336                     ; line_number = 150
337                     ;  or_if an2 _trisa 4
338                     ; line_number = 151
339                     ;  or_if ra2_in _ansel 0
340                     ; line_number = 152
341                     ;  or_if ra2_out _ansel 0
342                     ; line_number = 153
343                     ;  or_if an2 _ansel 4
344                     ; line_number = 154
345                     ;  or_if ra2_in _adcon0 0
346                     ; line_number = 155
347                     ;  or_if ra2_out _adcon0 0
348                     ; line_number = 156
349                     ;  or_if an2 _adcon0 1
350                     ; line_number = 157
351                     ; pin ra1_in, ra1_nc, ra1_out, an1, c1in_minus, vref, icspclk
352                     ; line_number = 158
353                     ; pin_bindings pdip=12, soic=12, tssop=12
354                     ; line_number = 159
355                     ;  bind_to _porta@1
356                     ; line_number = 160
357                     ;  or_if ra1_in _trisa 2
358                     ; line_number = 161
359                     ;  or_if ra1_nc _trisa 2
360                     ; line_number = 162
361                     ;  or_if ra1_out _trisa 0
362                     ; line_number = 163
363                     ;  or_if ra1_in _cmcon0 7
364                     ; line_number = 164
365                     ;  or_if ra1_out _cmcon0 7
366                     ; line_number = 165
367                     ;  or_if an1 _trisa 2
368                     ; line_number = 166
369                     ;  or_if ra1_in _ansel 0
370                     ; line_number = 167
371                     ;  or_if ra1_out _ansel 0
372                     ; line_number = 168
373                     ;  or_if an1 _ansel 2
374                     ; line_number = 169
375                     ;  or_if ra1_in _adcon0 0
376                     ; line_number = 170
377                     ;  or_if ra1_out _adcon0 0
378                     ; line_number = 171
379                     ;  or_if an1 _adcon0 1
380                     ; line_number = 172
381                     ; pin ra0_in, ra0_nc, ra0_out, an0, c1in_plus, icspdat, ulpwu
382                     ; line_number = 173
383                     ; pin_bindings pdip=13, soic=13, tssop=13
384                     ; line_number = 174
385                     ;  bind_to _porta@0
386                     ; line_number = 175
387                     ;  or_if ra0_in _trisa 1
388                     ; line_number = 176
389                     ;  or_if ra0_nc _trisa 1
390                     ; line_number = 177
391                     ;  or_if ra0_out _trisa 0
392                     ; line_number = 178
393                     ;  or_if ra0_in _cmcon0 7
394                     ; line_number = 179
395                     ;  or_if ra0_out _cmcon0 7
396                     ; line_number = 180
397                     ;  or_if an0 _trisa 1
398                     ; line_number = 181
399                     ;  or_if ra0_in _ansel 0
400                     ; line_number = 182
401                     ;  or_if ra0_out _ansel 0
402                     ; line_number = 183
403                     ;  or_if an0 _ansel 1
404                     ; line_number = 184
405                     ;  or_if ra0_in _adcon0 0
406                     ; line_number = 185
407                     ;  or_if ra0_out _adcon0 0
408                     ; line_number = 186
409                     ;  or_if an0 _adcon0 1
410                     ; line_number = 187
411                     ; pin vss, ground
412                     ; line_number = 188
413                     ; pin_bindings pdip=14, soic=14, tssop=14
414             
415             
416                     ; # Register/bit bindings:
417             
418                     ; # Databank 0 (0x0 - 0x7f):
419             
420                     ; line_number = 197
421                     ; register _indf = 
422  00000000 = _indf equ 0
423             
424                     ; line_number = 199
425                     ; register _tmr0 = 
426  00000001 = _tmr0 equ 1
427             
428                     ; line_number = 201
429                     ; register _pcl = 
430  00000002 = _pcl equ 2
431             
432                     ; line_number = 203
433                     ; register _status = 
434  00000003 = _status equ 3
435                     ; line_number = 204
436                     ; bind _irp = _status@7
437  00000003 = _irp___byte equ _status
438  00000007 = _irp___bit equ 7
439                     ; line_number = 205
440                     ; bind _rp1 = _status@5
441  00000003 = _rp1___byte equ _status
442  00000005 = _rp1___bit equ 5
443                     ; line_number = 206
444                     ; bind _rp0 = _status@5
445  00000003 = _rp0___byte equ _status
446  00000005 = _rp0___bit equ 5
447                     ; line_number = 207
448                     ; bind _to = _status@4
449  00000003 = _to___byte equ _status
450  00000004 = _to___bit equ 4
451                     ; line_number = 208
452                     ; bind _pd = _status@3
453  00000003 = _pd___byte equ _status
454  00000003 = _pd___bit equ 3
455                     ; line_number = 209
456                     ; bind _z = _status@2
457  00000003 = _z___byte equ _status
458  00000002 = _z___bit equ 2
459                     ; line_number = 210
460                     ; bind _dc = _status@1
461  00000003 = _dc___byte equ _status
462  00000001 = _dc___bit equ 1
463                     ; line_number = 211
464                     ; bind _c = _status@0
465  00000003 = _c___byte equ _status
466  00000000 = _c___bit equ 0
467             
468                     ; line_number = 213
469                     ; register _fsr = 
470  00000004 = _fsr equ 4
471             
472                     ; line_number = 215
473                     ; register _porta = 
474  00000005 = _porta equ 5
475                     ; line_number = 216
476                     ; register _ra = 
477  00000005 = _ra equ 5
478                     ; line_number = 217
479                     ; bind _ra5 = _porta@5
480  00000005 = _ra5___byte equ _porta
481  00000005 = _ra5___bit equ 5
482                     ; line_number = 218
483                     ; bind _ra4 = _porta@4
484  00000005 = _ra4___byte equ _porta
485  00000004 = _ra4___bit equ 4
486                     ; line_number = 219
487                     ; bind _ra3 = _porta@3
488  00000005 = _ra3___byte equ _porta
489  00000003 = _ra3___bit equ 3
490                     ; line_number = 220
491                     ; bind _ra2 = _porta@2
492  00000005 = _ra2___byte equ _porta
493  00000002 = _ra2___bit equ 2
494                     ; line_number = 221
495                     ; bind _ra1 = _porta@1
496  00000005 = _ra1___byte equ _porta
497  00000001 = _ra1___bit equ 1
498                     ; line_number = 222
499                     ; bind _ra0 = _porta@0
500  00000005 = _ra0___byte equ _porta
501  00000000 = _ra0___bit equ 0
502             
503                     ; line_number = 224
504                     ; register _portc = 
505  00000007 = _portc equ 7
506                     ; line_number = 225
507                     ; register _rc = 
508  00000007 = _rc equ 7
509                     ; line_number = 226
510                     ; bind _rc5 = _portc@5
511  00000007 = _rc5___byte equ _portc
512  00000005 = _rc5___bit equ 5
513                     ; line_number = 227
514                     ; bind _rc4 = _portc@4
515  00000007 = _rc4___byte equ _portc
516  00000004 = _rc4___bit equ 4
517                     ; line_number = 228
518                     ; bind _rc3 = _portc@3
519  00000007 = _rc3___byte equ _portc
520  00000003 = _rc3___bit equ 3
521                     ; line_number = 229
522                     ; bind _rc2 = _portc@2
523  00000007 = _rc2___byte equ _portc
524  00000002 = _rc2___bit equ 2
525                     ; line_number = 230
526                     ; bind _rc1 = _portc@1
527  00000007 = _rc1___byte equ _portc
528  00000001 = _rc1___bit equ 1
529                     ; line_number = 231
530                     ; bind _rc0 = _portc@0
531  00000007 = _rc0___byte equ _portc
532  00000000 = _rc0___bit equ 0
533             
534                     ; line_number = 233
535                     ; register _pclath = 
536  0000000a = _pclath equ 10
537             
538                     ; line_number = 235
539                     ; register _intcon = 
540  0000000b = _intcon equ 11
541                     ; line_number = 236
542                     ; bind _gie = _intcon@7
543  0000000b = _gie___byte equ _intcon
544  00000007 = _gie___bit equ 7
545                     ; line_number = 237
546                     ; bind _peie = _intcon@6
547  0000000b = _peie___byte equ _intcon
548  00000006 = _peie___bit equ 6
549                     ; line_number = 238
550                     ; bind _t0ie = _intcon@5
551  0000000b = _t0ie___byte equ _intcon
552  00000005 = _t0ie___bit equ 5
553                     ; line_number = 239
554                     ; bind _inte = _intcon@4
555  0000000b = _inte___byte equ _intcon
556  00000004 = _inte___bit equ 4
557                     ; line_number = 240
558                     ; bind _raie = _intcon@3
559  0000000b = _raie___byte equ _intcon
560  00000003 = _raie___bit equ 3
561                     ; line_number = 241
562                     ; bind _t0if = _intcon@2
563  0000000b = _t0if___byte equ _intcon
564  00000002 = _t0if___bit equ 2
565                     ; line_number = 242
566                     ; bind _intf = _intcon@1
567  0000000b = _intf___byte equ _intcon
568  00000001 = _intf___bit equ 1
569                     ; line_number = 243
570                     ; bind _raif = _intcon@0
571  0000000b = _raif___byte equ _intcon
572  00000000 = _raif___bit equ 0
573             
574                     ; line_number = 245
575                     ; register _pir1 = 
576  0000000c = _pir1 equ 12
577                     ; line_number = 246
578                     ; bind _eeif = _pir1@7
579  0000000c = _eeif___byte equ _pir1
580  00000007 = _eeif___bit equ 7
581                     ; line_number = 247
582                     ; bind _adif = _pir1@6
583  0000000c = _adif___byte equ _pir1
584  00000006 = _adif___bit equ 6
585                     ; line_number = 248
586                     ; bind _rcif = _pir1@5
587  0000000c = _rcif___byte equ _pir1
588  00000005 = _rcif___bit equ 5
589                     ; line_number = 249
590                     ; bind _c2if = _pir1@4
591  0000000c = _c2if___byte equ _pir1
592  00000004 = _c2if___bit equ 4
593                     ; line_number = 250
594                     ; bind _c1if = _pir1@3
595  0000000c = _c1if___byte equ _pir1
596  00000003 = _c1if___bit equ 3
597                     ; line_number = 251
598                     ; bind _osfif = _pir1@2
599  0000000c = _osfif___byte equ _pir1
600  00000002 = _osfif___bit equ 2
601                     ; line_number = 252
602                     ; bind _txif = _pir1@1
603  0000000c = _txif___byte equ _pir1
604  00000001 = _txif___bit equ 1
605                     ; line_number = 253
606                     ; bind _tmr1if = _pir1@0
607  0000000c = _tmr1if___byte equ _pir1
608  00000000 = _tmr1if___bit equ 0
609             
610                     ; line_number = 255
611                     ; register _tmr1l = 
612  0000000e = _tmr1l equ 14
613             
614                     ; line_number = 257
615                     ; register _tmr1h = 
616  0000000f = _tmr1h equ 15
617             
618                     ; line_number = 259
619                     ; register _t1con = 
620  00000010 = _t1con equ 16
621                     ; line_number = 260
622                     ; bind t1ginv = _t1con@7
623  00000010 = t1ginv___byte equ _t1con
624  00000007 = t1ginv___bit equ 7
625                     ; line_number = 261
626                     ; bind _tmr1ge = _t1con@6
627  00000010 = _tmr1ge___byte equ _t1con
628  00000006 = _tmr1ge___bit equ 6
629                     ; line_number = 262
630                     ; bind _t1ckps1 = _t1con@5
631  00000010 = _t1ckps1___byte equ _t1con
632  00000005 = _t1ckps1___bit equ 5
633                     ; line_number = 263
634                     ; bind _t1ckps0 = _t1con@4
635  00000010 = _t1ckps0___byte equ _t1con
636  00000004 = _t1ckps0___bit equ 4
637                     ; line_number = 264
638                     ; bind _t1oscen = _t1con@3
639  00000010 = _t1oscen___byte equ _t1con
640  00000003 = _t1oscen___bit equ 3
641                     ; line_number = 265
642                     ; bind _t1sync = _t1con@2
643  00000010 = _t1sync___byte equ _t1con
644  00000002 = _t1sync___bit equ 2
645                     ; line_number = 266
646                     ; bind _tmr1cs = _t1con@1
647  00000010 = _tmr1cs___byte equ _t1con
648  00000001 = _tmr1cs___bit equ 1
649                     ; line_number = 267
650                     ; bind _tmr1on = _t1con@0
651  00000010 = _tmr1on___byte equ _t1con
652  00000000 = _tmr1on___bit equ 0
653             
654                     ; line_number = 269
655                     ; register _baudctl = 
656  00000011 = _baudctl equ 17
657                     ; line_number = 270
658                     ; bind _abdovf = _baudctl@7
659  00000011 = _abdovf___byte equ _baudctl
660  00000007 = _abdovf___bit equ 7
661                     ; line_number = 271
662                     ; bind _rcidl = _baudctl@6
663  00000011 = _rcidl___byte equ _baudctl
664  00000006 = _rcidl___bit equ 6
665                     ; line_number = 272
666                     ; bind _sckp = _baudctl@4
667  00000011 = _sckp___byte equ _baudctl
668  00000004 = _sckp___bit equ 4
669                     ; line_number = 273
670                     ; bind _brg16 = _baudctl@3
671  00000011 = _brg16___byte equ _baudctl
672  00000003 = _brg16___bit equ 3
673                     ; line_number = 274
674                     ; bind _wue = _baudctl@1
675  00000011 = _wue___byte equ _baudctl
676  00000001 = _wue___bit equ 1
677                     ; line_number = 275
678                     ; bind _abden = _baudctl@0
679  00000011 = _abden___byte equ _baudctl
680  00000000 = _abden___bit equ 0
681             
682                     ; line_number = 277
683                     ; register _spbrgh = 
684  00000012 = _spbrgh equ 18
685             
686                     ; line_number = 279
687                     ; register _spbrg = 
688  00000013 = _spbrg equ 19
689             
690                     ; line_number = 281
691                     ; register _rcreg = 
692  00000014 = _rcreg equ 20
693             
694                     ; line_number = 283
695                     ; register _txreg = 
696  00000015 = _txreg equ 21
697             
698                     ; line_number = 285
699                     ; register _txsta = 
700  00000016 = _txsta equ 22
701                     ; line_number = 286
702                     ; bind _csrc = _txsta@7
703  00000016 = _csrc___byte equ _txsta
704  00000007 = _csrc___bit equ 7
705                     ; line_number = 287
706                     ; bind _tx9 = _txsta@6
707  00000016 = _tx9___byte equ _txsta
708  00000006 = _tx9___bit equ 6
709                     ; line_number = 288
710                     ; bind _txen = _txsta@5
711  00000016 = _txen___byte equ _txsta
712  00000005 = _txen___bit equ 5
713                     ; line_number = 289
714                     ; bind _sync = _txsta@4
715  00000016 = _sync___byte equ _txsta
716  00000004 = _sync___bit equ 4
717                     ; line_number = 290
718                     ; bind _sendb = _txsta@3
719  00000016 = _sendb___byte equ _txsta
720  00000003 = _sendb___bit equ 3
721                     ; line_number = 291
722                     ; bind _brgh = _txsta@2
723  00000016 = _brgh___byte equ _txsta
724  00000002 = _brgh___bit equ 2
725                     ; line_number = 292
726                     ; bind _trmt = _txsta@1
727  00000016 = _trmt___byte equ _txsta
728  00000001 = _trmt___bit equ 1
729                     ; line_number = 293
730                     ; bind _tx9d = _txsta@7
731  00000016 = _tx9d___byte equ _txsta
732  00000007 = _tx9d___bit equ 7
733             
734                     ; line_number = 295
735                     ; register _rcsta = 
736  00000017 = _rcsta equ 23
737                     ; line_number = 296
738                     ; bind _spen = _rcsta@7
739  00000017 = _spen___byte equ _rcsta
740  00000007 = _spen___bit equ 7
741                     ; line_number = 297
742                     ; bind _rx9 = _rcsta@6
743  00000017 = _rx9___byte equ _rcsta
744  00000006 = _rx9___bit equ 6
745                     ; line_number = 298
746                     ; bind _sren = _rcsta@5
747  00000017 = _sren___byte equ _rcsta
748  00000005 = _sren___bit equ 5
749                     ; line_number = 299
750                     ; bind _cren = _rcsta@4
751  00000017 = _cren___byte equ _rcsta
752  00000004 = _cren___bit equ 4
753                     ; line_number = 300
754                     ; bind _adden = _rcsta@3
755  00000017 = _adden___byte equ _rcsta
756  00000003 = _adden___bit equ 3
757                     ; line_number = 301
758                     ; bind _ferr = _rcsta@2
759  00000017 = _ferr___byte equ _rcsta
760  00000002 = _ferr___bit equ 2
761                     ; line_number = 302
762                     ; bind _oerr = _rcsta@1
763  00000017 = _oerr___byte equ _rcsta
764  00000001 = _oerr___bit equ 1
765                     ; line_number = 303
766                     ; bind _rx9d = _rcsta@0
767  00000017 = _rx9d___byte equ _rcsta
768  00000000 = _rx9d___bit equ 0
769             
770                     ; line_number = 305
771                     ; register _wdtcon = 
772  00000018 = _wdtcon equ 24
773                     ; line_number = 306
774                     ; bind _wdtps3 = _wdtcon@4
775  00000018 = _wdtps3___byte equ _wdtcon
776  00000004 = _wdtps3___bit equ 4
777                     ; line_number = 307
778                     ; bind _wdtps2 = _wdtcon@3
779  00000018 = _wdtps2___byte equ _wdtcon
780  00000003 = _wdtps2___bit equ 3
781                     ; line_number = 308
782                     ; bind _wdtps1 = _wdtcon@2
783  00000018 = _wdtps1___byte equ _wdtcon
784  00000002 = _wdtps1___bit equ 2
785                     ; line_number = 309
786                     ; bind _wdtps0 = _wdtcon@1
787  00000018 = _wdtps0___byte equ _wdtcon
788  00000001 = _wdtps0___bit equ 1
789                     ; line_number = 310
790                     ; bind _swdten = _wdtcon@0
791  00000018 = _swdten___byte equ _wdtcon
792  00000000 = _swdten___bit equ 0
793             
794                     ; line_number = 312
795                     ; register _cmcon0 = 
796  00000019 = _cmcon0 equ 25
797                     ; line_number = 313
798                     ; bind _c1out = _cmcon0@7
799  00000019 = _c1out___byte equ _cmcon0
800  00000007 = _c1out___bit equ 7
801                     ; line_number = 314
802                     ; bind _c2out = _cmcon0@6
803  00000019 = _c2out___byte equ _cmcon0
804  00000006 = _c2out___bit equ 6
805                     ; line_number = 315
806                     ; bind _c1inv = _cmcon0@5
807  00000019 = _c1inv___byte equ _cmcon0
808  00000005 = _c1inv___bit equ 5
809                     ; line_number = 316
810                     ; bind _c2inv = _cmcon0@4
811  00000019 = _c2inv___byte equ _cmcon0
812  00000004 = _c2inv___bit equ 4
813                     ; line_number = 317
814                     ; bind _cis = _cmcon0@3
815  00000019 = _cis___byte equ _cmcon0
816  00000003 = _cis___bit equ 3
817                     ; line_number = 318
818                     ; bind _cm2 = _cmcon0@2
819  00000019 = _cm2___byte equ _cmcon0
820  00000002 = _cm2___bit equ 2
821                     ; line_number = 319
822                     ; bind _cm1 = _cmcon0@1
823  00000019 = _cm1___byte equ _cmcon0
824  00000001 = _cm1___bit equ 1
825                     ; line_number = 320
826                     ; bind _cm0 = _cmcon0@0
827  00000019 = _cm0___byte equ _cmcon0
828  00000000 = _cm0___bit equ 0
829             
830                     ; line_number = 322
831                     ; register _cmcon1 = 
832  0000001a = _cmcon1 equ 26
833                     ; line_number = 323
834                     ; bind _t1gss = _cmcon1@0
835  0000001a = _t1gss___byte equ _cmcon1
836  00000000 = _t1gss___bit equ 0
837                     ; line_number = 324
838                     ; bind _c2sync = _cmcon1@1
839  0000001a = _c2sync___byte equ _cmcon1
840  00000001 = _c2sync___bit equ 1
841             
842                     ; line_number = 326
843                     ; register _adresh = 
844  0000001e = _adresh equ 30
845             
846                     ; line_number = 328
847                     ; register _adcon0 = 
848  0000001f = _adcon0 equ 31
849                     ; line_number = 329
850                     ; bind _adfm = _adcon0@7
851  0000001f = _adfm___byte equ _adcon0
852  00000007 = _adfm___bit equ 7
853                     ; line_number = 330
854                     ; bind _vcfg = _adcon0@6
855  0000001f = _vcfg___byte equ _adcon0
856  00000006 = _vcfg___bit equ 6
857                     ; line_number = 331
858                     ; bind _chs2 = _adcon0@4
859  0000001f = _chs2___byte equ _adcon0
860  00000004 = _chs2___bit equ 4
861                     ; line_number = 332
862                     ; bind _chs1 = _adcon0@3
863  0000001f = _chs1___byte equ _adcon0
864  00000003 = _chs1___bit equ 3
865                     ; line_number = 333
866                     ; bind _chs0 = _adcon0@2
867  0000001f = _chs0___byte equ _adcon0
868  00000002 = _chs0___bit equ 2
869                     ; line_number = 334
870                     ; bind _go = _adcon0@1
871  0000001f = _go___byte equ _adcon0
872  00000001 = _go___bit equ 1
873                     ; line_number = 335
874                     ; bind _adon = _adcon0@0
875  0000001f = _adon___byte equ _adcon0
876  00000000 = _adon___bit equ 0
877             
878                     ; # Data bank 1 (0x80-0xff):
879             
880                     ; line_number = 339
881                     ; register _option_reg = 
882  00000081 = _option_reg equ 129
883                     ; line_number = 340
884                     ; bind _rapu = _option_reg@7
885  00000081 = _rapu___byte equ _option_reg
886  00000007 = _rapu___bit equ 7
887                     ; line_number = 341
888                     ; bind _intedg = _option_reg@6
889  00000081 = _intedg___byte equ _option_reg
890  00000006 = _intedg___bit equ 6
891                     ; line_number = 342
892                     ; bind _t0cs = _option_reg@5
893  00000081 = _t0cs___byte equ _option_reg
894  00000005 = _t0cs___bit equ 5
895                     ; line_number = 343
896                     ; bind _t0se = _option_reg@4
897  00000081 = _t0se___byte equ _option_reg
898  00000004 = _t0se___bit equ 4
899                     ; line_number = 344
900                     ; bind _psa = _option_reg@3
901  00000081 = _psa___byte equ _option_reg
902  00000003 = _psa___bit equ 3
903                     ; line_number = 345
904                     ; bind _ps2 = _option_reg@2
905  00000081 = _ps2___byte equ _option_reg
906  00000002 = _ps2___bit equ 2
907                     ; line_number = 346
908                     ; bind _ps1 = _option_reg@1
909  00000081 = _ps1___byte equ _option_reg
910  00000001 = _ps1___bit equ 1
911                     ; line_number = 347
912                     ; bind _ps0 = _option_reg@0
913  00000081 = _ps0___byte equ _option_reg
914  00000000 = _ps0___bit equ 0
915             
916                     ; line_number = 349
917                     ; register _trisa = 
918  00000085 = _trisa equ 133
919                     ; line_number = 350
920                     ; bind _trisa5 = _trisa@5
921  00000085 = _trisa5___byte equ _trisa
922  00000005 = _trisa5___bit equ 5
923                     ; line_number = 351
924                     ; bind _trisa4 = _trisa@4
925  00000085 = _trisa4___byte equ _trisa
926  00000004 = _trisa4___bit equ 4
927                     ; line_number = 352
928                     ; bind _trisa3 = _trisa@3
929  00000085 = _trisa3___byte equ _trisa
930  00000003 = _trisa3___bit equ 3
931                     ; line_number = 353
932                     ; bind _trisa2 = _trisa@2
933  00000085 = _trisa2___byte equ _trisa
934  00000002 = _trisa2___bit equ 2
935                     ; line_number = 354
936                     ; bind _trisa1 = _trisa@1
937  00000085 = _trisa1___byte equ _trisa
938  00000001 = _trisa1___bit equ 1
939                     ; line_number = 355
940                     ; bind _trisa0 = _trisa@0
941  00000085 = _trisa0___byte equ _trisa
942  00000000 = _trisa0___bit equ 0
943             
944                     ; line_number = 357
945                     ; register _trisc = 
946  00000087 = _trisc equ 135
947                     ; line_number = 358
948                     ; bind _trisc5 = _trisc@5
949  00000087 = _trisc5___byte equ _trisc
950  00000005 = _trisc5___bit equ 5
951                     ; line_number = 359
952                     ; bind _trisc4 = _trisc@4
953  00000087 = _trisc4___byte equ _trisc
954  00000004 = _trisc4___bit equ 4
955                     ; line_number = 360
956                     ; bind _trisc3 = _trisc@3
957  00000087 = _trisc3___byte equ _trisc
958  00000003 = _trisc3___bit equ 3
959                     ; line_number = 361
960                     ; bind _trisc2 = _trisc@2
961  00000087 = _trisc2___byte equ _trisc
962  00000002 = _trisc2___bit equ 2
963                     ; line_number = 362
964                     ; bind _trisc1 = _trisc@1
965  00000087 = _trisc1___byte equ _trisc
966  00000001 = _trisc1___bit equ 1
967                     ; line_number = 363
968                     ; bind _trisc0 = _trisc@0
969  00000087 = _trisc0___byte equ _trisc
970  00000000 = _trisc0___bit equ 0
971             
972                     ; line_number = 365
973                     ; register _pie1 = 
974  0000008c = _pie1 equ 140
975                     ; line_number = 366
976                     ; bind _eeie = _pie1@7
977  0000008c = _eeie___byte equ _pie1
978  00000007 = _eeie___bit equ 7
979                     ; line_number = 367
980                     ; bind _adie = _pie1@6
981  0000008c = _adie___byte equ _pie1
982  00000006 = _adie___bit equ 6
983                     ; line_number = 368
984                     ; bind _rcie = _pie1@5
985  0000008c = _rcie___byte equ _pie1
986  00000005 = _rcie___bit equ 5
987                     ; line_number = 369
988                     ; bind _c2ie = _pie1@4
989  0000008c = _c2ie___byte equ _pie1
990  00000004 = _c2ie___bit equ 4
991                     ; line_number = 370
992                     ; bind _c1ie = _pie1@3
993  0000008c = _c1ie___byte equ _pie1
994  00000003 = _c1ie___bit equ 3
995                     ; line_number = 371
996                     ; bind _osfie = _pie1@2
997  0000008c = _osfie___byte equ _pie1
998  00000002 = _osfie___bit equ 2
999                     ; line_number = 372
1000                    ; bind _txie = _pie1@1
1001 0000008c = _txie___byte equ _pie1
1002 00000001 = _txie___bit equ 1
1003                    ; line_number = 373
1004                    ; bind _tmr1ie = _pie1@0
1005 0000008c = _tmr1ie___byte equ _pie1
1006 00000000 = _tmr1ie___bit equ 0
1007            
1008                    ; line_number = 375
1009                    ; register _pcon = 
1010 0000008e = _pcon equ 142
1011                    ; line_number = 376
1012                    ; bind _ulpwue = _pcon@5
1013 0000008e = _ulpwue___byte equ _pcon
1014 00000005 = _ulpwue___bit equ 5
1015                    ; line_number = 377
1016                    ; bind _sboden = _pcon@4
1017 0000008e = _sboden___byte equ _pcon
1018 00000004 = _sboden___bit equ 4
1019                    ; line_number = 378
1020                    ; bind _por = _pcon@1
1021 0000008e = _por___byte equ _pcon
1022 00000001 = _por___bit equ 1
1023                    ; line_number = 379
1024                    ; bind _bod = _pcon@0
1025 0000008e = _bod___byte equ _pcon
1026 00000000 = _bod___bit equ 0
1027            
1028                    ; line_number = 381
1029                    ; register _osccon = 
1030 0000008f = _osccon equ 143
1031                    ; line_number = 382
1032                    ; bind _ircf2 = _osccon@6
1033 0000008f = _ircf2___byte equ _osccon
1034 00000006 = _ircf2___bit equ 6
1035                    ; line_number = 383
1036                    ; bind _ircf1 = _osccon@5
1037 0000008f = _ircf1___byte equ _osccon
1038 00000005 = _ircf1___bit equ 5
1039                    ; line_number = 384
1040                    ; bind _ircf0 = _osccon@4
1041 0000008f = _ircf0___byte equ _osccon
1042 00000004 = _ircf0___bit equ 4
1043                    ; line_number = 385
1044                    ; bind _osts = _osccon@3
1045 0000008f = _osts___byte equ _osccon
1046 00000003 = _osts___bit equ 3
1047                    ; line_number = 386
1048                    ; bind _hts = _osccon@2
1049 0000008f = _hts___byte equ _osccon
1050 00000002 = _hts___bit equ 2
1051                    ; line_number = 387
1052                    ; bind _lts = _osccon@3
1053 0000008f = _lts___byte equ _osccon
1054 00000003 = _lts___bit equ 3
1055                    ; line_number = 388
1056                    ; bind _scs = _osccon@2
1057 0000008f = _scs___byte equ _osccon
1058 00000002 = _scs___bit equ 2
1059            
1060                    ; line_number = 390
1061                    ; register _osctune = 
1062 00000090 = _osctune equ 144
1063                    ; line_number = 391
1064                    ; bind _tun4 = _osctune@4
1065 00000090 = _tun4___byte equ _osctune
1066 00000004 = _tun4___bit equ 4
1067                    ; line_number = 392
1068                    ; bind _tun3 = _osctune@3
1069 00000090 = _tun3___byte equ _osctune
1070 00000003 = _tun3___bit equ 3
1071                    ; line_number = 393
1072                    ; bind _tun2 = _osctune@2
1073 00000090 = _tun2___byte equ _osctune
1074 00000002 = _tun2___bit equ 2
1075                    ; line_number = 394
1076                    ; bind _tun1 = _osctune@1
1077 00000090 = _tun1___byte equ _osctune
1078 00000001 = _tun1___bit equ 1
1079                    ; line_number = 395
1080                    ; bind _tun0 = _osctune@0
1081 00000090 = _tun0___byte equ _osctune
1082 00000000 = _tun0___bit equ 0
1083                    ; line_number = 396
1084                    ; constant _osccal_lsb = 1
1085 00000001 = _osccal_lsb equ 1
1086            
1087                    ; line_number = 398
1088                    ; register _ansel = 
1089 00000091 = _ansel equ 145
1090                    ; line_number = 399
1091                    ; bind _ans7 = _ansel@7
1092 00000091 = _ans7___byte equ _ansel
1093 00000007 = _ans7___bit equ 7
1094                    ; line_number = 400
1095                    ; bind _ans6 = _ansel@6
1096 00000091 = _ans6___byte equ _ansel
1097 00000006 = _ans6___bit equ 6
1098                    ; line_number = 401
1099                    ; bind _ans5 = _ansel@5
1100 00000091 = _ans5___byte equ _ansel
1101 00000005 = _ans5___bit equ 5
1102                    ; line_number = 402
1103                    ; bind _ans4 = _ansel@4
1104 00000091 = _ans4___byte equ _ansel
1105 00000004 = _ans4___bit equ 4
1106                    ; line_number = 403
1107                    ; bind _ans3 = _ansel@3
1108 00000091 = _ans3___byte equ _ansel
1109 00000003 = _ans3___bit equ 3
1110                    ; line_number = 404
1111                    ; bind _ans2 = _ansel@2
1112 00000091 = _ans2___byte equ _ansel
1113 00000002 = _ans2___bit equ 2
1114                    ; line_number = 405
1115                    ; bind _ans1 = _ansel@1
1116 00000091 = _ans1___byte equ _ansel
1117 00000001 = _ans1___bit equ 1
1118                    ; line_number = 406
1119                    ; bind _ans0 = _ansel@0
1120 00000091 = _ans0___byte equ _ansel
1121 00000000 = _ans0___bit equ 0
1122            
1123                    ; line_number = 408
1124                    ; register _wpua = 
1125 00000095 = _wpua equ 149
1126                    ; line_number = 409
1127                    ; bind _wpua5 = _wpua@5
1128 00000095 = _wpua5___byte equ _wpua
1129 00000005 = _wpua5___bit equ 5
1130                    ; line_number = 410
1131                    ; bind _wpua4 = _wpua@4
1132 00000095 = _wpua4___byte equ _wpua
1133 00000004 = _wpua4___bit equ 4
1134                    ; line_number = 411
1135                    ; bind _wpua2 = _wpua@2
1136 00000095 = _wpua2___byte equ _wpua
1137 00000002 = _wpua2___bit equ 2
1138                    ; line_number = 412
1139                    ; bind _wpua1 = _wpua@1
1140 00000095 = _wpua1___byte equ _wpua
1141 00000001 = _wpua1___bit equ 1
1142                    ; line_number = 413
1143                    ; bind _wpua0 = _wpua@0
1144 00000095 = _wpua0___byte equ _wpua
1145 00000000 = _wpua0___bit equ 0
1146            
1147                    ; line_number = 415
1148                    ; register _ioca = 
1149 00000096 = _ioca equ 150
1150                    ; line_number = 416
1151                    ; bind _ioca5 = _ioca@5
1152 00000096 = _ioca5___byte equ _ioca
1153 00000005 = _ioca5___bit equ 5
1154                    ; line_number = 417
1155                    ; bind _ioca4 = _ioca@4
1156 00000096 = _ioca4___byte equ _ioca
1157 00000004 = _ioca4___bit equ 4
1158                    ; line_number = 418
1159                    ; bind _ioca3 = _ioca@3
1160 00000096 = _ioca3___byte equ _ioca
1161 00000003 = _ioca3___bit equ 3
1162                    ; line_number = 419
1163                    ; bind _ioca2 = _ioca@2
1164 00000096 = _ioca2___byte equ _ioca
1165 00000002 = _ioca2___bit equ 2
1166                    ; line_number = 420
1167                    ; bind _ioca1 = _ioca@1
1168 00000096 = _ioca1___byte equ _ioca
1169 00000001 = _ioca1___bit equ 1
1170                    ; line_number = 421
1171                    ; bind _ioca0 = _ioca@0
1172 00000096 = _ioca0___byte equ _ioca
1173 00000000 = _ioca0___bit equ 0
1174            
1175                    ; line_number = 423
1176                    ; register _eedath = 
1177 00000097 = _eedath equ 151
1178            
1179                    ; line_number = 425
1180                    ; register _eeadrh = 
1181 00000098 = _eeadrh equ 152
1182            
1183                    ; line_number = 427
1184                    ; register _vrcon = 
1185 00000099 = _vrcon equ 153
1186                    ; line_number = 428
1187                    ; bind _vren = _vrcon@7
1188 00000099 = _vren___byte equ _vrcon
1189 00000007 = _vren___bit equ 7
1190                    ; line_number = 429
1191                    ; bind _vrr = _vrcon@5
1192 00000099 = _vrr___byte equ _vrcon
1193 00000005 = _vrr___bit equ 5
1194                    ; line_number = 430
1195                    ; bind _vr3 = _vrcon@3
1196 00000099 = _vr3___byte equ _vrcon
1197 00000003 = _vr3___bit equ 3
1198                    ; line_number = 431
1199                    ; bind _vr2 = _vrcon@2
1200 00000099 = _vr2___byte equ _vrcon
1201 00000002 = _vr2___bit equ 2
1202                    ; line_number = 432
1203                    ; bind _vr1 = _vrcon@1
1204 00000099 = _vr1___byte equ _vrcon
1205 00000001 = _vr1___bit equ 1
1206                    ; line_number = 433
1207                    ; bind _vr0 = _vrcon@0
1208 00000099 = _vr0___byte equ _vrcon
1209 00000000 = _vr0___bit equ 0
1210            
1211                    ; line_number = 435
1212                    ; register _eedata = 
1213 0000009a = _eedata equ 154
1214                    ; line_number = 436
1215                    ; bind _eedat7 = _eedata@7
1216 0000009a = _eedat7___byte equ _eedata
1217 00000007 = _eedat7___bit equ 7
1218                    ; line_number = 437
1219                    ; bind _eedat6 = _eedata@6
1220 0000009a = _eedat6___byte equ _eedata
1221 00000006 = _eedat6___bit equ 6
1222                    ; line_number = 438
1223                    ; bind _eedat5 = _eedata@5
1224 0000009a = _eedat5___byte equ _eedata
1225 00000005 = _eedat5___bit equ 5
1226                    ; line_number = 439
1227                    ; bind _eedat4 = _eedata@4
1228 0000009a = _eedat4___byte equ _eedata
1229 00000004 = _eedat4___bit equ 4
1230                    ; line_number = 440
1231                    ; bind _eedat3 = _eedata@3
1232 0000009a = _eedat3___byte equ _eedata
1233 00000003 = _eedat3___bit equ 3
1234                    ; line_number = 441
1235                    ; bind _eedat2 = _eedata@2
1236 0000009a = _eedat2___byte equ _eedata
1237 00000002 = _eedat2___bit equ 2
1238                    ; line_number = 442
1239                    ; bind _eedat1 = _eedata@1
1240 0000009a = _eedat1___byte equ _eedata
1241 00000001 = _eedat1___bit equ 1
1242                    ; line_number = 443
1243                    ; bind _eedat0 = _eedata@0
1244 0000009a = _eedat0___byte equ _eedata
1245 00000000 = _eedat0___bit equ 0
1246            
1247                    ; line_number = 445
1248                    ; register _eeadr = 
1249 0000009b = _eeadr equ 155
1250                    ; line_number = 446
1251                    ; bind _eeadr7 = _eeadr@7
1252 0000009b = _eeadr7___byte equ _eeadr
1253 00000007 = _eeadr7___bit equ 7
1254                    ; line_number = 447
1255                    ; bind _eeadr6 = _eeadr@6
1256 0000009b = _eeadr6___byte equ _eeadr
1257 00000006 = _eeadr6___bit equ 6
1258                    ; line_number = 448
1259                    ; bind _eeadr5 = _eeadr@5
1260 0000009b = _eeadr5___byte equ _eeadr
1261 00000005 = _eeadr5___bit equ 5
1262                    ; line_number = 449
1263                    ; bind _eeadr4 = _eeadr@4
1264 0000009b = _eeadr4___byte equ _eeadr
1265 00000004 = _eeadr4___bit equ 4
1266                    ; line_number = 450
1267                    ; bind _eeadr3 = _eeadr@3
1268 0000009b = _eeadr3___byte equ _eeadr
1269 00000003 = _eeadr3___bit equ 3
1270                    ; line_number = 451
1271                    ; bind _eeadr2 = _eeadr@2
1272 0000009b = _eeadr2___byte equ _eeadr
1273 00000002 = _eeadr2___bit equ 2
1274                    ; line_number = 452
1275                    ; bind _eeadr1 = _eeadr@1
1276 0000009b = _eeadr1___byte equ _eeadr
1277 00000001 = _eeadr1___bit equ 1
1278                    ; line_number = 453
1279                    ; bind _eeadr0 = _eeadr@0
1280 0000009b = _eeadr0___byte equ _eeadr
1281 00000000 = _eeadr0___bit equ 0
1282            
1283                    ; line_number = 455
1284                    ; register _eecon1 = 
1285 0000009c = _eecon1 equ 156
1286                    ; line_number = 456
1287                    ; bind _eepgd = _eecon1@7
1288 0000009c = _eepgd___byte equ _eecon1
1289 00000007 = _eepgd___bit equ 7
1290                    ; line_number = 457
1291                    ; bind _wrerr = _eecon1@3
1292 0000009c = _wrerr___byte equ _eecon1
1293 00000003 = _wrerr___bit equ 3
1294                    ; line_number = 458
1295                    ; bind _wren = _eecon1@2
1296 0000009c = _wren___byte equ _eecon1
1297 00000002 = _wren___bit equ 2
1298                    ; line_number = 459
1299                    ; bind _wr = _eecon1@1
1300 0000009c = _wr___byte equ _eecon1
1301 00000001 = _wr___bit equ 1
1302                    ; line_number = 460
1303                    ; bind _rd = _eecon1@0
1304 0000009c = _rd___byte equ _eecon1
1305 00000000 = _rd___bit equ 0
1306            
1307                    ; line_number = 462
1308                    ; register _eecon2 = 
1309 0000009d = _eecon2 equ 157
1310            
1311                    ; line_number = 464
1312                    ; register _adresl = 
1313 0000009e = _adresl equ 158
1314            
1315                    ; line_number = 466
1316                    ; register _adcon1 = 
1317 0000009f = _adcon1 equ 159
1318                    ; line_number = 467
1319                    ; bind _adcs2 = _adcon1@6
1320 0000009f = _adcs2___byte equ _adcon1
1321 00000006 = _adcs2___bit equ 6
1322                    ; line_number = 468
1323                    ; bind _adcs1 = _adcon1@5
1324 0000009f = _adcs1___byte equ _adcon1
1325 00000005 = _adcs1___bit equ 5
1326                    ; line_number = 469
1327                    ; bind _adcs0 = _adcon1@4
1328 0000009f = _adcs0___byte equ _adcon1
1329 00000004 = _adcs0___bit equ 4
1330            
1331                    ; # Data Bank 2 (0x100 - 0x17f):
1332            
1333                    ; buffer = '_robobricks_pic16f688'
1334                    ; line_number = 6
1335                    ; library _pic16f688 exited
1336                    ; line_number = 7
1337                    ; library clock8mhz entered
1338                    ; # Copyright (c) 2004-2005 by Wayne C. Gramlich
1339                    ; # All rights reserved.
1340            
1341                    ; # This library defines the contstants {clock_rate}, {instruction_rate},
1342                    ; # and {clocks_per_instruction}.
1343            
1344                    ; # Define processor constants:
1345                    ; buffer = 'clock8mhz'
1346                    ; line_number = 9
1347                    ; constant clock_rate = 8000000
1348 007a1200 = clock_rate equ 8000000
1349                    ; line_number = 10
1350                    ; constant clocks_per_instruction = 4
1351 00000004 = clocks_per_instruction equ 4
1352                    ; line_number = 11
1353                    ; constant instruction_rate = clock_rate / clocks_per_instruction
1354 001e8480 = instruction_rate equ 2000000
1355                    ; line_number = 12
1356                    ; constant microsecond = 2
1357 00000002 = microsecond equ 2
1358            
1359            
1360                    ; buffer = '_robobricks_pic16f688'
1361                    ; line_number = 7
1362                    ; library clock8mhz exited
1363            
1364                    ; # Get some EUSART constants defined:
1365                    ; line_number = 10
1366                    ; constant _eusart_clock = clock_rate
1367 007a1200 = _eusart_clock equ 8000000
1368                    ; line_number = 11
1369                    ; constant _eusart_factor = 4
1370 00000004 = _eusart_factor equ 4
1371                    ; line_number = 12
1372                    ; library _eusart entered
1373            
1374                    ; # Copyright (c) 2005 by Wayne C. Gramlich
1375                    ; # All rights reserved.
1376            
1377                    ; # This library contains a bunch of definitions for the Enhanced Universal
1378                    ; # Asynchronous Serial Receiver/Transmitter (EUSART) that is available
1379                    ; # on many of the PIC microcontrollers.
1380            
1381                    ; # In order to use this module you have to get two constants defined
1382                    ; # BEFORE including this library -- {_eusart_factor} and {_eusart_clock}.
1383                    ; # {_eusart_clock} should be set to the frequency oscillator for the chip.
1384                    ; # {_eusart_factor} should be set to 4, 16, or 64 depending upon whether
1385                    ; # the {_brg16} and {_brgh} bits are set.  Use the table below to select:
1386                    ; #
1387                    ; #        _{brg16}	{_brgh}		_{eusart_factor}
1388                    ; #	    0		   0		      64
1389                    ; #	    0		   1		      16
1390                    ; #	    1		   0		      16
1391                    ; #	    1		   1		       
1392            
1393                    ; # 2400 baud:
1394                    ; buffer = '_eusart'
1395                    ; line_number = 23
1396                    ; constant _eusart_2400 = (_eusart_clock / (2400 * _eusart_factor)) - 1
1397 00000340 = _eusart_2400 equ 832
1398                    ; line_number = 24
1399                    ; constant _eusart_2400_low = _eusart_2400 & 0xff
1400 00000040 = _eusart_2400_low equ 64
1401                    ; line_number = 25
1402                    ; constant _eusart_2400_high = _eusart_2400 >> 8
1403 00000003 = _eusart_2400_high equ 3
1404                    ; line_number = 26
1405                    ; constant _eusart_2400_index = 0
1406 00000000 = _eusart_2400_index equ 0
1407                    ; # 4800 baud:
1408                    ; line_number = 28
1409                    ; constant _eusart_4800 = (_eusart_clock / (4800 * _eusart_factor)) - 1
1410 0000019f = _eusart_4800 equ 415
1411                    ; line_number = 29
1412                    ; constant _eusart_4800_low = _eusart_4800 & 0xff
1413 0000009f = _eusart_4800_low equ 159
1414                    ; line_number = 30
1415                    ; constant _eusart_4800_high = _eusart_4800 >> 8
1416 00000001 = _eusart_4800_high equ 1
1417                    ; line_number = 31
1418                    ; constant _eusart_4800_index = 1
1419 00000001 = _eusart_4800_index equ 1
1420                    ; # 9600 baud:
1421                    ; line_number = 33
1422                    ; constant _eusart_9600 = (_eusart_clock / (9600 * _eusart_factor)) - 1
1423 000000cf = _eusart_9600 equ 207
1424                    ; line_number = 34
1425                    ; constant _eusart_9600_low = _eusart_9600 & 0xff
1426 000000cf = _eusart_9600_low equ 207
1427                    ; line_number = 35
1428                    ; constant _eusart_9600_high = _eusart_9600 >> 8
1429 00000000 = _eusart_9600_high equ 0
1430                    ; line_number = 36
1431                    ; constant _eusart_9600_index = 2
1432 00000002 = _eusart_9600_index equ 2
1433                    ; # 19200 baud:
1434                    ; line_number = 38
1435                    ; constant _eusart_19200 = (_eusart_clock / (19200 * _eusart_factor)) - 1
1436 00000067 = _eusart_19200 equ 103
1437                    ; line_number = 39
1438                    ; constant _eusart_19200_low = _eusart_19200 & 0xff
1439 00000067 = _eusart_19200_low equ 103
1440                    ; line_number = 40
1441                    ; constant _eusart_19200_high = _eusart_19200 >> 8
1442 00000000 = _eusart_19200_high equ 0
1443                    ; line_number = 41
1444                    ; constant _eusart_19200_index = 3
1445 00000003 = _eusart_19200_index equ 3
1446                    ; # 38400 baud:
1447                    ; line_number = 43
1448                    ; constant _eusart_38400 = (_eusart_clock / (38400 * _eusart_factor)) - 1
1449 00000033 = _eusart_38400 equ 51
1450                    ; line_number = 44
1451                    ; constant _eusart_38400_low = _eusart_38400 & 0xff
1452 00000033 = _eusart_38400_low equ 51
1453                    ; line_number = 45
1454                    ; constant _eusart_38400_high = _eusart_38400 >> 8
1455 00000000 = _eusart_38400_high equ 0
1456                    ; line_number = 46
1457                    ; constant _eusart_38400_index = 4
1458 00000004 = _eusart_38400_index equ 4
1459                    ; # 57600 baud:
1460                    ; line_number = 48
1461                    ; constant _eusart_57600 = (_eusart_clock / (57600 * _eusart_factor)) - 1
1462 00000021 = _eusart_57600 equ 33
1463                    ; line_number = 49
1464                    ; constant _eusart_57600_low = _eusart_57600 & 0xff
1465 00000021 = _eusart_57600_low equ 33
1466                    ; line_number = 50
1467                    ; constant _eusart_57600_high = _eusart_57600 >> 8
1468 00000000 = _eusart_57600_high equ 0
1469                    ; line_number = 51
1470                    ; constant _eusart_57600_index = 5
1471 00000005 = _eusart_57600_index equ 5
1472                    ; # 115200 baud:
1473                    ; line_number = 53
1474                    ; constant _eusart_115200 = (_eusart_clock / (115200 * _eusart_factor)) - 1
1475 00000010 = _eusart_115200 equ 16
1476                    ; line_number = 54
1477                    ; constant _eusart_115200_low = _eusart_115200 & 0xff
1478 00000010 = _eusart_115200_low equ 16
1479                    ; line_number = 55
1480                    ; constant _eusart_115200_high = _eusart_115200 >> 8
1481 00000000 = _eusart_115200_high equ 0
1482                    ; line_number = 56
1483                    ; constant _eusart_115200_index = 6
1484 00000006 = _eusart_115200_index equ 6
1485                    ; # 203400 baud:
1486                    ; line_number = 58
1487                    ; constant _eusart_203400 = (_eusart_clock / (203400 * _eusart_factor)) - 1
1488 00000008 = _eusart_203400 equ 8
1489                    ; line_number = 59
1490                    ; constant _eusart_203400_low = _eusart_203400 & 0xff
1491 00000008 = _eusart_203400_low equ 8
1492                    ; line_number = 60
1493                    ; constant _eusart_203400_high = _eusart_203400 >> 8
1494 00000000 = _eusart_203400_high equ 0
1495                    ; line_number = 61
1496                    ; constant _eusart_203400_index = 7
1497 00000007 = _eusart_203400_index equ 7
1498            
1499            
1500                    ; buffer = '_robobricks_pic16f688'
1501                    ; line_number = 12
1502                    ; library _eusart exited
1503            
1504                    ; line_number = 14
1505                    ; global debug_mode bit
1506 0000006f = debug_mode___byte equ globals___0+79
1507 00000000 = debug_mode___bit equ 0
1508                    ; line_number = 15
1509                    ; global in_byte_get bit
1510 0000006f = in_byte_get___byte equ globals___0+79
1511 00000001 = in_byte_get___bit equ 1
1512            
1513                    ; Delaying code generation for procedure  byte_get
1514                    ; Delaying code generation for procedure  byte_put
1515                    ; Delaying code generation for procedure  baud_rate_low
1516                    ; Delaying code generation for procedure  baud_rate_high
1517            
1518                    ; buffer = 'dualmotor1amp'
1519                    ; line_number = 6
1520                    ; library _robobricks_pic16f688 exited
1521            
1522                    ; line_number = 8
1523                    ; package pdip
1524                    ; line_number = 9
1525                    ; pin 1 = power_supply
1526                    ; line_number = 10
1527                    ;  pin 2 = ra5_in, name = debug
1528 00000005 = debug___byte equ _porta
1529 00000005 = debug___bit equ 5
1530                    ; line_number = 11
1531                    ;  pin 3 = ra4_out, name = motor0b, mask = motor0b_mask
1532 00000005 = motor0b___byte equ _porta
1533 00000004 = motor0b___bit equ 4
1534 00000010 = motor0b_mask equ 16
1535                    ; line_number = 12
1536                    ;  pin 4 = ra3_nc
1537                    ; line_number = 13
1538                    ;  pin 5 = rx
1539                    ; line_number = 14
1540                    ;  pin 6 = tx
1541                    ; line_number = 15
1542                    ;  pin 7 = rc3_out, name = enable
1543 00000007 = enable___byte equ _portc
1544 00000003 = enable___bit equ 3
1545                    ; line_number = 16
1546                    ;  pin 8 = rc2_out, name = led3
1547 00000007 = led3___byte equ _portc
1548 00000002 = led3___bit equ 2
1549                    ; line_number = 17
1550                    ;  pin 9 = rc1_out, name = led2
1551 00000007 = led2___byte equ _portc
1552 00000001 = led2___bit equ 1
1553                    ; line_number = 18
1554                    ;  pin 10 = rc0_out, name = led1
1555 00000007 = led1___byte equ _portc
1556 00000000 = led1___bit equ 0
1557                    ; line_number = 19
1558                    ;  pin 11 = ra2_out, name = motor1b, mask = motor1b_mask
1559 00000005 = motor1b___byte equ _porta
1560 00000002 = motor1b___bit equ 2
1561 00000004 = motor1b_mask equ 4
1562                    ; line_number = 20
1563                    ;  pin 12 = ra1_out, name = motor1a, mask = motor1a_mask
1564 00000005 = motor1a___byte equ _porta
1565 00000001 = motor1a___bit equ 1
1566 00000002 = motor1a_mask equ 2
1567                    ; line_number = 21
1568                    ;  pin 13 = ra0_out, name = motor0a, mask = motor0a_mask
1569 00000005 = motor0a___byte equ _porta
1570 00000000 = motor0a___bit equ 0
1571 00000001 = motor0a_mask equ 1
1572                    ; line_number = 22
1573                    ;  pin 14 = ground
1574            
1575                    ; # Define duty cycle and motor on/off masks:
1576                    ; line_number = 25
1577                    ; global actual_speed0 byte
1578 00000023 = actual_speed0 equ globals___0+3
1579                    ; line_number = 26
1580                    ; global actual_speed1 byte
1581 00000024 = actual_speed1 equ globals___0+4
1582                    ; line_number = 27
1583                    ; global motor0_off byte
1584 00000025 = motor0_off equ globals___0+5
1585                    ; line_number = 28
1586                    ; global motor0_on byte
1587 00000026 = motor0_on equ globals___0+6
1588                    ; line_number = 29
1589                    ; global motor1_off byte
1590 00000027 = motor1_off equ globals___0+7
1591                    ; line_number = 30
1592                    ; global motor1_on byte
1593 00000028 = motor1_on equ globals___0+8
1594            
1595                    ; # Ramp variables:
1596                    ; line_number = 33
1597                    ; global desired_speed0 byte
1598 00000029 = desired_speed0 equ globals___0+9
1599                    ; line_number = 34
1600                    ; global desired_speed1 byte
1601 0000002a = desired_speed1 equ globals___0+10
1602                    ; line_number = 35
1603                    ; global desired_direction0 bit
1604 0000006f = desired_direction0___byte equ globals___0+79
1605 00000002 = desired_direction0___bit equ 2
1606                    ; line_number = 36
1607                    ; global desired_direction1 bit
1608 0000006f = desired_direction1___byte equ globals___0+79
1609 00000003 = desired_direction1___bit equ 3
1610                    ; line_number = 37
1611                    ; global ramp0 byte
1612 0000002b = ramp0 equ globals___0+11
1613                    ; line_number = 38
1614                    ; global ramp1 byte
1615 0000002c = ramp1 equ globals___0+12
1616                    ; line_number = 39
1617                    ; global ramp0_delay byte
1618 0000002d = ramp0_delay equ globals___0+13
1619                    ; line_number = 40
1620                    ; global ramp1_delay byte
1621 0000002e = ramp1_delay equ globals___0+14
1622                    ; line_number = 41
1623                    ; global ramp0_offset byte
1624 0000002f = ramp0_offset equ globals___0+15
1625                    ; line_number = 42
1626                    ; global ramp1_offset byte
1627 00000030 = ramp1_offset equ globals___0+16
1628            
1629                    ; # Fail safe variables:
1630                    ; line_number = 45
1631                    ; global fail_safe byte
1632 00000031 = fail_safe equ globals___0+17
1633                    ; line_number = 46
1634                    ; global fail_safe_errors byte
1635 00000032 = fail_safe_errors equ globals___0+18
1636                    ; line_number = 47
1637                    ; global fail_safe_high_counter byte
1638 00000033 = fail_safe_high_counter equ globals___0+19
1639                    ; line_number = 48
1640                    ; global fail_safe_low_counter byte
1641 00000034 = fail_safe_low_counter equ globals___0+20
1642            
1643                    ; # Second command stuff for ramped direction change:
1644                    ; line_number = 51
1645                    ; global second_motor0_command bit
1646 0000006f = second_motor0_command___byte equ globals___0+79
1647 00000004 = second_motor0_command___bit equ 4
1648                    ; line_number = 52
1649                    ; global second_motor1_command bit
1650 0000006f = second_motor1_command___byte equ globals___0+79
1651 00000005 = second_motor1_command___bit equ 5
1652                    ; line_number = 53
1653                    ; global second_desired_speed0 byte
1654 00000035 = second_desired_speed0 equ globals___0+21
1655                    ; line_number = 54
1656                    ; global second_desired_speed1 byte
1657 00000036 = second_desired_speed1 equ globals___0+22
1658                    ; line_number = 55
1659                    ; global second_ramp0_offset byte
1660 00000037 = second_ramp0_offset equ globals___0+23
1661                    ; line_number = 56
1662                    ; global second_ramp1_offset byte
1663 00000038 = second_ramp1_offset equ globals___0+24
1664                    ; line_number = 57
1665                    ; global second_motor0_on byte
1666 00000039 = second_motor0_on equ globals___0+25
1667                    ; line_number = 58
1668                    ; global second_motor1_on byte
1669 0000003a = second_motor1_on equ globals___0+26
1670                    ; line_number = 59
1671                    ; global second_motor0_off byte
1672 0000003b = second_motor0_off equ globals___0+27
1673                    ; line_number = 60
1674                    ; global second_motor1_off byte
1675 0000003c = second_motor1_off equ globals___0+28
1676            
1677                    ; line_number = 62
1678                    ; global motor0 byte
1679 0000003d = motor0 equ globals___0+29
1680                    ; line_number = 63
1681                    ; global motor1 byte
1682 0000003e = motor1 equ globals___0+30
1683            
1684                    ; # Mode (pulsed vs. continuous) bits:
1685                    ; line_number = 66
1686                    ; global motor0_mode bit
1687 0000006f = motor0_mode___byte equ globals___0+79
1688 00000006 = motor0_mode___bit equ 6
1689                    ; line_number = 67
1690                    ; global motor1_mode bit
1691 0000006f = motor1_mode___byte equ globals___0+79
1692 00000007 = motor1_mode___bit equ 7
1693                    ; line_number = 68
1694                    ; global motor0_direction bit
1695 0000006e = motor0_direction___byte equ globals___0+78
1696 00000000 = motor0_direction___bit equ 0
1697                    ; line_number = 69
1698                    ; global motor1_direction bit
1699 0000006e = motor1_direction___byte equ globals___0+78
1700 00000001 = motor1_direction___bit equ 1
1701            
1702                    ; # Shared command registers and option:
1703                    ; line_number = 72
1704                    ; global glitch byte
1705 0000003f = glitch equ globals___0+31
1706                    ; line_number = 73
1707                    ; global id_index byte
1708 00000040 = id_index equ globals___0+32
1709                    ; line_number = 74
1710                    ; global spare byte
1711 00000041 = spare equ globals___0+33
1712            
1713                    ; line_number = 76
1714                    ; global command_previous byte
1715 00000042 = command_previous equ globals___0+34
1716                    ; line_number = 77
1717                    ; global command_last byte
1718 00000043 = command_last equ globals___0+35
1719                    ; line_number = 78
1720                    ; global sent_previous byte
1721 00000044 = sent_previous equ globals___0+36
1722                    ; line_number = 79
1723                    ; global sent_last byte
1724 00000045 = sent_last equ globals___0+37
1725                    ; line_number = 80
1726                    ; global interrupt_pending bit
1727 0000006e = interrupt_pending___byte equ globals___0+78
1728 00000002 = interrupt_pending___bit equ 2
1729            
1730                    ; line_number = 82
1731                    ; procedure main
1732   0000 :   main:
1733                    ; Initialize some registers
1734 0000 019f          clrf    _adcon0
1735 0001 1683          bsf     __rp0___byte, __rp0___bit
1736 0002 0191          clrf    _ansel
1737 0003 3007          movlw   7
1738 0004 1283          bcf     __rp0___byte, __rp0___bit
1739 0005 0099          movwf   _cmcon0
1740 0006 3028          movlw   40
1741 0007 1683          bsf     __rp0___byte, __rp0___bit
1742 0008 0085          movwf   _trisa
1743 0009 3030          movlw   48
1744 000a 0087          movwf   _trisc
1745                    ; arguments_none
1746                    ; line_number = 84
1747                    ;  returns_nothing
1748            
1749                    ; line_number = 86
1750                    ;  local command byte
1751 00000046 = main__command equ globals___0+38
1752                    ; line_number = 87
1753                    ;  local temp byte
1754 00000047 = main__temp equ globals___0+39
1755            
1756                    ; # Switch over to 8MHz:
1757                    ; before procedure statements delay=non-uniform, bit states=(data:00=>01 code:XX=>XX)
1758                    ; line_number = 90
1759                    ;  _osccon := 0x71
1760 000b 3071          movlw   113
1761 000c 008f          movwf   _osccon
1762            
1763                    ; # Warm up the UART:
1764                    ; line_number = 93
1765                    ;  _txsta := 0x24
1766 000d 3024          movlw   36
1767 000e 1283          bcf     __rp0___byte, __rp0___bit
1768 000f 0096          movwf   _txsta
1769                    ; line_number = 94
1770                    ;  _rcsta := 0x90
1771 0010 3090          movlw   144
1772 0011 0097          movwf   _rcsta
1773                    ; line_number = 95
1774                    ;  _baudctl := 0x08
1775 0012 3008          movlw   8
1776 0013 0091          movwf   _baudctl
1777                    ; line_number = 96
1778                    ;  _spbrg := _eusart_2400_low
1779 0014 3040          movlw   64
1780 0015 0093          movwf   _spbrg
1781                    ; line_number = 97
1782                    ;  _spbrgh := _eusart_2400_high
1783 0016 3003          movlw   3
1784 0017 0092          movwf   _spbrgh
1785            
1786                    ; line_number = 99
1787                    ;  call reset()
1788 0018 21ea          call    reset
1789            
1790                    ; # Loop waiting for commands:
1791                    ; line_number = 102
1792                    ;  loop_forever start
1793   0019 :   main__1:
1794                    ; # Get a command byte:
1795                    ; line_number = 104
1796                    ;  command := byte_get()
1797 0019 232e          call    byte_get
1798 001a 00c6          movwf   main__command
1799            
1800                    ; # Dispatch on command:
1801                    ; line_number = 107
1802                    ;  switch command >> 6 start
1803 001b 3000          movlw   main__98>>8
1804 001c 008a          movwf   __pclath
1805 0000004c = main__99 equ globals___0+44
1806 001d 0e46          swapf   main__command,w
1807 001e 00cc          movwf   main__99
1808 001f 0ccc          rrf     main__99,f
1809 0020 0c4c          rrf     main__99,w
1810 0021 3903          andlw   3
1811 0022 3e24          addlw   main__98
1812 0023 0082          movwf   __pcl
1813                    ; page_group 4
1814   0024 :   main__98:
1815 0024 2828          goto    main__94
1816 0025 2841          goto    main__95
1817 0026 2858          goto    main__96
1818 0027 2921          goto    main__97
1819                    ; line_number = 108
1820                    ; case 0
1821   0028 :   main__94:
1822                    ; # Set Quick (Command = 00hh hhdm):
1823                    ; line_number = 110
1824                    ;  temp := ((command << 2) & 0xf0) | (command >> 2)
1825 0000004b = main__2 equ globals___0+43
1826 0000004c = main__3 equ globals___0+44
1827 0028 0d46          rlf     main__command,w
1828 0029 00cc          movwf   main__3
1829 002a 0d4c          rlf     main__3,w
1830 002b 39f0          andlw   240
1831 002c 00cb          movwf   main__2
1832 0000004c = main__4 equ globals___0+44
1833 002d 0c46          rrf     main__command,w
1834 002e 00cc          movwf   main__4
1835 002f 0c4c          rrf     main__4,w
1836 0030 393f          andlw   63
1837 0031 044b          iorwf   main__2,w
1838 0032 00c7          movwf   main__temp
1839                    ; line_number = 111
1840                    ;  if command@0 start
1841 00000046 = main__select__7___byte equ main__command
1842 00000000 = main__select__7___bit equ 0
1843                    ; # Motor :
1844                    ; line_number = 113
1845                    ;  desired_speed1 := temp
1846 0033 0847          movf    main__temp,w
1847                    ; line_number = 116
1848                    ; desired_speed0 := temp
1849                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1850                    ; CASE: true_code_size > 1 && false_code_size > 1
1851                    ; true_code_size=4 false_code_size=4
1852 0034 1c46          btfss   main__select__7___byte, main__select__7___bit
1853 0035 283b          goto    main__8
1854 0036 00aa          movwf   desired_speed1
1855                    ; line_number = 114
1856                    ;  desired_direction1 := command@1
1857 0037 11ef          bcf     desired_direction1___byte, desired_direction1___bit
1858 00000046 = main__select__6___byte equ main__command
1859 00000001 = main__select__6___bit equ 1
1860                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1861                    ; CASE: True.size=1 False.size=0
1862 0038 18c6          btfsc   main__select__6___byte, main__select__6___bit
1863 0039 15ef          bsf     desired_direction1___byte, desired_direction1___bit
1864                    ; Recombine size1 = 0 || size2 = 0
1865                    ; code.delay=4294967295 back_code.delay=4294967295
1866                    ; <=bit_code_emit@symbol; sym=main__select__6 (data:00=>00 code:XX=>XX)
1867 003a 283f          goto    main__9
1868   003b :   main__8:
1869 003b 00a9          movwf   desired_speed0
1870                    ; line_number = 117
1871                    ;  desired_direction0 := command@1
1872 003c 116f          bcf     desired_direction0___byte, desired_direction0___bit
1873 00000046 = main__select__5___byte equ main__command
1874 00000001 = main__select__5___bit equ 1
1875                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1876                    ; CASE: True.size=1 False.size=0
1877 003d 18c6          btfsc   main__select__5___byte, main__select__5___bit
1878 003e 156f          bsf     desired_direction0___byte, desired_direction0___bit
1879                    ; Recombine size1 = 0 || size2 = 0
1880                    ; code.delay=4294967295 back_code.delay=4294967295
1881                    ; <=bit_code_emit@symbol; sym=main__select__5 (data:00=>00 code:XX=>XX)
1882   003f :   main__9:
1883                    ; code.delay=4294967295 back_code.delay=4294967295
1884                    ; <=bit_code_emit@symbol; sym=main__select__7 (data:00=>00 code:XX=>XX)
1885                    ; line_number = 111
1886                    ;  if command@0 done
1887                    ; line_number = 118
1888                    ; call set_up()
1889 003f 2169          call    set_up
1890 0040 2966          goto    main__100
1891                    ; line_number = 119
1892                    ; case 1
1893   0041 :   main__95:
1894                    ; # Set Low (Command = 01ll lldm):
1895                    ; line_number = 121
1896                    ;  temp := (command >> 2) & 0xf
1897 0000004c = main__10 equ globals___0+44
1898 0041 0c46          rrf     main__command,w
1899 0042 00cc          movwf   main__10
1900 0043 0c4c          rrf     main__10,w
1901 0044 390f          andlw   15
1902 0045 00c7          movwf   main__temp
1903                    ; line_number = 122
1904                    ;  if command@0 start
1905 00000046 = main__select__13___byte equ main__command
1906 00000000 = main__select__13___bit equ 0
1907                    ; # Motor 1:
1908                    ; line_number = 124
1909                    ;  desired_speed1 := desired_speed1 & 0xf0 | temp
1910 0046 30f0          movlw   240
1911                    ; # Motor 0:
1912                    ; line_number = 128
1913                    ;  desired_speed0 := desired_speed0 & 0xf0 | temp
1914                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1915                    ; CASE: true_code_size > 1 && false_code_size > 1
1916                    ; true_code_size=6 false_code_size=6
1917 0047 1c46          btfss   main__select__13___byte, main__select__13___bit
1918 0048 2850          goto    main__14
1919 0049 052a          andwf   desired_speed1,w
1920 004a 0447          iorwf   main__temp,w
1921 004b 00aa          movwf   desired_speed1
1922                    ; line_number = 125
1923                    ;  desired_direction1 := command@1
1924 004c 11ef          bcf     desired_direction1___byte, desired_direction1___bit
1925 00000046 = main__select__12___byte equ main__command
1926 00000001 = main__select__12___bit equ 1
1927                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1928                    ; CASE: True.size=1 False.size=0
1929 004d 18c6          btfsc   main__select__12___byte, main__select__12___bit
1930 004e 15ef          bsf     desired_direction1___byte, desired_direction1___bit
1931                    ; Recombine size1 = 0 || size2 = 0
1932                    ; code.delay=4294967295 back_code.delay=4294967295
1933                    ; <=bit_code_emit@symbol; sym=main__select__12 (data:00=>00 code:XX=>XX)
1934 004f 2856          goto    main__15
1935   0050 :   main__14:
1936 0050 0529          andwf   desired_speed0,w
1937 0051 0447          iorwf   main__temp,w
1938 0052 00a9          movwf   desired_speed0
1939                    ; line_number = 129
1940                    ;  desired_direction0 := command@1
1941 0053 116f          bcf     desired_direction0___byte, desired_direction0___bit
1942 00000046 = main__select__11___byte equ main__command
1943 00000001 = main__select__11___bit equ 1
1944                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
1945                    ; CASE: True.size=1 False.size=0
1946 0054 18c6          btfsc   main__select__11___byte, main__select__11___bit
1947 0055 156f          bsf     desired_direction0___byte, desired_direction0___bit
1948                    ; Recombine size1 = 0 || size2 = 0
1949                    ; code.delay=4294967295 back_code.delay=4294967295
1950                    ; <=bit_code_emit@symbol; sym=main__select__11 (data:00=>00 code:XX=>XX)
1951   0056 :   main__15:
1952                    ; code.delay=4294967295 back_code.delay=4294967295
1953                    ; <=bit_code_emit@symbol; sym=main__select__13 (data:00=>00 code:XX=>XX)
1954                    ; line_number = 122
1955                    ;  if command@0 done
1956                    ; line_number = 130
1957                    ; call set_up()
1958 0056 2169          call    set_up
1959 0057 2966          goto    main__100
1960                    ; line_number = 131
1961                    ; case 2
1962   0058 :   main__96:
1963                    ; # Command = 10xx xxxx:
1964                    ; line_number = 133
1965                    ;  switch (command >> 3) & 7 start
1966 0058 3000          movlw   main__76>>8
1967 0059 008a          movwf   __pclath
1968 0000004c = main__77 equ globals___0+44
1969 005a 0c46          rrf     main__command,w
1970 005b 00cc          movwf   main__77
1971 005c 0ccc          rrf     main__77,f
1972 005d 0c4c          rrf     main__77,w
1973 005e 3907          andlw   7
1974 005f 3e61          addlw   main__76
1975 0060 0082          movwf   __pcl
1976                    ; page_group 8
1977   0061 :   main__76:
1978 0061 2869          goto    main__69
1979 0062 289c          goto    main__70
1980 0063 28b3          goto    main__71
1981 0064 28b9          goto    main__72
1982 0065 28ee          goto    main__73
1983 0066 2918          goto    main__74
1984 0067 2920          goto    main__75
1985 0068 2920          goto    main__75
1986                    ; line_number = 134
1987                    ; case 0
1988   0069 :   main__69:
1989                    ; # Command = 1000 0xxx:
1990                    ; line_number = 136
1991                    ;  switch command & 7 start
1992 0069 3000          movlw   main__26>>8
1993 006a 008a          movwf   __pclath
1994 006b 3007          movlw   7
1995 006c 0546          andwf   main__command,w
1996 006d 3e6f          addlw   main__26
1997 006e 0082          movwf   __pcl
1998                    ; page_group 8
1999   006f :   main__26:
2000 006f 2877          goto    main__22
2001 0070 2877          goto    main__22
2002 0071 2880          goto    main__23
2003 0072 2887          goto    main__24
2004 0073 288c          goto    main__25
2005 0074 288c          goto    main__25
2006 0075 288c          goto    main__25
2007 0076 288c          goto    main__25
2008                    ; line_number = 137
2009                    ; case 0, 1
2010   0077 :   main__22:
2011                    ; # Set Ramp (Command = 1000 000m):
2012                    ; line_number = 139
2013                    ;  temp := byte_get()
2014 0077 232e          call    byte_get
2015 0078 00c7          movwf   main__temp
2016                    ; line_number = 140
2017                    ;  if command@0 start
2018 00000046 = main__select__16___byte equ main__command
2019 00000000 = main__select__16___bit equ 0
2020                    ; line_number = 141
2021                    ; ramp1 := temp
2022 0079 0847          movf    main__temp,w
2023                    ; line_number = 143
2024                    ; ramp0 := temp
2025                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2026                    ; CASE: true_size=1 && false_size=1
2027                    ; SUBCASE: Double test; true, then false
2028 007a 1846          btfsc   main__select__16___byte, main__select__16___bit
2029 007b 00ac          movwf   ramp1
2030 007c 1c46          btfss   main__select__16___byte, main__select__16___bit
2031 007d 00ab          movwf   ramp0
2032                    ; code.delay=4294967295 back_code.delay=4294967295
2033                    ; <=bit_code_emit@symbol; sym=main__select__16 (data:00=>00 code:XX=>XX)
2034                    ; line_number = 140
2035                    ;  if command@0 done
2036                    ; line_number = 144
2037                    ; call set_up()
2038 007e 2169          call    set_up
2039 007f 289b          goto    main__27
2040                    ; line_number = 145
2041                    ; case 2
2042   0080 :   main__23:
2043                    ; # Set Failsafe (Command = 1000 0010):
2044                    ; line_number = 147
2045                    ;  fail_safe := byte_get()
2046 0080 232e          call    byte_get
2047 0081 00b1          movwf   fail_safe
2048                    ; line_number = 148
2049                    ;  fail_safe_high_counter := fail_safe
2050 0082 0831          movf    fail_safe,w
2051 0083 00b3          movwf   fail_safe_high_counter
2052                    ; line_number = 149
2053                    ;  fail_safe_low_counter := 0
2054 0084 3000          movlw   0
2055 0085 00b4          movwf   fail_safe_low_counter
2056 0086 289b          goto    main__27
2057                    ; line_number = 150
2058                    ; case 3
2059   0087 :   main__24:
2060                    ; # Reset Failsafe (Command = 1000 0011):
2061                    ; line_number = 152
2062                    ;  fail_safe_high_counter := fail_safe
2063 0087 0831          movf    fail_safe,w
2064 0088 00b3          movwf   fail_safe_high_counter
2065                    ; line_number = 153
2066                    ;  fail_safe_low_counter := 0
2067 0089 3000          movlw   0
2068 008a 00b4          movwf   fail_safe_low_counter
2069 008b 289b          goto    main__27
2070                    ; line_number = 154
2071                    ; case 4, 5, 6, 7
2072   008c :   main__25:
2073                    ; # Set Speed (Command = 1000 01dm):
2074                    ; line_number = 156
2075                    ;  temp := byte_get()
2076 008c 232e          call    byte_get
2077 008d 00c7          movwf   main__temp
2078                    ; line_number = 157
2079                    ;  if command@0 start
2080 00000046 = main__select__19___byte equ main__command
2081 00000000 = main__select__19___bit equ 0
2082                    ; # Motor 1:
2083                    ; line_number = 159
2084                    ;  desired_speed1 := temp
2085 008e 0847          movf    main__temp,w
2086                    ; # Motor 0:
2087                    ; line_number = 163
2088                    ;  desired_speed0 := temp
2089                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2090                    ; CASE: true_code_size > 1 && false_code_size > 1
2091                    ; true_code_size=4 false_code_size=4
2092 008f 1c46          btfss   main__select__19___byte, main__select__19___bit
2093 0090 2896          goto    main__20
2094 0091 00aa          movwf   desired_speed1
2095                    ; line_number = 160
2096                    ;  desired_direction1 := command@1
2097 0092 11ef          bcf     desired_direction1___byte, desired_direction1___bit
2098 00000046 = main__select__18___byte equ main__command
2099 00000001 = main__select__18___bit equ 1
2100                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2101                    ; CASE: True.size=1 False.size=0
2102 0093 18c6          btfsc   main__select__18___byte, main__select__18___bit
2103 0094 15ef          bsf     desired_direction1___byte, desired_direction1___bit
2104                    ; Recombine size1 = 0 || size2 = 0
2105                    ; code.delay=4294967295 back_code.delay=4294967295
2106                    ; <=bit_code_emit@symbol; sym=main__select__18 (data:00=>00 code:XX=>XX)
2107 0095 289a          goto    main__21
2108   0096 :   main__20:
2109 0096 00a9          movwf   desired_speed0
2110                    ; line_number = 164
2111                    ;  desired_direction0 := command@1
2112 0097 116f          bcf     desired_direction0___byte, desired_direction0___bit
2113 00000046 = main__select__17___byte equ main__command
2114 00000001 = main__select__17___bit equ 1
2115                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2116                    ; CASE: True.size=1 False.size=0
2117 0098 18c6          btfsc   main__select__17___byte, main__select__17___bit
2118 0099 156f          bsf     desired_direction0___byte, desired_direction0___bit
2119                    ; Recombine size1 = 0 || size2 = 0
2120                    ; code.delay=4294967295 back_code.delay=4294967295
2121                    ; <=bit_code_emit@symbol; sym=main__select__17 (data:00=>00 code:XX=>XX)
2122   009a :   main__21:
2123                    ; code.delay=4294967295 back_code.delay=4294967295
2124                    ; <=bit_code_emit@symbol; sym=main__select__19 (data:00=>00 code:XX=>XX)
2125                    ; line_number = 157
2126                    ;  if command@0 done
2127                    ; line_number = 165
2128                    ; call set_up()
2129 009a 2169          call    set_up
2130   009b :   main__27:
2131                    ; switch end:(data:00=>00 code:XX=>XX)
2132                    ; line_number = 136
2133                    ;  switch command & 7 done
2134 009b 2920          goto    main__78
2135                    ; line_number = 166
2136                    ; case 1
2137   009c :   main__70:
2138                    ; # Command = 1000 1xxx:
2139                    ; line_number = 168
2140                    ;  if command@2 start
2141 00000046 = main__select__38___byte equ main__command
2142 00000002 = main__select__38___bit equ 2
2143                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2144                    ; CASE: true_code_size > 1 && false_code_size > 1
2145                    ; true_code_size=9 false_code_size=9
2146 009c 1d46          btfss   main__select__38___byte, main__select__38___bit
2147 009d 28a8          goto    main__39
2148                    ; # Set direction (Command = 1000 11dm):
2149                    ; line_number = 170
2150                    ;  if command@0 start
2151 00000046 = main__select__35___byte equ main__command
2152 00000000 = main__select__35___bit equ 0
2153                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2154                    ; CASE: true_code_size > 1 && false_code_size > 1
2155                    ; true_code_size=3 false_code_size=3
2156 009e 1c46          btfss   main__select__35___byte, main__select__35___bit
2157 009f 28a4          goto    main__36
2158                    ; # Motor 1:
2159                    ; line_number = 172
2160                    ;  desired_direction1 := command@1
2161 00a0 11ef          bcf     desired_direction1___byte, desired_direction1___bit
2162 00000046 = main__select__34___byte equ main__command
2163 00000001 = main__select__34___bit equ 1
2164                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2165                    ; CASE: True.size=1 False.size=0
2166 00a1 18c6          btfsc   main__select__34___byte, main__select__34___bit
2167 00a2 15ef          bsf     desired_direction1___byte, desired_direction1___bit
2168                    ; Recombine size1 = 0 || size2 = 0
2169                    ; code.delay=4294967295 back_code.delay=4294967295
2170                    ; <=bit_code_emit@symbol; sym=main__select__34 (data:00=>00 code:XX=>XX)
2171 00a3 28a7          goto    main__37
2172   00a4 :   main__36:
2173                    ; # Motor 0:
2174                    ; line_number = 175
2175                    ;  desired_direction0 := command@1
2176 00a4 116f          bcf     desired_direction0___byte, desired_direction0___bit
2177 00000046 = main__select__33___byte equ main__command
2178 00000001 = main__select__33___bit equ 1
2179                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2180                    ; CASE: True.size=1 False.size=0
2181 00a5 18c6          btfsc   main__select__33___byte, main__select__33___bit
2182 00a6 156f          bsf     desired_direction0___byte, desired_direction0___bit
2183                    ; Recombine size1 = 0 || size2 = 0
2184                    ; code.delay=4294967295 back_code.delay=4294967295
2185                    ; <=bit_code_emit@symbol; sym=main__select__33 (data:00=>00 code:XX=>XX)
2186   00a7 :   main__37:
2187                    ; code.delay=4294967295 back_code.delay=4294967295
2188                    ; <=bit_code_emit@symbol; sym=main__select__35 (data:00=>00 code:XX=>XX)
2189                    ; line_number = 170
2190                    ;  if command@0 done
2191 00a7 28b1          goto    main__40
2192   00a8 :   main__39:
2193                    ; # Set mode (Command = 1000 10xm):
2194                    ; line_number = 178
2195                    ;  if command@0 start
2196 00000046 = main__select__30___byte equ main__command
2197 00000000 = main__select__30___bit equ 0
2198                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2199                    ; CASE: true_code_size > 1 && false_code_size > 1
2200                    ; true_code_size=3 false_code_size=3
2201 00a8 1c46          btfss   main__select__30___byte, main__select__30___bit
2202 00a9 28ae          goto    main__31
2203                    ; # Motor 1:
2204                    ; line_number = 180
2205                    ;  motor1_mode := command@1
2206 00aa 13ef          bcf     motor1_mode___byte, motor1_mode___bit
2207 00000046 = main__select__29___byte equ main__command
2208 00000001 = main__select__29___bit equ 1
2209                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2210                    ; CASE: True.size=1 False.size=0
2211 00ab 18c6          btfsc   main__select__29___byte, main__select__29___bit
2212 00ac 17ef          bsf     motor1_mode___byte, motor1_mode___bit
2213                    ; Recombine size1 = 0 || size2 = 0
2214                    ; code.delay=4294967295 back_code.delay=4294967295
2215                    ; <=bit_code_emit@symbol; sym=main__select__29 (data:00=>00 code:XX=>XX)
2216 00ad 28b1          goto    main__32
2217   00ae :   main__31:
2218                    ; # Motor 0:
2219                    ; line_number = 183
2220                    ;  motor0_mode := command@1
2221 00ae 136f          bcf     motor0_mode___byte, motor0_mode___bit
2222 00000046 = main__select__28___byte equ main__command
2223 00000001 = main__select__28___bit equ 1
2224                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2225                    ; CASE: True.size=1 False.size=0
2226 00af 18c6          btfsc   main__select__28___byte, main__select__28___bit
2227 00b0 176f          bsf     motor0_mode___byte, motor0_mode___bit
2228                    ; Recombine size1 = 0 || size2 = 0
2229                    ; code.delay=4294967295 back_code.delay=4294967295
2230                    ; <=bit_code_emit@symbol; sym=main__select__28 (data:00=>00 code:XX=>XX)
2231   00b1 :   main__32:
2232                    ; code.delay=4294967295 back_code.delay=4294967295
2233                    ; <=bit_code_emit@symbol; sym=main__select__30 (data:00=>00 code:XX=>XX)
2234                    ; line_number = 178
2235                    ;  if command@0 done
2236   00b1 :   main__40:
2237                    ; code.delay=4294967295 back_code.delay=4294967295
2238                    ; <=bit_code_emit@symbol; sym=main__select__38 (data:00=>00 code:XX=>XX)
2239                    ; line_number = 168
2240                    ;  if command@2 done
2241                    ; line_number = 184
2242                    ; call set_up()
2243 00b1 2169          call    set_up
2244 00b2 2920          goto    main__78
2245                    ; line_number = 185
2246                    ; case 2
2247   00b3 :   main__71:
2248                    ; # Set Prescaler (Command = 1001 0ppp):
2249                    ; line_number = 187
2250                    ;  _option_reg := command & 7
2251 00b3 3007          movlw   7
2252 00b4 0546          andwf   main__command,w
2253 00b5 1683          bsf     __rp0___byte, __rp0___bit
2254 00b6 0081          movwf   _option_reg
2255                    ; line_number = 188
2256                    ;  _rapu := 1
2257 00b7 1781          bsf     _rapu___byte, _rapu___bit
2258 00b8 2920          goto    main__78
2259                    ; line_number = 189
2260                    ; case 3
2261   00b9 :   main__72:
2262                    ; # Command = 1001 1xxx:
2263                    ; line_number = 191
2264                    ;  switch command & 7 start
2265 00b9 3000          movlw   main__55>>8
2266 00ba 008a          movwf   __pclath
2267 00bb 3007          movlw   7
2268 00bc 0546          andwf   main__command,w
2269 00bd 3ebf          addlw   main__55
2270 00be 0082          movwf   __pcl
2271                    ; page_group 8
2272   00bf :   main__55:
2273 00bf 28c7          goto    main__50
2274 00c0 28ca          goto    main__51
2275 00c1 28d0          goto    main__52
2276 00c2 28d0          goto    main__52
2277 00c3 28d6          goto    main__53
2278 00c4 28d6          goto    main__53
2279 00c5 28e6          goto    main__54
2280 00c6 28e6          goto    main__54
2281                    ; line_number = 192
2282                    ; case 0
2283   00c7 :   main__50:
2284                    ; # Read Failsafe (Command = 1001 1000):
2285                    ; line_number = 194
2286                    ;  call byte_put(fail_safe)
2287 00c7 0831          movf    fail_safe,w
2288 00c8 233a          call    byte_put
2289 00c9 28ed          goto    main__56
2290                    ; line_number = 195
2291                    ; case 1
2292   00ca :   main__51:
2293                    ; This case body wants this bit set
2294 00ca 1683          bsf     __rp0___byte, __rp0___bit
2295                    ; # Read Prescaler (Command = 1001 1001):
2296                    ; line_number = 197
2297                    ;  call byte_put(_option_reg & 7)
2298 00cb 3007          movlw   7
2299 00cc 0501          andwf   _option_reg,w
2300 00cd 1283          bcf     __rp0___byte, __rp0___bit
2301 00ce 233a          call    byte_put
2302 00cf 28ed          goto    main__56
2303                    ; line_number = 198
2304                    ; case 2, 3
2305   00d0 :   main__52:
2306                    ; # Read Speed (Command = 1001 101m):
2307                    ; line_number = 200
2308                    ;  if command@0 start
2309 00000046 = main__select__41___byte equ main__command
2310 00000000 = main__select__41___bit equ 0
2311                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2312                    ; CASE: true_size=1 && false_size=1
2313                    ; SUBCASE: Double test; true, then false
2314 00d0 1846          btfsc   main__select__41___byte, main__select__41___bit
2315                    ; line_number = 201
2316                    ; call byte_put(actual_speed1)
2317 00d1 0824          movf    actual_speed1,w
2318 00d2 1c46          btfss   main__select__41___byte, main__select__41___bit
2319                    ; line_number = 203
2320                    ; call byte_put(actual_speed0)
2321 00d3 0823          movf    actual_speed0,w
2322                    ; code.delay=4294967295 back_code.delay=4294967295
2323 00d4 233a          call    byte_put
2324                    ; <=bit_code_emit@symbol; sym=main__select__41 (data:00=>00 code:XX=>XX)
2325                    ; line_number = 200
2326                    ;  if command@0 done
2327 00d5 28ed          goto    main__56
2328                    ; line_number = 204
2329                    ; case 4, 5
2330   00d6 :   main__53:
2331                    ; # Read Mode/Direction (Command = 1001 110m):
2332                    ; line_number = 206
2333                    ;  temp := 0
2334 00d6 3000          movlw   0
2335 00d7 00c7          movwf   main__temp
2336                    ; line_number = 207
2337                    ;  if command@0 start
2338 00000046 = main__select__46___byte equ main__command
2339 00000000 = main__select__46___bit equ 0
2340                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2341                    ; CASE: true_code_size > 1 && false_code_size > 1
2342                    ; true_code_size=4 false_code_size=4
2343 00d8 1c46          btfss   main__select__46___byte, main__select__46___bit
2344 00d9 28df          goto    main__47
2345                    ; # Motor 1:
2346                    ; line_number = 209
2347                    ;  if motor1_direction start
2348                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2349                    ; CASE: True.size=1 False.size=0
2350 00da 18ee          btfsc   motor1_direction___byte, motor1_direction___bit
2351                    ; line_number = 210
2352                    ; temp@1 := 1
2353 00000047 = main__select__44___byte equ main__temp
2354 00000001 = main__select__44___bit equ 1
2355 00db 14c7          bsf     main__select__44___byte, main__select__44___bit
2356                    ; Recombine size1 = 0 || size2 = 0
2357                    ; code.delay=4294967295 back_code.delay=4294967295
2358                    ; <=bit_code_emit@symbol; sym=motor1_direction (data:00=>00 code:XX=>XX)
2359                    ; line_number = 209
2360                    ;  if motor1_direction done
2361                    ; line_number = 211
2362                    ; if motor1_mode start
2363                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2364                    ; CASE: True.size=1 False.size=0
2365 00dc 1bef          btfsc   motor1_mode___byte, motor1_mode___bit
2366                    ; line_number = 212
2367                    ; temp@0 := 1
2368 00000047 = main__select__45___byte equ main__temp
2369 00000000 = main__select__45___bit equ 0
2370 00dd 1447          bsf     main__select__45___byte, main__select__45___bit
2371                    ; Recombine size1 = 0 || size2 = 0
2372                    ; code.delay=4294967295 back_code.delay=4294967295
2373                    ; <=bit_code_emit@symbol; sym=motor1_mode (data:00=>00 code:XX=>XX)
2374                    ; line_number = 211
2375                    ; if motor1_mode done
2376 00de 28e3          goto    main__48
2377   00df :   main__47:
2378                    ; # Motor 0:
2379                    ; line_number = 215
2380                    ;  if motor0_direction start
2381                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2382                    ; CASE: True.size=1 False.size=0
2383 00df 186e          btfsc   motor0_direction___byte, motor0_direction___bit
2384                    ; line_number = 216
2385                    ; temp@1 := 1
2386 00000047 = main__select__42___byte equ main__temp
2387 00000001 = main__select__42___bit equ 1
2388 00e0 14c7          bsf     main__select__42___byte, main__select__42___bit
2389                    ; Recombine size1 = 0 || size2 = 0
2390                    ; code.delay=4294967295 back_code.delay=4294967295
2391                    ; <=bit_code_emit@symbol; sym=motor0_direction (data:00=>00 code:XX=>XX)
2392                    ; line_number = 215
2393                    ;  if motor0_direction done
2394                    ; line_number = 217
2395                    ; if motor0_mode start
2396                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2397                    ; CASE: True.size=1 False.size=0
2398 00e1 1b6f          btfsc   motor0_mode___byte, motor0_mode___bit
2399                    ; line_number = 218
2400                    ; temp@0 := 1
2401 00000047 = main__select__43___byte equ main__temp
2402 00000000 = main__select__43___bit equ 0
2403 00e2 1447          bsf     main__select__43___byte, main__select__43___bit
2404                    ; Recombine size1 = 0 || size2 = 0
2405                    ; code.delay=4294967295 back_code.delay=4294967295
2406                    ; <=bit_code_emit@symbol; sym=motor0_mode (data:00=>00 code:XX=>XX)
2407                    ; line_number = 217
2408                    ; if motor0_mode done
2409   00e3 :   main__48:
2410                    ; code.delay=4294967295 back_code.delay=4294967295
2411                    ; <=bit_code_emit@symbol; sym=main__select__46 (data:00=>00 code:XX=>XX)
2412                    ; line_number = 207
2413                    ;  if command@0 done
2414                    ; line_number = 219
2415                    ; call byte_put(temp)
2416 00e3 0847          movf    main__temp,w
2417 00e4 233a          call    byte_put
2418 00e5 28ed          goto    main__56
2419                    ; line_number = 220
2420                    ; case 6, 7
2421   00e6 :   main__54:
2422                    ; # Read Ramp (Command = 1001 101m):
2423                    ; line_number = 222
2424                    ;  if command@0 start
2425 00000046 = main__select__49___byte equ main__command
2426 00000000 = main__select__49___bit equ 0
2427                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2428                    ; CASE: true_size=1 && false_size=1
2429                    ; SUBCASE: Double test; true, then false
2430 00e6 1846          btfsc   main__select__49___byte, main__select__49___bit
2431                    ; line_number = 223
2432                    ; temp := ramp1
2433 00e7 082c          movf    ramp1,w
2434 00e8 1c46          btfss   main__select__49___byte, main__select__49___bit
2435                    ; line_number = 225
2436                    ; temp := ramp0
2437 00e9 082b          movf    ramp0,w
2438                    ; code.delay=4294967295 back_code.delay=4294967295
2439 00ea 00c7          movwf   main__temp
2440                    ; <=bit_code_emit@symbol; sym=main__select__49 (data:00=>00 code:XX=>XX)
2441                    ; line_number = 222
2442                    ;  if command@0 done
2443                    ; line_number = 226
2444                    ; call byte_put(temp)
2445 00eb 0847          movf    main__temp,w
2446 00ec 233a          call    byte_put
2447   00ed :   main__56:
2448                    ; switch end:(data:00=>00 code:XX=>XX)
2449                    ; line_number = 191
2450                    ;  switch command & 7 done
2451 00ed 2920          goto    main__78
2452                    ; line_number = 227
2453                    ; case 4
2454   00ee :   main__73:
2455                    ; # Command = 0110 0xxx:
2456                    ; line_number = 229
2457                    ;  switch command & 7 start
2458 00ee 3000          movlw   main__66>>8
2459 00ef 008a          movwf   __pclath
2460 00f0 3007          movlw   7
2461 00f1 0546          andwf   main__command,w
2462 00f2 3ef4          addlw   main__66
2463 00f3 0082          movwf   __pcl
2464                    ; page_group 8
2465   00f4 :   main__66:
2466 00f4 28fc          goto    main__58
2467 00f5 2901          goto    main__59
2468 00f6 2904          goto    main__60
2469 00f7 2907          goto    main__61
2470 00f8 290a          goto    main__62
2471 00f9 290d          goto    main__63
2472 00fa 2910          goto    main__64
2473 00fb 2917          goto    main__65
2474                    ; line_number = 230
2475                    ; case 0
2476   00fc :   main__58:
2477                    ; # Read Failsafe Errors (Command = 1010 0000):
2478                    ; line_number = 232
2479                    ;  call byte_put(fail_safe_errors)
2480 00fc 0832          movf    fail_safe_errors,w
2481 00fd 233a          call    byte_put
2482                    ; line_number = 233
2483                    ;  fail_safe_errors := 0
2484 00fe 3000          movlw   0
2485 00ff 00b2          movwf   fail_safe_errors
2486 0100 2917          goto    main__67
2487                    ; line_number = 234
2488                    ; case 1
2489   0101 :   main__59:
2490                    ; # Read Failsafe Counter (Command = 1010 0001):
2491                    ; line_number = 236
2492                    ;  call byte_put(fail_safe_high_counter)
2493 0101 0833          movf    fail_safe_high_counter,w
2494 0102 233a          call    byte_put
2495 0103 2917          goto    main__67
2496                    ; line_number = 237
2497                    ; case 2
2498   0104 :   main__60:
2499                    ; # Read Actual Speed 0(Command = 1010 0010):
2500                    ; line_number = 239
2501                    ;  call byte_put(actual_speed0)
2502 0104 0823          movf    actual_speed0,w
2503 0105 233a          call    byte_put
2504 0106 2917          goto    main__67
2505                    ; line_number = 240
2506                    ; case 3
2507   0107 :   main__61:
2508                    ; # Read Actual Speed 1 (Command = 1010 0011):
2509                    ; line_number = 242
2510                    ;  call byte_put(actual_speed1)
2511 0107 0824          movf    actual_speed1,w
2512 0108 233a          call    byte_put
2513 0109 2917          goto    main__67
2514                    ; line_number = 243
2515                    ; case 4
2516   010a :   main__62:
2517                    ; # Set Motors off (Command = 1010 0100):
2518                    ; line_number = 245
2519                    ;  enable := 0
2520 010a 1187          bcf     enable___byte, enable___bit
2521                    ; line_number = 246
2522                    ;  led2 := 0
2523 010b 1087          bcf     led2___byte, led2___bit
2524 010c 2917          goto    main__67
2525                    ; line_number = 247
2526                    ; case 5
2527   010d :   main__63:
2528                    ; # Set Motors on (Command = 1010 0101):
2529                    ; line_number = 249
2530                    ;  enable := 1
2531 010d 1587          bsf     enable___byte, enable___bit
2532                    ; line_number = 250
2533                    ;  led2 := 1
2534 010e 1487          bsf     led2___byte, led2___bit
2535 010f 2917          goto    main__67
2536                    ; line_number = 251
2537                    ; case 6
2538   0110 :   main__64:
2539                    ; # Read Motor enable (Command = 1010 0110):
2540                    ; line_number = 253
2541                    ;  temp := 0
2542 0110 3000          movlw   0
2543 0111 00c7          movwf   main__temp
2544                    ; line_number = 254
2545                    ;  if enable start
2546                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2547                    ; CASE: True.size=1 False.size=0
2548 0112 1987          btfsc   enable___byte, enable___bit
2549                    ; line_number = 255
2550                    ; temp@0 := 1
2551 00000047 = main__select__57___byte equ main__temp
2552 00000000 = main__select__57___bit equ 0
2553 0113 1447          bsf     main__select__57___byte, main__select__57___bit
2554                    ; Recombine size1 = 0 || size2 = 0
2555                    ; code.delay=4294967295 back_code.delay=4294967295
2556                    ; <=bit_code_emit@symbol; sym=enable (data:00=>00 code:XX=>XX)
2557                    ; line_number = 254
2558                    ;  if enable done
2559                    ; line_number = 256
2560                    ; call byte_put(temp)
2561 0114 0847          movf    main__temp,w
2562 0115 233a          call    byte_put
2563 0116 2917          goto    main__67
2564                    ; line_number = 257
2565                    ; case 7
2566   0117 :   main__65:
2567                    ; # Unused (Command = 1010 0111):
2568                    ; line_number = 259
2569                    ;  do_nothing
2570   0117 :   main__67:
2571                    ; switch end:(data:00=>?? code:XX=>XX)
2572                    ; line_number = 229
2573                    ;  switch command & 7 done
2574 0117 2920          goto    main__78
2575                    ; line_number = 260
2576                    ; case 5
2577   0118 :   main__74:
2578                    ; line_number = 261
2579                    ; if command & 3 = 0 start
2580                    ; Left minus Right
2581 0118 3003          movlw   3
2582 0119 0546          andwf   main__command,w
2583                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2584                    ; CASE: true_code.size = 0 && false_code.size > 1
2585                    ; bit_code_emit_helper1: body_code.size=3 true_test=true body_code.delay=0 (non-uniform delay)
2586 011a 1d03          btfss   __z___byte, __z___bit
2587 011b 291f          goto    main__68
2588                    ; # FIXME: Code generator chokes on single call instruction
2589                    ; # in the then clause.  Add 'ramp0 := 0' to work around!!!
2590                    ; line_number = 264
2591                    ;  ramp0 := 0
2592 011c 3000          movlw   0
2593 011d 00ab          movwf   ramp0
2594                    ; line_number = 265
2595                    ;  call reset()
2596 011e 21ea          call    reset
2597                    ; Recombine size1 = 0 || size2 = 0
2598   011f :   main__68:
2599                    ; code.delay=4294967295 back_code.delay=4294967295
2600                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
2601                    ; line_number = 261
2602                    ; if command & 3 = 0 done
2603 011f 2920          goto    main__78
2604                    ; line_number = 266
2605                    ; case 6, 7
2606   0120 :   main__75:
2607                    ; line_number = 267
2608                    ; do_nothing
2609   0120 :   main__78:
2610                    ; switch end:(data:00=>?? code:XX=>XX)
2611                    ; line_number = 133
2612                    ;  switch (command >> 3) & 7 done
2613 0120 2966          goto    main__100
2614                    ; line_number = 268
2615                    ; case 3
2616   0121 :   main__97:
2617                    ; # Command = 11xx xxxx:
2618                    ; line_number = 270
2619                    ;  switch (command >> 3) & 7 start
2620 0121 3001          movlw   main__91>>8
2621 0122 008a          movwf   __pclath
2622 0000004c = main__92 equ globals___0+44
2623 0123 0c46          rrf     main__command,w
2624 0124 00cc          movwf   main__92
2625 0125 0ccc          rrf     main__92,f
2626 0126 0c4c          rrf     main__92,w
2627 0127 3907          andlw   7
2628 0128 3e2a          addlw   main__91
2629 0129 0082          movwf   __pcl
2630                    ; page_group 8
2631   012a :   main__91:
2632 012a 2966          goto    main__93
2633 012b 2966          goto    main__93
2634 012c 2966          goto    main__93
2635 012d 2966          goto    main__93
2636 012e 2966          goto    main__93
2637 012f 2966          goto    main__93
2638 0130 2966          goto    main__93
2639 0131 2932          goto    main__90
2640                    ; line_number = 271
2641                    ; case 7
2642   0132 :   main__90:
2643                    ; # Shared commands (Command = 1111 1ccc):
2644                    ; line_number = 273
2645                    ;  switch command & 7 start
2646 0132 3001          movlw   main__88>>8
2647 0133 008a          movwf   __pclath
2648 0134 3007          movlw   7
2649 0135 0546          andwf   main__command,w
2650 0136 3e38          addlw   main__88
2651 0137 0082          movwf   __pcl
2652                    ; page_group 8
2653   0138 :   main__88:
2654 0138 2940          goto    main__80
2655 0139 2943          goto    main__81
2656 013a 2946          goto    main__82
2657 013b 294b          goto    main__83
2658 013c 294e          goto    main__84
2659 013d 295b          goto    main__85
2660 013e 295e          goto    main__86
2661 013f 2963          goto    main__87
2662                    ; line_number = 274
2663                    ; case 0
2664   0140 :   main__80:
2665                    ; This case body wants this bit set
2666 0140 1683          bsf     __rp0___byte, __rp0___bit
2667                    ; # Clock Decrement (Command = 1111 1000):
2668                    ; line_number = 276
2669                    ;  _osctune := _osctune - _osccal_lsb
2670 0141 0390          decf    _osctune,f
2671 0142 2966          goto    main__89
2672                    ; line_number = 277
2673                    ; case 1
2674   0143 :   main__81:
2675                    ; This case body wants this bit set
2676 0143 1683          bsf     __rp0___byte, __rp0___bit
2677                    ; # Clock Increment (Command = 1111 1001):
2678                    ; line_number = 279
2679                    ;  _osctune := _osctune + _osccal_lsb
2680 0144 0a90          incf    _osctune,f
2681 0145 2966          goto    main__89
2682                    ; line_number = 280
2683                    ; case 2
2684   0146 :   main__82:
2685                    ; This case body wants this bit set
2686 0146 1683          bsf     __rp0___byte, __rp0___bit
2687                    ; # Clock Read (Command = 1111 1010):
2688                    ; line_number = 282
2689                    ;  call byte_put(_osctune)
2690 0147 0810          movf    _osctune,w
2691 0148 1283          bcf     __rp0___byte, __rp0___bit
2692 0149 233a          call    byte_put
2693 014a 2966          goto    main__89
2694                    ; line_number = 283
2695                    ; case 3
2696   014b :   main__83:
2697                    ; # Clock Pulse (Command = 1111 1011):
2698                    ; line_number = 285
2699                    ;  call byte_put(0)
2700 014b 3000          movlw   0
2701 014c 233a          call    byte_put
2702 014d 2966          goto    main__89
2703                    ; line_number = 286
2704                    ; case 4
2705   014e :   main__84:
2706                    ; # ID Next (Command = 1111 1100):
2707                    ; line_number = 288
2708                    ;  temp := 0
2709 014e 3000          movlw   0
2710 014f 00c7          movwf   main__temp
2711                    ; line_number = 289
2712                    ;  if id_index < id.size start
2713 0150 302e          movlw   46
2714 0151 0240          subwf   id_index,w
2715                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2716                    ; CASE: true.size=0 && false.size>1
2717                    ; bit_code_emit_helper1: body_code.size=4 true_test=false body_code.delay=0 (non-uniform delay)
2718 0152 1803          btfsc   __c___byte, __c___bit
2719 0153 2958          goto    main__79
2720                    ; line_number = 290
2721                    ; temp := id[id_index]
2722 0154 0840          movf    id_index,w
2723 0155 22d7          call    id
2724 0156 00c7          movwf   main__temp
2725                    ; line_number = 291
2726                    ;  id_index := id_index + 1
2727 0157 0ac0          incf    id_index,f
2728   0158 :   main__79:
2729                    ; Recombine size1 = 0 || size2 = 0
2730                    ; code.delay=4294967295 back_code.delay=4294967295
2731                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
2732                    ; line_number = 289
2733                    ;  if id_index < id.size done
2734                    ; line_number = 292
2735                    ; call byte_put(temp)
2736 0158 0847          movf    main__temp,w
2737 0159 233a          call    byte_put
2738 015a 2966          goto    main__89
2739                    ; line_number = 293
2740                    ; case 5
2741   015b :   main__85:
2742                    ; # ID Reset (Command = 1111 1101):
2743                    ; line_number = 295
2744                    ;  id_index := 0
2745 015b 3000          movlw   0
2746 015c 00c0          movwf   id_index
2747 015d 2966          goto    main__89
2748                    ; line_number = 296
2749                    ; case 6
2750   015e :   main__86:
2751                    ; # Glitch Read (Command = 1111 1110):
2752                    ; line_number = 298
2753                    ;  call byte_put(glitch)
2754 015e 083f          movf    glitch,w
2755 015f 233a          call    byte_put
2756                    ; line_number = 299
2757                    ;  glitch := 0
2758 0160 3000          movlw   0
2759 0161 00bf          movwf   glitch
2760 0162 2966          goto    main__89
2761                    ; line_number = 300
2762                    ; case 7
2763   0163 :   main__87:
2764                    ; # Glitch (Command = 1111 1111):
2765                    ; line_number = 302
2766                    ;  if glitch != 0xff start
2767                    ; Left minus Right
2768 0163 0a3f          incf    glitch,w
2769                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2770                    ; CASE: true_code.size=0 && false_code.size=1
2771 0164 1d03          btfss   __z___byte, __z___bit
2772                    ; line_number = 303
2773                    ; glitch := glitch + 1
2774 0165 0abf          incf    glitch,f
2775            
2776            
2777                    ; Recombine size1 = 0 || size2 = 0
2778                    ; code.delay=4294967295 back_code.delay=4294967295
2779                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
2780                    ; line_number = 302
2781                    ;  if glitch != 0xff done
2782   0166 :   main__89:
2783                    ; switch end:(data:00=>0? code:XX=>XX)
2784                    ; line_number = 273
2785                    ;  switch command & 7 done
2786   0166 :   main__93:
2787                    ; switch end:(data:00=>0? code:XX=>XX)
2788                    ; line_number = 270
2789                    ;  switch (command >> 3) & 7 done
2790   0166 :   main__100:
2791                    ; switch end:(data:00=>?? code:XX=>XX)
2792                    ; line_number = 107
2793                    ;  switch command >> 6 done
2794                    ; line_number = 102
2795                    ;  loop_forever wrap-up
2796                    ; Need to adjust code banks to match front of loop
2797 0166 1283          bcf     __rp0___byte, __rp0___bit
2798 0167 1303          bcf     __rp1___byte, __rp1___bit
2799 0168 2819          goto    main__1
2800                    ; line_number = 102
2801                    ;  loop_forever done
2802                    ; delay after procedure statements=non-uniform
2803            
2804            
2805            
2806            
2807                    ; line_number = 306
2808                    ; procedure set_up
2809   0169 :   set_up:
2810                    ; arguments_none
2811                    ; line_number = 308
2812                    ;  returns_nothing
2813            
2814                    ; # This procedure will arrange for the speed and direction of
2815                    ; # each motor to be set to desired_speed0/1 and desired_direction0/1.
2816                    ; # If ramp0/1 is 0, the speed and direction is changed immediately.
2817                    ; # If ramp0/1 is non-zero, the speed is changed gradually.
2818            
2819                    ; line_number = 315
2820                    ;  local temporary byte
2821 00000048 = set_up__temporary equ globals___0+40
2822            
2823                    ; # Reset failsafe:
2824                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
2825                    ; line_number = 318
2826                    ;  fail_safe_low_counter := 0
2827 0169 3000          movlw   0
2828 016a 00b4          movwf   fail_safe_low_counter
2829                    ; line_number = 319
2830                    ;  fail_safe_high_counter := fail_safe
2831 016b 0831          movf    fail_safe,w
2832 016c 00b3          movwf   fail_safe_high_counter
2833            
2834                    ; # Mode Dir  On   Off
2835                    ; # ==================
2836                    ; #  0    0    A    0
2837                    ; #  0    1    B    0
2838                    ; #  1    0    A    B
2839                    ; #  1    1    B    A
2840            
2841                    ; # Motor 0:
2842            
2843                    ; # Figure out all the ramping stuff:
2844                    ; line_number = 331
2845                    ;  if ramp0 = 0 start
2846                    ; Left minus Right
2847 016d 082b          movf    ramp0,w
2848                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2849                    ; CASE: true_code_size > 1 && false_code_size > 1
2850                    ; true_code_size=8 false_code_size=24
2851 016e 1d03          btfss   __z___byte, __z___bit
2852 016f 2979          goto    set_up__6
2853                    ; # No ramping:
2854                    ; line_number = 333
2855                    ;  actual_speed0 := desired_speed0
2856 0170 0829          movf    desired_speed0,w
2857 0171 00a3          movwf   actual_speed0
2858                    ; line_number = 334
2859                    ;  motor0_direction := desired_direction0
2860 0172 106e          bcf     motor0_direction___byte, motor0_direction___bit
2861                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2862                    ; CASE: True.size=1 False.size=0
2863 0173 196f          btfsc   desired_direction0___byte, desired_direction0___bit
2864 0174 146e          bsf     motor0_direction___byte, motor0_direction___bit
2865                    ; Recombine size1 = 0 || size2 = 0
2866                    ; code.delay=4294967295 back_code.delay=4294967295
2867                    ; <=bit_code_emit@symbol; sym=desired_direction0 (data:00=>00 code:XX=>XX)
2868                    ; line_number = 335
2869                    ;  ramp0_delay := 0
2870 0175 3000          movlw   0
2871 0176 00ad          movwf   ramp0_delay
2872                    ; line_number = 336
2873                    ;  ramp0_offset := 0
2874 0177 3000          movlw   0
2875 0178 2991          goto    set_up__7
2876   0179 :   set_up__6:
2877                    ; # We are ramping:
2878            
2879                    ; # Figure out if we are changing direction:
2880                    ; line_number = 341
2881                    ;  temporary := 0
2882 0179 3000          movlw   0
2883 017a 00c8          movwf   set_up__temporary
2884                    ; line_number = 342
2885                    ;  if motor0_direction start
2886                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2887                    ; CASE: True.size=1 False.size=0
2888 017b 186e          btfsc   motor0_direction___byte, motor0_direction___bit
2889                    ; line_number = 343
2890                    ; temporary@0 := 1
2891 00000048 = set_up__select__1___byte equ set_up__temporary
2892 00000000 = set_up__select__1___bit equ 0
2893 017c 1448          bsf     set_up__select__1___byte, set_up__select__1___bit
2894                    ; Recombine size1 = 0 || size2 = 0
2895                    ; code.delay=4294967295 back_code.delay=4294967295
2896                    ; <=bit_code_emit@symbol; sym=motor0_direction (data:00=>00 code:XX=>XX)
2897                    ; line_number = 342
2898                    ;  if motor0_direction done
2899                    ; line_number = 344
2900                    ; if desired_direction0 start
2901                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2902                    ; CASE: true_code.size = 0 && false_code.size > 1
2903                    ; bit_code_emit_helper1: body_code.size=2 true_test=true body_code.delay=0 (non-uniform delay)
2904 017d 1d6f          btfss   desired_direction0___byte, desired_direction0___bit
2905 017e 2981          goto    set_up__2
2906                    ; line_number = 345
2907                    ; temporary := temporary ^ 1
2908 017f 3001          movlw   1
2909 0180 06c8          xorwf   set_up__temporary,f
2910            
2911                    ; Recombine size1 = 0 || size2 = 0
2912   0181 :   set_up__2:
2913                    ; code.delay=4294967295 back_code.delay=4294967295
2914                    ; <=bit_code_emit@symbol; sym=desired_direction0 (data:00=>00 code:XX=>XX)
2915                    ; line_number = 344
2916                    ; if desired_direction0 done
2917                    ; line_number = 347
2918                    ; if temporary@0 start
2919 00000048 = set_up__select__3___byte equ set_up__temporary
2920 00000000 = set_up__select__3___bit equ 0
2921                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2922                    ; CASE: true_code_size > 1 && false_code_size > 1
2923                    ; true_code_size=7 false_code_size=5
2924 0181 1c48          btfss   set_up__select__3___byte, set_up__select__3___bit
2925 0182 298b          goto    set_up__4
2926                    ; # We are changing direction:
2927                    ; line_number = 349
2928                    ;  second_ramp0_offset := 1
2929 0183 3001          movlw   1
2930 0184 00b7          movwf   second_ramp0_offset
2931                    ; line_number = 350
2932                    ;  second_desired_speed0 := desired_speed0
2933 0185 0829          movf    desired_speed0,w
2934 0186 00b5          movwf   second_desired_speed0
2935                    ; line_number = 351
2936                    ;  second_motor0_command := 1
2937 0187 166f          bsf     second_motor0_command___byte, second_motor0_command___bit
2938                    ; line_number = 352
2939                    ;  desired_speed0 := 0
2940 0188 3000          movlw   0
2941 0189 00a9          movwf   desired_speed0
2942                    ; line_number = 353
2943                    ;  ramp0_offset := 0xff
2944 018a 2990          goto    set_up__5
2945   018b :   set_up__4:
2946                    ; # Direction remains unchanged
2947                    ; line_number = 356
2948                    ;  if desired_speed0 < actual_speed0 start
2949 018b 0823          movf    actual_speed0,w
2950 018c 0229          subwf   desired_speed0,w
2951                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2952                    ; CASE: true_size=1 && false_size=1
2953                    ; SUBCASE: Double test; true, then false
2954 018d 1803          btfsc   __c___byte, __c___bit
2955                    ; line_number = 359
2956                    ; ramp0_offset := 1
2957 018e 3001          movlw   1
2958 018f 1c03          btfss   __c___byte, __c___bit
2959                    ; line_number = 357
2960                    ; ramp0_offset := 0xff
2961   0190 :   set_up__5:
2962                    ; code.delay=4294967295 back_code.delay=4294967295
2963 0190 30ff          movlw   255
2964   0191 :   set_up__7:
2965                    ; code.delay=4294967295 back_code.delay=4294967295
2966 0191 00af          movwf   ramp0_offset
2967                    ; code.delay=4294967295 back_code.delay=4294967295
2968            
2969                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
2970                    ; line_number = 356
2971                    ;  if desired_speed0 < actual_speed0 done
2972                    ; <=bit_code_emit@symbol; sym=set_up__select__3 (data:00=>00 code:XX=>XX)
2973                    ; line_number = 347
2974                    ; if temporary@0 done
2975                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
2976                    ; line_number = 331
2977                    ;  if ramp0 = 0 done
2978                    ; # Figure out all the direction stuff:
2979                    ; line_number = 362
2980                    ;  motor0_off := 0
2981 0192 3000          movlw   0
2982 0193 00a5          movwf   motor0_off
2983                    ; line_number = 363
2984                    ;  second_motor0_off := 0
2985 0194 3000          movlw   0
2986 0195 00bb          movwf   second_motor0_off
2987                    ; line_number = 364
2988                    ;  if motor0_direction start
2989                    ; # Direction = 1 (Backward):
2990                    ; line_number = 366
2991                    ;  if motor0_mode start
2992                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
2993                    ; CASE: true_code.size = 0 && false_code.size > 1
2994                    ; bit_code_emit_helper1: body_code.size=4 true_test=true body_code.delay=0 (non-uniform delay)
2995 0196 1f6f          btfss   motor0_mode___byte, motor0_mode___bit
2996                    ; # Direction = 0 (Forward):
2997                    ; line_number = 374
2998                    ;  if motor0_mode start
2999                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3000                    ; CASE: true_code.size = 0 && false_code.size > 1
3001                    ; bit_code_emit_helper1: body_code.size=4 true_test=true body_code.delay=0 (non-uniform delay)
3002                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3003                    ; CASE: true_code_size > 1 && false_code_size > 1
3004                    ; true_code_size=8 false_code_size=8
3005 0197 1c6e          btfss   motor0_direction___byte, motor0_direction___bit
3006 0198 29a2          goto    set_up__10
3007 0199 299e          goto    set_up__9
3008                    ; # Mode = 1 (Continuous):
3009                    ; line_number = 368
3010                    ;  motor0_off := motor0a_mask
3011 019a 3001          movlw   1
3012 019b 00a5          movwf   motor0_off
3013                    ; line_number = 369
3014                    ;  second_motor0_off := motor0b_mask
3015 019c 3010          movlw   16
3016 019d 00bb          movwf   second_motor0_off
3017                    ; Recombine size1 = 0 || size2 = 0
3018   019e :   set_up__9:
3019                    ; code.delay=4294967295 back_code.delay=4294967295
3020                    ; <=bit_code_emit@symbol; sym=motor0_mode (data:00=>00 code:XX=>XX)
3021                    ; line_number = 366
3022                    ;  if motor0_mode done
3023                    ; line_number = 370
3024                    ; motor0_on := motor0b_mask
3025 019e 3010          movlw   16
3026 019f 00a6          movwf   motor0_on
3027                    ; line_number = 371
3028                    ;  second_motor0_on := motor0a_mask
3029 01a0 3001          movlw   1
3030 01a1 29aa          goto    set_up__11
3031   01a2 :   set_up__10:
3032 01a2 29a7          goto    set_up__8
3033                    ; # Mode = 1 (Continuous):
3034                    ; line_number = 376
3035                    ;  motor0_off := motor0b_mask
3036 01a3 3010          movlw   16
3037 01a4 00a5          movwf   motor0_off
3038                    ; line_number = 377
3039                    ;  second_motor0_off := motor0a_mask
3040 01a5 3001          movlw   1
3041 01a6 00bb          movwf   second_motor0_off
3042                    ; Recombine size1 = 0 || size2 = 0
3043   01a7 :   set_up__8:
3044                    ; code.delay=4294967295 back_code.delay=4294967295
3045                    ; <=bit_code_emit@symbol; sym=motor0_mode (data:00=>00 code:XX=>XX)
3046                    ; line_number = 374
3047                    ;  if motor0_mode done
3048                    ; line_number = 378
3049                    ; motor0_on := motor0a_mask
3050 01a7 3001          movlw   1
3051 01a8 00a6          movwf   motor0_on
3052                    ; line_number = 379
3053                    ;  second_motor0_on := motor0b_mask
3054 01a9 3010          movlw   16
3055   01aa :   set_up__11:
3056                    ; code.delay=4294967295 back_code.delay=4294967295
3057 01aa 00b9          movwf   second_motor0_on
3058            
3059                    ; <=bit_code_emit@symbol; sym=motor0_direction (data:00=>00 code:XX=>XX)
3060                    ; line_number = 364
3061                    ;  if motor0_direction done
3062                    ; # Motor 1:
3063                    ; line_number = 382
3064                    ;  if ramp1 = 0 start
3065                    ; Left minus Right
3066 01ab 082c          movf    ramp1,w
3067                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3068                    ; CASE: true_code_size > 1 && false_code_size > 1
3069                    ; true_code_size=8 false_code_size=24
3070 01ac 1d03          btfss   __z___byte, __z___bit
3071 01ad 29b7          goto    set_up__17
3072                    ; # No ramping:
3073                    ; line_number = 384
3074                    ;  actual_speed1 := desired_speed1
3075 01ae 082a          movf    desired_speed1,w
3076 01af 00a4          movwf   actual_speed1
3077                    ; line_number = 385
3078                    ;  motor1_direction := desired_direction1
3079 01b0 10ee          bcf     motor1_direction___byte, motor1_direction___bit
3080                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3081                    ; CASE: True.size=1 False.size=0
3082 01b1 19ef          btfsc   desired_direction1___byte, desired_direction1___bit
3083 01b2 14ee          bsf     motor1_direction___byte, motor1_direction___bit
3084                    ; Recombine size1 = 0 || size2 = 0
3085                    ; code.delay=4294967295 back_code.delay=4294967295
3086                    ; <=bit_code_emit@symbol; sym=desired_direction1 (data:00=>00 code:XX=>XX)
3087                    ; line_number = 386
3088                    ;  ramp1_delay := 0
3089 01b3 3000          movlw   0
3090 01b4 00ae          movwf   ramp1_delay
3091                    ; line_number = 387
3092                    ;  ramp1_offset := 0
3093 01b5 3000          movlw   0
3094 01b6 29cf          goto    set_up__18
3095   01b7 :   set_up__17:
3096                    ; # We are ramping:
3097            
3098                    ; # Figure out if we are changing direction:
3099                    ; line_number = 392
3100                    ;  temporary := 0
3101 01b7 3000          movlw   0
3102 01b8 00c8          movwf   set_up__temporary
3103                    ; line_number = 393
3104                    ;  if motor1_direction start
3105                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3106                    ; CASE: True.size=1 False.size=0
3107 01b9 18ee          btfsc   motor1_direction___byte, motor1_direction___bit
3108                    ; line_number = 394
3109                    ; temporary@0 := 1
3110 00000048 = set_up__select__12___byte equ set_up__temporary
3111 00000000 = set_up__select__12___bit equ 0
3112 01ba 1448          bsf     set_up__select__12___byte, set_up__select__12___bit
3113                    ; Recombine size1 = 0 || size2 = 0
3114                    ; code.delay=4294967295 back_code.delay=4294967295
3115                    ; <=bit_code_emit@symbol; sym=motor1_direction (data:00=>00 code:XX=>XX)
3116                    ; line_number = 393
3117                    ;  if motor1_direction done
3118                    ; line_number = 395
3119                    ; if desired_direction1 start
3120                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3121                    ; CASE: true_code.size = 0 && false_code.size > 1
3122                    ; bit_code_emit_helper1: body_code.size=2 true_test=true body_code.delay=0 (non-uniform delay)
3123 01bb 1def          btfss   desired_direction1___byte, desired_direction1___bit
3124 01bc 29bf          goto    set_up__13
3125                    ; line_number = 396
3126                    ; temporary := temporary ^ 1
3127 01bd 3001          movlw   1
3128 01be 06c8          xorwf   set_up__temporary,f
3129            
3130                    ; Recombine size1 = 0 || size2 = 0
3131   01bf :   set_up__13:
3132                    ; code.delay=4294967295 back_code.delay=4294967295
3133                    ; <=bit_code_emit@symbol; sym=desired_direction1 (data:00=>00 code:XX=>XX)
3134                    ; line_number = 395
3135                    ; if desired_direction1 done
3136                    ; line_number = 398
3137                    ; if temporary@0 start
3138 00000048 = set_up__select__14___byte equ set_up__temporary
3139 00000000 = set_up__select__14___bit equ 0
3140                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3141                    ; CASE: true_code_size > 1 && false_code_size > 1
3142                    ; true_code_size=7 false_code_size=5
3143 01bf 1c48          btfss   set_up__select__14___byte, set_up__select__14___bit
3144 01c0 29c9          goto    set_up__15
3145                    ; # We are changing direction:
3146                    ; line_number = 400
3147                    ;  second_ramp1_offset := 1
3148 01c1 3001          movlw   1
3149 01c2 00b8          movwf   second_ramp1_offset
3150                    ; line_number = 401
3151                    ;  second_desired_speed1 := desired_speed1
3152 01c3 082a          movf    desired_speed1,w
3153 01c4 00b6          movwf   second_desired_speed1
3154                    ; line_number = 402
3155                    ;  second_motor1_command := 1
3156 01c5 16ef          bsf     second_motor1_command___byte, second_motor1_command___bit
3157                    ; line_number = 403
3158                    ;  desired_speed1 := 0
3159 01c6 3000          movlw   0
3160 01c7 00aa          movwf   desired_speed1
3161                    ; line_number = 404
3162                    ;  ramp1_offset := 0xff
3163 01c8 29ce          goto    set_up__16
3164   01c9 :   set_up__15:
3165                    ; # We are not changing direction:
3166                    ; line_number = 407
3167                    ;  if desired_speed1 < actual_speed1 start
3168 01c9 0824          movf    actual_speed1,w
3169 01ca 022a          subwf   desired_speed1,w
3170                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3171                    ; CASE: true_size=1 && false_size=1
3172                    ; SUBCASE: Double test; true, then false
3173 01cb 1803          btfsc   __c___byte, __c___bit
3174                    ; line_number = 410
3175                    ; ramp1_offset := 1
3176 01cc 3001          movlw   1
3177 01cd 1c03          btfss   __c___byte, __c___bit
3178                    ; line_number = 408
3179                    ; ramp1_offset := 0xff
3180   01ce :   set_up__16:
3181                    ; code.delay=4294967295 back_code.delay=4294967295
3182 01ce 30ff          movlw   255
3183   01cf :   set_up__18:
3184                    ; code.delay=4294967295 back_code.delay=4294967295
3185 01cf 00b0          movwf   ramp1_offset
3186                    ; code.delay=4294967295 back_code.delay=4294967295
3187            
3188                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3189                    ; line_number = 407
3190                    ;  if desired_speed1 < actual_speed1 done
3191                    ; <=bit_code_emit@symbol; sym=set_up__select__14 (data:00=>00 code:XX=>XX)
3192                    ; line_number = 398
3193                    ; if temporary@0 done
3194                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
3195                    ; line_number = 382
3196                    ;  if ramp1 = 0 done
3197                    ; line_number = 412
3198                    ; motor1_off := 0
3199 01d0 3000          movlw   0
3200 01d1 00a7          movwf   motor1_off
3201                    ; line_number = 413
3202                    ;  second_motor1_off := 0
3203 01d2 3000          movlw   0
3204 01d3 00bc          movwf   second_motor1_off
3205                    ; line_number = 414
3206                    ;  if motor1_direction start
3207                    ; # Direction = 1 (Backward):
3208                    ; line_number = 416
3209                    ;  if motor1_mode start
3210                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3211                    ; CASE: true_code.size = 0 && false_code.size > 1
3212                    ; bit_code_emit_helper1: body_code.size=4 true_test=true body_code.delay=0 (non-uniform delay)
3213 01d4 1fef          btfss   motor1_mode___byte, motor1_mode___bit
3214                    ; # Direction = 0 (Forward):
3215                    ; line_number = 424
3216                    ;  if motor1_mode start
3217                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3218                    ; CASE: true_code.size = 0 && false_code.size > 1
3219                    ; bit_code_emit_helper1: body_code.size=4 true_test=true body_code.delay=0 (non-uniform delay)
3220                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3221                    ; CASE: true_code_size > 1 && false_code_size > 1
3222                    ; true_code_size=8 false_code_size=8
3223 01d5 1cee          btfss   motor1_direction___byte, motor1_direction___bit
3224 01d6 29e0          goto    set_up__21
3225 01d7 29dc          goto    set_up__20
3226                    ; # Mode = 1 (Continuous):
3227                    ; line_number = 418
3228                    ;  motor1_off := motor1a_mask
3229 01d8 3002          movlw   2
3230 01d9 00a7          movwf   motor1_off
3231                    ; line_number = 419
3232                    ;  second_motor1_off := motor1b_mask
3233 01da 3004          movlw   4
3234 01db 00bc          movwf   second_motor1_off
3235                    ; Recombine size1 = 0 || size2 = 0
3236   01dc :   set_up__20:
3237                    ; code.delay=4294967295 back_code.delay=4294967295
3238                    ; <=bit_code_emit@symbol; sym=motor1_mode (data:00=>00 code:XX=>XX)
3239                    ; line_number = 416
3240                    ;  if motor1_mode done
3241                    ; line_number = 420
3242                    ; motor1_on := motor1b_mask
3243 01dc 3004          movlw   4
3244 01dd 00a8          movwf   motor1_on
3245                    ; line_number = 421
3246                    ;  second_motor1_on := motor1a_mask
3247 01de 3002          movlw   2
3248 01df 29e8          goto    set_up__22
3249   01e0 :   set_up__21:
3250 01e0 29e5          goto    set_up__19
3251                    ; # Mode = 1 (Continuous):
3252                    ; line_number = 426
3253                    ;  motor1_off := motor1b_mask
3254 01e1 3004          movlw   4
3255 01e2 00a7          movwf   motor1_off
3256                    ; line_number = 427
3257                    ;  second_motor1_off := motor1a_mask
3258 01e3 3002          movlw   2
3259 01e4 00bc          movwf   second_motor1_off
3260                    ; Recombine size1 = 0 || size2 = 0
3261   01e5 :   set_up__19:
3262                    ; code.delay=4294967295 back_code.delay=4294967295
3263                    ; <=bit_code_emit@symbol; sym=motor1_mode (data:00=>00 code:XX=>XX)
3264                    ; line_number = 424
3265                    ;  if motor1_mode done
3266                    ; line_number = 428
3267                    ; motor1_on := motor1a_mask
3268 01e5 3002          movlw   2
3269 01e6 00a8          movwf   motor1_on
3270                    ; line_number = 429
3271                    ;  second_motor1_on := motor1b_mask
3272 01e7 3004          movlw   4
3273   01e8 :   set_up__22:
3274                    ; code.delay=4294967295 back_code.delay=4294967295
3275 01e8 00ba          movwf   second_motor1_on
3276            
3277            
3278                    ; <=bit_code_emit@symbol; sym=motor1_direction (data:00=>00 code:XX=>XX)
3279                    ; line_number = 414
3280                    ;  if motor1_direction done
3281                    ; delay after procedure statements=non-uniform
3282                    ; Implied return
3283 01e9 3400          retlw   0
3284            
3285            
3286            
3287            
3288                    ; line_number = 432
3289                    ; procedure reset
3290   01ea :   reset:
3291                    ; arguments_none
3292                    ; line_number = 434
3293                    ;  returns_nothing
3294            
3295                    ; # Initialize everything else:
3296                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
3297                    ; line_number = 437
3298                    ;  enable := 1
3299 01ea 1587          bsf     enable___byte, enable___bit
3300                    ; line_number = 438
3301                    ;  _intcon := 0
3302 01eb 3000          movlw   0
3303 01ec 008b          movwf   _intcon
3304                    ; line_number = 439
3305                    ;  _option_reg := 0
3306 01ed 3000          movlw   0
3307 01ee 1683          bsf     __rp0___byte, __rp0___bit
3308 01ef 0081          movwf   _option_reg
3309                    ; line_number = 440
3310                    ;  _wpua := 0
3311 01f0 3000          movlw   0
3312 01f1 0095          movwf   _wpua
3313                    ; line_number = 441
3314                    ;  actual_speed0 := 0
3315 01f2 3000          movlw   0
3316 01f3 1283          bcf     __rp0___byte, __rp0___bit
3317 01f4 00a3          movwf   actual_speed0
3318                    ; line_number = 442
3319                    ;  actual_speed1 := 0
3320 01f5 3000          movlw   0
3321 01f6 00a4          movwf   actual_speed1
3322                    ; line_number = 443
3323                    ;  motor0_off := 0
3324 01f7 3000          movlw   0
3325 01f8 00a5          movwf   motor0_off
3326                    ; line_number = 444
3327                    ;  motor0_on := 0
3328 01f9 3000          movlw   0
3329 01fa 00a6          movwf   motor0_on
3330                    ; line_number = 445
3331                    ;  motor1_off := 0
3332 01fb 3000          movlw   0
3333 01fc 00a7          movwf   motor1_off
3334                    ; line_number = 446
3335                    ;  motor1_on := 0
3336 01fd 3000          movlw   0
3337 01fe 00a8          movwf   motor1_on
3338                    ; line_number = 447
3339                    ;  desired_direction0 := 0
3340 01ff 116f          bcf     desired_direction0___byte, desired_direction0___bit
3341                    ; line_number = 448
3342                    ;  desired_direction1 := 0
3343 0200 11ef          bcf     desired_direction1___byte, desired_direction1___bit
3344                    ; line_number = 449
3345                    ;  desired_speed0 := 0
3346 0201 3000          movlw   0
3347 0202 00a9          movwf   desired_speed0
3348                    ; line_number = 450
3349                    ;  desired_speed1 := 0
3350 0203 3000          movlw   0
3351 0204 00aa          movwf   desired_speed1
3352                    ; line_number = 451
3353                    ;  ramp0 := 0
3354 0205 3000          movlw   0
3355 0206 00ab          movwf   ramp0
3356                    ; line_number = 452
3357                    ;  ramp1 := 0
3358 0207 3000          movlw   0
3359 0208 00ac          movwf   ramp1
3360                    ; line_number = 453
3361                    ;  ramp0_delay := 0
3362 0209 3000          movlw   0
3363 020a 00ad          movwf   ramp0_delay
3364                    ; line_number = 454
3365                    ;  ramp1_delay := 0
3366 020b 3000          movlw   0
3367 020c 00ae          movwf   ramp1_delay
3368                    ; line_number = 455
3369                    ;  ramp0_offset := 0
3370 020d 3000          movlw   0
3371 020e 00af          movwf   ramp0_offset
3372                    ; line_number = 456
3373                    ;  ramp1_offset := 0
3374 020f 3000          movlw   0
3375 0210 00b0          movwf   ramp1_offset
3376                    ; line_number = 457
3377                    ;  motor0_direction := 0
3378 0211 106e          bcf     motor0_direction___byte, motor0_direction___bit
3379                    ; line_number = 458
3380                    ;  motor1_direction := 0
3381 0212 10ee          bcf     motor1_direction___byte, motor1_direction___bit
3382                    ; line_number = 459
3383                    ;  motor0_mode := 0
3384 0213 136f          bcf     motor0_mode___byte, motor0_mode___bit
3385                    ; line_number = 460
3386                    ;  motor1_mode := 0
3387 0214 13ef          bcf     motor1_mode___byte, motor1_mode___bit
3388                    ; line_number = 461
3389                    ;  second_motor0_command := 0
3390 0215 126f          bcf     second_motor0_command___byte, second_motor0_command___bit
3391                    ; line_number = 462
3392                    ;  second_motor1_command := 0
3393 0216 12ef          bcf     second_motor1_command___byte, second_motor1_command___bit
3394                    ; line_number = 463
3395                    ;  fail_safe := 0
3396 0217 3000          movlw   0
3397 0218 00b1          movwf   fail_safe
3398                    ; line_number = 464
3399                    ;  fail_safe_errors := 0
3400 0219 3000          movlw   0
3401 021a 00b2          movwf   fail_safe_errors
3402                    ; line_number = 465
3403                    ;  fail_safe_high_counter := 0
3404 021b 3000          movlw   0
3405 021c 00b3          movwf   fail_safe_high_counter
3406                    ; line_number = 466
3407                    ;  fail_safe_low_counter := 0
3408 021d 3000          movlw   0
3409 021e 00b4          movwf   fail_safe_low_counter
3410                    ; line_number = 467
3411                    ;  glitch := 0
3412 021f 3000          movlw   0
3413 0220 00bf          movwf   glitch
3414                    ; line_number = 468
3415                    ;  id_index := 0
3416 0221 3000          movlw   0
3417 0222 00c0          movwf   id_index
3418                    ; line_number = 469
3419                    ;  led1 := 0
3420 0223 1007          bcf     led1___byte, led1___bit
3421                    ; line_number = 470
3422                    ;  led2 := 1
3423 0224 1487          bsf     led2___byte, led2___bit
3424                    ; line_number = 471
3425                    ;  led3 := 0
3426 0225 1107          bcf     led3___byte, led3___bit
3427            
3428            
3429                    ; delay after procedure statements=non-uniform
3430                    ; Implied return
3431 0226 3400          retlw   0
3432            
3433            
3434            
3435            
3436                    ; line_number = 474
3437                    ; procedure delay
3438   0227 :   delay:
3439                    ; arguments_none
3440                    ; line_number = 476
3441                    ;  returns_nothing
3442                    ; #exact_delay delay_instructions
3443            
3444                    ; line_number = 479
3445                    ;  local count1 byte
3446 00000049 = delay__count1 equ globals___0+41
3447                    ; line_number = 480
3448                    ;  local count2 byte
3449 0000004a = delay__count2 equ globals___0+42
3450            
3451                    ; # Delay for 1/3 of a bit time.
3452            
3453                    ; # Kick the dog:
3454                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
3455                    ; line_number = 485
3456                    ;  watch_dog_reset done
3457 0227 0064          clrwdt  
3458            
3459                    ; # Keep count of everything:
3460                    ; line_number = 488
3461                    ;  count1 := count1 + 1
3462 0228 0ac9          incf    delay__count1,f
3463                    ; line_number = 489
3464                    ;  if _z start
3465                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3466                    ; CASE: True.size=1 False.size=0
3467 0229 1903          btfsc   _z___byte, _z___bit
3468                    ; line_number = 490
3469                    ; count2 := count2 + 1
3470 022a 0aca          incf    delay__count2,f
3471            
3472                    ; Recombine size1 = 0 || size2 = 0
3473                    ; code.delay=4294967295 back_code.delay=4294967295
3474                    ; <=bit_code_emit@symbol; sym=_z (data:00=>00 code:XX=>XX)
3475                    ; line_number = 489
3476                    ;  if _z done
3477                    ; # This is the first probe of TMR0:
3478                    ; line_number = 493
3479                    ;  if _tmr0 < actual_speed0 start
3480 022b 0823          movf    actual_speed0,w
3481 022c 0201          subwf   _tmr0,w
3482                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3483                    ; CASE: true_size=1 && false_size=1
3484                    ; SUBCASE: Double test; true, then false
3485 022d 1803          btfsc   __c___byte, __c___bit
3486                    ; line_number = 496
3487                    ; motor0 := motor0_off
3488 022e 0825          movf    motor0_off,w
3489 022f 1c03          btfss   __c___byte, __c___bit
3490                    ; line_number = 494
3491                    ; motor0 := motor0_on
3492 0230 0826          movf    motor0_on,w
3493                    ; code.delay=4294967295 back_code.delay=4294967295
3494 0231 00bd          movwf   motor0
3495                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3496                    ; line_number = 493
3497                    ;  if _tmr0 < actual_speed0 done
3498                    ; line_number = 497
3499                    ; if _tmr0 < actual_speed1 start
3500 0232 0824          movf    actual_speed1,w
3501 0233 0201          subwf   _tmr0,w
3502                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3503                    ; CASE: true_size=1 && false_size=1
3504                    ; SUBCASE: Double test; true, then false
3505 0234 1803          btfsc   __c___byte, __c___bit
3506                    ; line_number = 500
3507                    ; motor1 := motor1_off
3508 0235 0827          movf    motor1_off,w
3509 0236 1c03          btfss   __c___byte, __c___bit
3510                    ; line_number = 498
3511                    ; motor1 := motor1_on
3512 0237 0828          movf    motor1_on,w
3513                    ; code.delay=4294967295 back_code.delay=4294967295
3514 0238 00be          movwf   motor1
3515                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3516                    ; line_number = 497
3517                    ; if _tmr0 < actual_speed1 done
3518                    ; line_number = 501
3519                    ; _porta := motor0 | motor1
3520 0239 083d          movf    motor0,w
3521 023a 043e          iorwf   motor1,w
3522 023b 0085          movwf   _porta
3523            
3524                    ; # First check out {fail_safe_counter}:
3525                    ; line_number = 504
3526                    ;  fail_safe_low_counter := fail_safe_low_counter - 1
3527 023c 03b4          decf    fail_safe_low_counter,f
3528                    ; line_number = 505
3529                    ;  if _z start
3530                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3531                    ; CASE: true_code.size = 0 && false_code.size > 1
3532                    ; bit_code_emit_helper1: body_code.size=23 true_test=true body_code.delay=0 (non-uniform delay)
3533 023d 1d03          btfss   _z___byte, _z___bit
3534 023e 2a56          goto    delay__3
3535                    ; line_number = 506
3536                    ; fail_safe_high_counter := fail_safe_high_counter - 1
3537 023f 03b3          decf    fail_safe_high_counter,f
3538                    ; line_number = 507
3539                    ;  if _z start
3540                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3541                    ; CASE: true_code.size = 0 && false_code.size > 1
3542                    ; bit_code_emit_helper1: body_code.size=20 true_test=true body_code.delay=0 (non-uniform delay)
3543 0240 1d03          btfss   _z___byte, _z___bit
3544 0241 2a56          goto    delay__2
3545                    ; line_number = 508
3546                    ; if fail_safe != 0 start
3547                    ; Left minus Right
3548 0242 0831          movf    fail_safe,w
3549                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3550                    ; CASE: true.size=0 && false.size>1
3551                    ; bit_code_emit_helper1: body_code.size=17 true_test=false body_code.delay=0 (non-uniform delay)
3552 0243 1903          btfsc   __z___byte, __z___bit
3553 0244 2a56          goto    delay__1
3554                    ; # Turn the motors off:
3555                    ; line_number = 510
3556                    ;  motor0_on := 0
3557 0245 3000          movlw   0
3558 0246 00a6          movwf   motor0_on
3559                    ; line_number = 511
3560                    ;  motor0_off := 0
3561 0247 3000          movlw   0
3562 0248 00a5          movwf   motor0_off
3563                    ; line_number = 512
3564                    ;  motor1_on := 0
3565 0249 3000          movlw   0
3566 024a 00a8          movwf   motor1_on
3567                    ; line_number = 513
3568                    ;  motor1_off := 0
3569 024b 3000          movlw   0
3570 024c 00a7          movwf   motor1_off
3571                    ; line_number = 514
3572                    ;  desired_speed0 := 0
3573 024d 3000          movlw   0
3574 024e 00a9          movwf   desired_speed0
3575                    ; line_number = 515
3576                    ;  desired_speed1 := 0
3577 024f 3000          movlw   0
3578 0250 00aa          movwf   desired_speed1
3579                    ; line_number = 516
3580                    ;  actual_speed0 := 0
3581 0251 3000          movlw   0
3582 0252 00a3          movwf   actual_speed0
3583                    ; line_number = 517
3584                    ;  actual_speed1 := 0
3585 0253 3000          movlw   0
3586 0254 00a4          movwf   actual_speed1
3587                    ; line_number = 518
3588                    ;  fail_safe_errors := fail_safe_errors + 1
3589 0255 0ab2          incf    fail_safe_errors,f
3590            
3591   0256 :   delay__1:
3592                    ; Recombine size1 = 0 || size2 = 0
3593                    ; code.delay=4294967295 back_code.delay=4294967295
3594                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
3595                    ; line_number = 508
3596                    ; if fail_safe != 0 done
3597                    ; Recombine size1 = 0 || size2 = 0
3598   0256 :   delay__2:
3599                    ; code.delay=4294967295 back_code.delay=4294967295
3600                    ; <=bit_code_emit@symbol; sym=_z (data:00=>00 code:XX=>XX)
3601                    ; line_number = 507
3602                    ;  if _z done
3603                    ; Recombine size1 = 0 || size2 = 0
3604   0256 :   delay__3:
3605                    ; code.delay=4294967295 back_code.delay=4294967295
3606                    ; <=bit_code_emit@symbol; sym=_z (data:00=>00 code:XX=>XX)
3607                    ; line_number = 505
3608                    ;  if _z done
3609                    ; # This is the second probe of TMR0:
3610                    ; line_number = 521
3611                    ;  if _tmr0 < actual_speed0 start
3612 0256 0823          movf    actual_speed0,w
3613 0257 0201          subwf   _tmr0,w
3614                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3615                    ; CASE: true_size=1 && false_size=1
3616                    ; SUBCASE: Double test; true, then false
3617 0258 1803          btfsc   __c___byte, __c___bit
3618                    ; line_number = 524
3619                    ; motor0 := motor0_off
3620 0259 0825          movf    motor0_off,w
3621 025a 1c03          btfss   __c___byte, __c___bit
3622                    ; line_number = 522
3623                    ; motor0 := motor0_on
3624 025b 0826          movf    motor0_on,w
3625                    ; code.delay=4294967295 back_code.delay=4294967295
3626 025c 00bd          movwf   motor0
3627                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3628                    ; line_number = 521
3629                    ;  if _tmr0 < actual_speed0 done
3630                    ; line_number = 525
3631                    ; if _tmr0 < actual_speed1 start
3632 025d 0824          movf    actual_speed1,w
3633 025e 0201          subwf   _tmr0,w
3634                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3635                    ; CASE: true_size=1 && false_size=1
3636                    ; SUBCASE: Double test; true, then false
3637 025f 1803          btfsc   __c___byte, __c___bit
3638                    ; line_number = 528
3639                    ; motor1 := motor1_off
3640 0260 0827          movf    motor1_off,w
3641 0261 1c03          btfss   __c___byte, __c___bit
3642                    ; line_number = 526
3643                    ; motor1 := motor1_on
3644 0262 0828          movf    motor1_on,w
3645                    ; code.delay=4294967295 back_code.delay=4294967295
3646 0263 00be          movwf   motor1
3647                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3648                    ; line_number = 525
3649                    ; if _tmr0 < actual_speed1 done
3650                    ; line_number = 529
3651                    ; _porta := motor0 | motor1
3652 0264 083d          movf    motor0,w
3653 0265 043e          iorwf   motor1,w
3654 0266 0085          movwf   _porta
3655            
3656                    ; # Do {ramp0} management:
3657                    ; line_number = 532
3658                    ;  ramp0_delay := ramp0_delay - 1
3659 0267 03ad          decf    ramp0_delay,f
3660                    ; line_number = 533
3661                    ;  if _z start
3662                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3663                    ; CASE: true_code.size = 0 && false_code.size > 1
3664                    ; bit_code_emit_helper1: body_code.size=23 true_test=true body_code.delay=0 (non-uniform delay)
3665 0268 1d03          btfss   _z___byte, _z___bit
3666 0269 2a81          goto    delay__7
3667                    ; line_number = 534
3668                    ; ramp0_delay := ramp0
3669 026a 082b          movf    ramp0,w
3670 026b 00ad          movwf   ramp0_delay
3671                    ; line_number = 535
3672                    ;  if actual_speed0 != desired_speed0 start
3673                    ; Left minus Right
3674 026c 0829          movf    desired_speed0,w
3675 026d 0223          subwf   actual_speed0,w
3676                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3677                    ; CASE: true_code_size > 1 && false_code_size > 1
3678                    ; true_code_size=14 false_code_size=2
3679 026e 1d03          btfss   __z___byte, __z___bit
3680 026f 2a7f          goto    delay__5
3681                    ; line_number = 537
3682                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3683                    ; CASE: true_code.size = 0 && false_code.size > 1
3684                    ; bit_code_emit_helper1: body_code.size=12 true_test=true body_code.delay=0 (non-uniform delay)
3685 0270 1e6f          btfss   second_motor0_command___byte, second_motor0_command___bit
3686 0271 2a7e          goto    delay__4
3687                    ; line_number = 538
3688                    ; second_motor0_command := 0
3689 0272 126f          bcf     second_motor0_command___byte, second_motor0_command___bit
3690                    ; line_number = 539
3691                    ;  desired_speed0 := second_desired_speed0
3692 0273 0835          movf    second_desired_speed0,w
3693 0274 00a9          movwf   desired_speed0
3694                    ; line_number = 540
3695                    ;  ramp0_offset := second_ramp0_offset
3696 0275 0837          movf    second_ramp0_offset,w
3697 0276 00af          movwf   ramp0_offset
3698                    ; line_number = 541
3699                    ;  motor0_on := second_motor0_on
3700 0277 0839          movf    second_motor0_on,w
3701 0278 00a6          movwf   motor0_on
3702                    ; line_number = 542
3703                    ;  motor0_off := second_motor0_off
3704 0279 083b          movf    second_motor0_off,w
3705 027a 00a5          movwf   motor0_off
3706                    ; line_number = 543
3707                    ;  motor0_direction := desired_direction0
3708 027b 106e          bcf     motor0_direction___byte, motor0_direction___bit
3709                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3710                    ; CASE: True.size=1 False.size=0
3711 027c 196f          btfsc   desired_direction0___byte, desired_direction0___bit
3712 027d 146e          bsf     motor0_direction___byte, motor0_direction___bit
3713                    ; Recombine size1 = 0 || size2 = 0
3714                    ; code.delay=4294967295 back_code.delay=4294967295
3715                    ; <=bit_code_emit@symbol; sym=desired_direction0 (data:XX=>00 code:XX=>XX)
3716            
3717                    ; Recombine size1 = 0 || size2 = 0
3718   027e :   delay__4:
3719                    ; code.delay=4294967295 back_code.delay=4294967295
3720                    ; <=bit_code_emit@symbol; sym=second_motor0_command (data:00=>00 code:XX=>XX)
3721 027e 2a81          goto    delay__6
3722   027f :   delay__5:
3723                    ; line_number = 536
3724                    ; actual_speed0 := actual_speed0 + ramp0_offset
3725 027f 082f          movf    ramp0_offset,w
3726 0280 07a3          addwf   actual_speed0,f
3727   0281 :   delay__6:
3728                    ; code.delay=4294967295 back_code.delay=4294967295
3729                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
3730                    ; line_number = 535
3731                    ;  if actual_speed0 != desired_speed0 done
3732                    ; Recombine size1 = 0 || size2 = 0
3733   0281 :   delay__7:
3734                    ; code.delay=4294967295 back_code.delay=4294967295
3735                    ; <=bit_code_emit@symbol; sym=_z (data:00=>00 code:XX=>XX)
3736                    ; line_number = 533
3737                    ;  if _z done
3738                    ; # This is the third probe of TMR0:
3739                    ; line_number = 546
3740                    ;  if _tmr0 < actual_speed0 start
3741 0281 0823          movf    actual_speed0,w
3742 0282 0201          subwf   _tmr0,w
3743                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3744                    ; CASE: true_size=1 && false_size=1
3745                    ; SUBCASE: Double test; true, then false
3746 0283 1803          btfsc   __c___byte, __c___bit
3747                    ; line_number = 549
3748                    ; motor0 := motor0_off
3749 0284 0825          movf    motor0_off,w
3750 0285 1c03          btfss   __c___byte, __c___bit
3751                    ; line_number = 547
3752                    ; motor0 := motor0_on
3753 0286 0826          movf    motor0_on,w
3754                    ; code.delay=4294967295 back_code.delay=4294967295
3755 0287 00bd          movwf   motor0
3756            
3757                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3758                    ; line_number = 546
3759                    ;  if _tmr0 < actual_speed0 done
3760                    ; line_number = 551
3761                    ; if _tmr0 < actual_speed1 start
3762 0288 0824          movf    actual_speed1,w
3763 0289 0201          subwf   _tmr0,w
3764                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3765                    ; CASE: true_size=1 && false_size=1
3766                    ; SUBCASE: Double test; true, then false
3767 028a 1803          btfsc   __c___byte, __c___bit
3768                    ; line_number = 554
3769                    ; motor1 := motor1_off
3770 028b 0827          movf    motor1_off,w
3771 028c 1c03          btfss   __c___byte, __c___bit
3772                    ; line_number = 552
3773                    ; motor1 := motor1_on
3774 028d 0828          movf    motor1_on,w
3775                    ; code.delay=4294967295 back_code.delay=4294967295
3776 028e 00be          movwf   motor1
3777                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3778                    ; line_number = 551
3779                    ; if _tmr0 < actual_speed1 done
3780                    ; line_number = 555
3781                    ; _porta := motor0 | motor1
3782 028f 083d          movf    motor0,w
3783 0290 043e          iorwf   motor1,w
3784 0291 0085          movwf   _porta
3785            
3786                    ; # Do {ramp1} management:
3787                    ; line_number = 558
3788                    ;  ramp1_delay := ramp1_delay - 1
3789 0292 03ae          decf    ramp1_delay,f
3790                    ; line_number = 559
3791                    ;  if _z start
3792                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3793                    ; CASE: true_code_size > 1 && false_code_size > 1
3794                    ; true_code_size=23 false_code_size=17
3795 0293 1d03          btfss   _z___byte, _z___bit
3796 0294 2aad          goto    delay__11
3797                    ; line_number = 560
3798                    ; ramp1_delay := ramp1
3799 0295 082c          movf    ramp1,w
3800 0296 00ae          movwf   ramp1_delay
3801                    ; line_number = 561
3802                    ;  if actual_speed1 != desired_speed1 start
3803                    ; Left minus Right
3804 0297 082a          movf    desired_speed1,w
3805 0298 0224          subwf   actual_speed1,w
3806                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3807                    ; CASE: true_code_size > 1 && false_code_size > 1
3808                    ; true_code_size=14 false_code_size=2
3809 0299 1d03          btfss   __z___byte, __z___bit
3810 029a 2aaa          goto    delay__9
3811                    ; line_number = 563
3812                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3813                    ; CASE: true_code.size = 0 && false_code.size > 1
3814                    ; bit_code_emit_helper1: body_code.size=12 true_test=true body_code.delay=0 (non-uniform delay)
3815 029b 1eef          btfss   second_motor1_command___byte, second_motor1_command___bit
3816 029c 2aa9          goto    delay__8
3817                    ; line_number = 564
3818                    ; second_motor1_command := 0
3819 029d 12ef          bcf     second_motor1_command___byte, second_motor1_command___bit
3820                    ; line_number = 565
3821                    ;  desired_speed1 := second_desired_speed1
3822 029e 0836          movf    second_desired_speed1,w
3823 029f 00aa          movwf   desired_speed1
3824                    ; line_number = 566
3825                    ;  ramp1_offset := second_ramp1_offset
3826 02a0 0838          movf    second_ramp1_offset,w
3827 02a1 00b0          movwf   ramp1_offset
3828                    ; line_number = 567
3829                    ;  motor1_on := second_motor1_on
3830 02a2 083a          movf    second_motor1_on,w
3831 02a3 00a8          movwf   motor1_on
3832                    ; line_number = 568
3833                    ;  motor1_off := second_motor1_off
3834 02a4 083c          movf    second_motor1_off,w
3835 02a5 00a7          movwf   motor1_off
3836                    ; line_number = 569
3837                    ;  motor1_direction := desired_direction1
3838 02a6 10ee          bcf     motor1_direction___byte, motor1_direction___bit
3839                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3840                    ; CASE: True.size=1 False.size=0
3841 02a7 19ef          btfsc   desired_direction1___byte, desired_direction1___bit
3842 02a8 14ee          bsf     motor1_direction___byte, motor1_direction___bit
3843                    ; Recombine size1 = 0 || size2 = 0
3844                    ; code.delay=4294967295 back_code.delay=4294967295
3845                    ; <=bit_code_emit@symbol; sym=desired_direction1 (data:XX=>00 code:XX=>XX)
3846                    ; Recombine size1 = 0 || size2 = 0
3847   02a9 :   delay__8:
3848                    ; code.delay=4294967295 back_code.delay=4294967295
3849                    ; <=bit_code_emit@symbol; sym=second_motor1_command (data:00=>00 code:XX=>XX)
3850 02a9 2aac          goto    delay__10
3851   02aa :   delay__9:
3852                    ; line_number = 562
3853                    ; actual_speed1 := actual_speed1 + ramp1_offset
3854 02aa 0830          movf    ramp1_offset,w
3855 02ab 07a4          addwf   actual_speed1,f
3856   02ac :   delay__10:
3857                    ; code.delay=4294967295 back_code.delay=4294967295
3858                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:XX=>XX)
3859                    ; line_number = 561
3860                    ;  if actual_speed1 != desired_speed1 done
3861 02ac 2abe          goto    delay__12
3862   02ad :   delay__11:
3863                    ; # This is the forth probe of TMR0:
3864                    ; line_number = 572
3865                    ;  if _tmr0 < actual_speed0 start
3866 02ad 0823          movf    actual_speed0,w
3867 02ae 0201          subwf   _tmr0,w
3868                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3869                    ; CASE: true_size=1 && false_size=1
3870                    ; SUBCASE: Double test; true, then false
3871 02af 1803          btfsc   __c___byte, __c___bit
3872                    ; line_number = 575
3873                    ; motor0 := motor0_off
3874 02b0 0825          movf    motor0_off,w
3875 02b1 1c03          btfss   __c___byte, __c___bit
3876                    ; line_number = 573
3877                    ; motor0 := motor0_on
3878 02b2 0826          movf    motor0_on,w
3879                    ; code.delay=4294967295 back_code.delay=4294967295
3880 02b3 00bd          movwf   motor0
3881                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3882                    ; line_number = 572
3883                    ;  if _tmr0 < actual_speed0 done
3884                    ; line_number = 576
3885                    ; if _tmr0 < actual_speed1 start
3886 02b4 0824          movf    actual_speed1,w
3887 02b5 0201          subwf   _tmr0,w
3888                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3889                    ; CASE: true_size=1 && false_size=1
3890                    ; SUBCASE: Double test; true, then false
3891 02b6 1803          btfsc   __c___byte, __c___bit
3892                    ; line_number = 579
3893                    ; motor1 := motor1_off
3894 02b7 0827          movf    motor1_off,w
3895 02b8 1c03          btfss   __c___byte, __c___bit
3896                    ; line_number = 577
3897                    ; motor1 := motor1_on
3898 02b9 0828          movf    motor1_on,w
3899                    ; code.delay=4294967295 back_code.delay=4294967295
3900 02ba 00be          movwf   motor1
3901                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:XX=>XX)
3902                    ; line_number = 576
3903                    ; if _tmr0 < actual_speed1 done
3904                    ; line_number = 580
3905                    ; _porta := motor0 | motor1
3906 02bb 083d          movf    motor0,w
3907 02bc 043e          iorwf   motor1,w
3908 02bd 0085          movwf   _porta
3909            
3910   02be :   delay__12:
3911                    ; code.delay=4294967295 back_code.delay=4294967295
3912                    ; <=bit_code_emit@symbol; sym=_z (data:00=>00 code:XX=>XX)
3913                    ; line_number = 559
3914                    ;  if _z done
3915                    ; # Light direction LED's:
3916                    ; line_number = 583
3917                    ;  if motor0_direction start
3918                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3919                    ; CASE: true_code_size > 1 && false_code_size > 1
3920                    ; true_code_size=4 false_code_size=5
3921 02be 1c6e          btfss   motor0_direction___byte, motor0_direction___bit
3922 02bf 2ac5          goto    delay__14
3923                    ; # Reverse
3924                    ; line_number = 585
3925                    ;  if count2@3 start
3926 0000004a = delay__select__13___byte equ delay__count2
3927 00000003 = delay__select__13___bit equ 3
3928                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3929                    ; CASE: true_size=1 && false_size=1
3930                    ; SUBCASE: Double test; true, then false
3931 02c0 19ca          btfsc   delay__select__13___byte, delay__select__13___bit
3932                    ; line_number = 586
3933                    ; led1 := 1
3934 02c1 1407          bsf     led1___byte, led1___bit
3935 02c2 1dca          btfss   delay__select__13___byte, delay__select__13___bit
3936                    ; line_number = 588
3937                    ; led1 := 0
3938 02c3 1007          bcf     led1___byte, led1___bit
3939                    ; code.delay=4294967295 back_code.delay=4294967295
3940                    ; <=bit_code_emit@symbol; sym=delay__select__13 (data:XX=>XX code:XX=>XX)
3941                    ; line_number = 585
3942                    ;  if count2@3 done
3943 02c4 2aca          goto    delay__15
3944   02c5 :   delay__14:
3945                    ; line_number = 590
3946                    ; if actual_speed0 = 0 start
3947                    ; Left minus Right
3948 02c5 0823          movf    actual_speed0,w
3949                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3950                    ; CASE: true_size=1 && false_size=1
3951                    ; SUBCASE: Double test; true, then false
3952 02c6 1903          btfsc   __z___byte, __z___bit
3953                    ; line_number = 591
3954                    ; led1 := 0
3955 02c7 1007          bcf     led1___byte, led1___bit
3956 02c8 1d03          btfss   __z___byte, __z___bit
3957                    ; line_number = 593
3958                    ; led1 := 1
3959 02c9 1407          bsf     led1___byte, led1___bit
3960                    ; code.delay=4294967295 back_code.delay=4294967295
3961                    ; <=bit_code_emit@symbol; sym=__z (data:XX=>XX code:XX=>XX)
3962                    ; line_number = 590
3963                    ; if actual_speed0 = 0 done
3964   02ca :   delay__15:
3965                    ; code.delay=4294967295 back_code.delay=4294967295
3966                    ; <=bit_code_emit@symbol; sym=motor0_direction (data:XX=>XX code:XX=>XX)
3967                    ; line_number = 583
3968                    ;  if motor0_direction done
3969                    ; line_number = 594
3970                    ; if motor1_direction start
3971                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3972                    ; CASE: true_code_size > 1 && false_code_size > 1
3973                    ; true_code_size=4 false_code_size=5
3974 02ca 1cee          btfss   motor1_direction___byte, motor1_direction___bit
3975 02cb 2ad1          goto    delay__17
3976                    ; # Reverse
3977                    ; line_number = 596
3978                    ;  if count2@3 start
3979 0000004a = delay__select__16___byte equ delay__count2
3980 00000003 = delay__select__16___bit equ 3
3981                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
3982                    ; CASE: true_size=1 && false_size=1
3983                    ; SUBCASE: Double test; true, then false
3984 02cc 19ca          btfsc   delay__select__16___byte, delay__select__16___bit
3985                    ; line_number = 597
3986                    ; led3 := 1
3987 02cd 1507          bsf     led3___byte, led3___bit
3988 02ce 1dca          btfss   delay__select__16___byte, delay__select__16___bit
3989                    ; line_number = 599
3990                    ; led3 := 0
3991 02cf 1107          bcf     led3___byte, led3___bit
3992                    ; code.delay=4294967295 back_code.delay=4294967295
3993                    ; <=bit_code_emit@symbol; sym=delay__select__16 (data:XX=>XX code:XX=>XX)
3994                    ; line_number = 596
3995                    ;  if count2@3 done
3996 02d0 2ad6          goto    delay__18
3997   02d1 :   delay__17:
3998                    ; line_number = 601
3999                    ; if actual_speed1 = 0 start
4000                    ; Left minus Right
4001 02d1 0824          movf    actual_speed1,w
4002                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
4003                    ; CASE: true_size=1 && false_size=1
4004                    ; SUBCASE: Double test; true, then false
4005 02d2 1903          btfsc   __z___byte, __z___bit
4006                    ; line_number = 602
4007                    ; led3 := 0
4008 02d3 1107          bcf     led3___byte, led3___bit
4009 02d4 1d03          btfss   __z___byte, __z___bit
4010                    ; line_number = 604
4011                    ; led3 := 1
4012 02d5 1507          bsf     led3___byte, led3___bit
4013            
4014            
4015                    ; code.delay=4294967295 back_code.delay=4294967295
4016                    ; <=bit_code_emit@symbol; sym=__z (data:XX=>XX code:XX=>XX)
4017                    ; line_number = 601
4018                    ; if actual_speed1 = 0 done
4019   02d6 :   delay__18:
4020                    ; code.delay=4294967295 back_code.delay=4294967295
4021                    ; <=bit_code_emit@symbol; sym=motor1_direction (data:XX=>XX code:XX=>XX)
4022                    ; line_number = 594
4023                    ; if motor1_direction done
4024                    ; delay after procedure statements=non-uniform
4025                    ; Implied return
4026 02d6 3400          retlw   0
4027            
4028            
4029            
4030            
4031                    ; line_number = 607
4032                    ; constant zero8 = "\0,0,0,0,0,0,0,0\"
4033                    ; zero8 = '\0,0,0,0,0,0,0,0\'
4034                    ; line_number = 608
4035                    ; constant module_name = "\13\DualMotor1Amp"
4036                    ; module_name = '\13\DualMotor1Amp'
4037                    ; line_number = 609
4038                    ; constant vendor_name = "\7\Gramson"
4039                    ; vendor_name = '\7\Gramson'
4040            
4041                    ; line_number = 611
4042                    ; string id = "\1,1,14,8,9,0,0,0\" ~ zero8 ~ zero8 ~ module_name ~ vendor_name start
4043                    ; id = '\1,1,14,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13\DualMotor1Amp\7\Gramson'
4044   02d7 :   id:
4045                    ; Temporarily save index into FSR
4046 02d7 0084          movwf   __fsr
4047                    ; Initialize PCLATH to point to this code page
4048 02d8 3003          movlw   id___base>>8
4049 02d9 008a          movwf   __pclath
4050                    ; Restore index from FSR
4051 02da 0804          movf    __fsr,w
4052 02db 3e00          addlw   id___base
4053                    ; Index to the correct return value
4054 02dc 0082          movwf   __pcl
4055                    ; page_group 46
4056                    ; Add 35 NOP's until start of new page 
4057 02dd 0000          nop     
4058 02de 0000          nop     
4059 02df 0000          nop     
4060 02e0 0000          nop     
4061 02e1 0000          nop     
4062 02e2 0000          nop     
4063 02e3 0000          nop     
4064 02e4 0000          nop     
4065 02e5 0000          nop     
4066 02e6 0000          nop     
4067 02e7 0000          nop     
4068 02e8 0000          nop     
4069 02e9 0000          nop     
4070 02ea 0000          nop     
4071 02eb 0000          nop     
4072 02ec 0000          nop     
4073 02ed 0000          nop     
4074 02ee 0000          nop     
4075 02ef 0000          nop     
4076 02f0 0000          nop     
4077 02f1 0000          nop     
4078 02f2 0000          nop     
4079 02f3 0000          nop     
4080 02f4 0000          nop     
4081 02f5 0000          nop     
4082 02f6 0000          nop     
4083 02f7 0000          nop     
4084 02f8 0000          nop     
4085 02f9 0000          nop     
4086 02fa 0000          nop     
4087 02fb 0000          nop     
4088 02fc 0000          nop     
4089 02fd 0000          nop     
4090 02fe 0000          nop     
4091 02ff 0000          nop     
4092   0300 :   id___base:
4093 0300 3401          retlw   1
4094 0301 3401          retlw   1
4095 0302 340e          retlw   14
4096 0303 3408          retlw   8
4097 0304 3409          retlw   9
4098 0305 3400          retlw   0
4099 0306 3400          retlw   0
4100 0307 3400          retlw   0
4101 0308 3400          retlw   0
4102 0309 3400          retlw   0
4103 030a 3400          retlw   0
4104 030b 3400          retlw   0
4105 030c 3400          retlw   0
4106 030d 3400          retlw   0
4107 030e 3400          retlw   0
4108 030f 3400          retlw   0
4109 0310 3400          retlw   0
4110 0311 3400          retlw   0
4111 0312 3400          retlw   0
4112 0313 3400          retlw   0
4113 0314 3400          retlw   0
4114 0315 3400          retlw   0
4115 0316 3400          retlw   0
4116 0317 3400          retlw   0
4117 0318 340d          retlw   13
4118 0319 3444          retlw   68
4119 031a 3475          retlw   117
4120 031b 3461          retlw   97
4121 031c 346c          retlw   108
4122 031d 344d          retlw   77
4123 031e 346f          retlw   111
4124 031f 3474          retlw   116
4125 0320 346f          retlw   111
4126 0321 3472          retlw   114
4127 0322 3431          retlw   49
4128 0323 3441          retlw   65
4129 0324 346d          retlw   109
4130 0325 3470          retlw   112
4131 0326 3407          retlw   7
4132 0327 3447          retlw   71
4133 0328 3472          retlw   114
4134 0329 3461          retlw   97
4135 032a 346d          retlw   109
4136 032b 3473          retlw   115
4137 032c 346f          retlw   111
4138 032d 346e          retlw   110
4139                    ; line_number = 611
4140                    ; string id = "\1,1,14,8,9,0,0,0\" ~ zero8 ~ zero8 ~ module_name ~ vendor_name start
4141            
4142                    ; Appending 4 delayed procedures to code bank 0
4143                    ; buffer = '_robobricks_pic16f688'
4144                    ; line_number = 17
4145                    ; procedure byte_get
4146   032e :   byte_get:
4147                    ; arguments_none
4148                    ; line_number = 19
4149                    ;  returns byte
4150            
4151                    ; # This procedure will return the next byte from the UART.
4152                    ; # It continuously calls delay() while it is waiting.
4153            
4154                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
4155                    ; line_number = 24
4156                    ;  while !_rcif start
4157   032e :   byte_get__1:
4158                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
4159                    ; CASE: true.size=0 && false.size>1
4160                    ; bit_code_emit_helper1: body_code.size=4 true_test=false body_code.delay=0 (non-uniform delay)
4161 032e 1a8c          btfsc   _rcif___byte, _rcif___bit
4162 032f 2b34          goto    byte_get__2
4163                    ; line_number = 25
4164                    ; in_byte_get := 1
4165 0330 14ef          bsf     in_byte_get___byte, in_byte_get___bit
4166                    ; line_number = 26
4167                    ;  call delay()
4168 0331 2227          call    delay
4169                    ; line_number = 27
4170                    ;  in_byte_get := 0
4171 0332 10ef          bcf     in_byte_get___byte, in_byte_get___bit
4172 0333 2b2e          goto    byte_get__1
4173   0334 :   byte_get__2:
4174                    ; Recombine size1 = 0 || size2 = 0
4175                    ; code.delay=4294967295 back_code.delay=4294967295
4176                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:XX=>XX)
4177                    ; line_number = 24
4178                    ;  while !_rcif done
4179                    ; line_number = 28
4180                    ; interrupt_pending := 0
4181 0334 116e          bcf     interrupt_pending___byte, interrupt_pending___bit
4182                    ; line_number = 29
4183                    ;  command_previous := command_last
4184 0335 0843          movf    command_last,w
4185 0336 00c2          movwf   command_previous
4186                    ; line_number = 30
4187                    ;  _rcif := 0
4188 0337 128c          bcf     _rcif___byte, _rcif___bit
4189                    ; line_number = 31
4190                    ;  return _rcreg start
4191                    ; line_number = 31
4192 0338 0814          movf    _rcreg,w
4193 0339 0008          return  
4194                    ; line_number = 31
4195                    ;  return _rcreg done
4196            
4197            
4198                    ; delay after procedure statements=non-uniform
4199            
4200            
4201            
4202            
4203                    ; line_number = 34
4204                    ; procedure byte_put
4205   033a :   byte_put:
4206                    ; Last argument is sitting in W; save into argument variable
4207 033a 00a0          movwf   byte_put__value
4208                    ; delay=4294967295
4209                    ; line_number = 35
4210                    ; argument value byte
4211 00000020 = byte_put__value equ globals___0
4212                    ; line_number = 36
4213                    ;  returns_nothing
4214            
4215                    ; # This procedure will output {value} to the UART.  If the UART is
4216                    ; # already busy transmitting a character, the {delay} procedure is
4217                    ; # repeatably called until {value} can be sent.
4218            
4219                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
4220                    ; line_number = 42
4221                    ;  while !_trmt start
4222   033b :   byte_put__1:
4223                    ; (after recombine) true_delay=non-uniform, false_delay=non-uniform
4224                    ; CASE: true.size=0 && false.size>1
4225                    ; bit_code_emit_helper1: body_code.size=2 true_test=false body_code.delay=0 (non-uniform delay)
4226 033b 1896          btfsc   _trmt___byte, _trmt___bit
4227 033c 2b3f          goto    byte_put__2
4228                    ; line_number = 43
4229                    ; call delay()
4230 033d 2227          call    delay
4231 033e 2b3b          goto    byte_put__1
4232   033f :   byte_put__2:
4233                    ; Recombine size1 = 0 || size2 = 0
4234                    ; code.delay=4294967295 back_code.delay=4294967295
4235                    ; <=bit_code_emit@symbol; sym=_trmt (data:00=>00 code:XX=>XX)
4236                    ; line_number = 42
4237                    ;  while !_trmt done
4238                    ; line_number = 44
4239                    ; debug := 0
4240 033f 1285          bcf     debug___byte, debug___bit
4241                    ; line_number = 45
4242                    ;  sent_previous := sent_last
4243 0340 0845          movf    sent_last,w
4244 0341 00c4          movwf   sent_previous
4245                    ; line_number = 46
4246                    ;  sent_last := value
4247 0342 0820          movf    byte_put__value,w
4248 0343 00c5          movwf   sent_last
4249                    ; line_number = 47
4250                    ;  _txreg := value
4251 0344 0820          movf    byte_put__value,w
4252 0345 0095          movwf   _txreg
4253            
4254            
4255                    ; delay after procedure statements=non-uniform
4256                    ; Implied return
4257 0346 3400          retlw   0
4258            
4259            
4260            
4261            
4262                    ; line_number = 50
4263                    ; procedure baud_rate_low
4264   0347 :   baud_rate_low:
4265                    ; Last argument is sitting in W; save into argument variable
4266 0347 00a1          movwf   baud_rate_low__baud_rate_index
4267                    ; delay=4294967295
4268                    ; line_number = 51
4269                    ; argument baud_rate_index byte
4270 00000021 = baud_rate_low__baud_rate_index equ globals___0+1
4271                    ; line_number = 52
4272                    ;  returns byte
4273            
4274                    ; #: This procedure will return the baud rate low byte for {baud_rate_index}.
4275            
4276                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
4277                    ; line_number = 56
4278                    ;  switch baud_rate_index start
4279 0348 3003          movlw   baud_rate_low__9>>8
4280 0349 008a          movwf   __pclath
4281 034a 0821          movf    baud_rate_low__baud_rate_index,w
4282 034b 3e4d          addlw   baud_rate_low__9
4283 034c 0082          movwf   __pcl
4284                    ; page_group 8
4285   034d :   baud_rate_low__9:
4286                    ; line_number = 58
4287                    ; return _eusart_2400_low start
4288                    ; line_number = 58
4289 034d 3440          retlw   64
4290                    ; line_number = 58
4291                    ; return _eusart_2400_low done
4292                    ; line_number = 60
4293                    ; return _eusart_4800_low start
4294                    ; line_number = 60
4295 034e 349f          retlw   159
4296                    ; line_number = 60
4297                    ; return _eusart_4800_low done
4298                    ; line_number = 62
4299                    ; return _eusart_9600_low start
4300                    ; line_number = 62
4301 034f 34cf          retlw   207
4302                    ; line_number = 62
4303                    ; return _eusart_9600_low done
4304                    ; line_number = 64
4305                    ; return _eusart_19200_low start
4306                    ; line_number = 64
4307 0350 3467          retlw   103
4308                    ; line_number = 64
4309                    ; return _eusart_19200_low done
4310                    ; line_number = 66
4311                    ; return _eusart_38400_low start
4312                    ; line_number = 66
4313 0351 3433          retlw   51
4314                    ; line_number = 66
4315                    ; return _eusart_38400_low done
4316                    ; line_number = 68
4317                    ; return _eusart_57600_low start
4318                    ; line_number = 68
4319 0352 3421          retlw   33
4320                    ; line_number = 68
4321                    ; return _eusart_57600_low done
4322                    ; line_number = 70
4323                    ; return _eusart_115200_low start
4324                    ; line_number = 70
4325 0353 3410          retlw   16
4326                    ; line_number = 70
4327                    ; return _eusart_115200_low done
4328                    ; line_number = 72
4329                    ; return _eusart_203400_low start
4330                    ; line_number = 72
4331 0354 3408          retlw   8
4332                    ; line_number = 72
4333                    ; return _eusart_203400_low done
4334            
4335            
4336   0355 :   baud_rate_low__10:
4337                    ; switch end:(data:00=>00 code:XX=>XX)
4338                    ; line_number = 56
4339                    ;  switch baud_rate_index done
4340                    ; delay after procedure statements=non-uniform
4341                    ; Exiting procedure with no return(s); fail with infinite loop
4342   0355 :   baud_rate_low__11:
4343 0355 2b55          goto    baud_rate_low__11
4344            
4345            
4346            
4347            
4348                    ; line_number = 75
4349                    ; procedure baud_rate_high
4350   0356 :   baud_rate_high:
4351                    ; Last argument is sitting in W; save into argument variable
4352 0356 00a2          movwf   baud_rate_high__baud_rate_index
4353                    ; delay=4294967295
4354                    ; line_number = 76
4355                    ; argument baud_rate_index byte
4356 00000022 = baud_rate_high__baud_rate_index equ globals___0+2
4357                    ; line_number = 77
4358                    ;  returns byte
4359            
4360                    ; # This procedure will return the baud rate high byte for
4361                    ; # {baud_rate_index}.
4362            
4363                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:XX=>XX)
4364                    ; line_number = 82
4365                    ;  switch baud_rate_index start
4366 0357 3003          movlw   baud_rate_high__9>>8
4367 0358 008a          movwf   __pclath
4368 0359 0822          movf    baud_rate_high__baud_rate_index,w
4369 035a 3e5c          addlw   baud_rate_high__9
4370 035b 0082          movwf   __pcl
4371                    ; page_group 8
4372   035c :   baud_rate_high__9:
4373                    ; line_number = 84
4374                    ; return _eusart_2400_high start
4375                    ; line_number = 84
4376 035c 3403          retlw   3
4377                    ; line_number = 84
4378                    ; return _eusart_2400_high done
4379                    ; line_number = 86
4380                    ; return _eusart_4800_high start
4381                    ; line_number = 86
4382 035d 3401          retlw   1
4383                    ; line_number = 86
4384                    ; return _eusart_4800_high done
4385                    ; line_number = 88
4386                    ; return _eusart_9600_high start
4387                    ; line_number = 88
4388 035e 3400          retlw   0
4389                    ; line_number = 88
4390                    ; return _eusart_9600_high done
4391                    ; line_number = 90
4392                    ; return _eusart_19200_high start
4393                    ; line_number = 90
4394 035f 3400          retlw   0
4395                    ; line_number = 90
4396                    ; return _eusart_19200_high done
4397                    ; line_number = 92
4398                    ; return _eusart_38400_high start
4399                    ; line_number = 92
4400 0360 3400          retlw   0
4401                    ; line_number = 92
4402                    ; return _eusart_38400_high done
4403                    ; line_number = 94
4404                    ; return _eusart_57600_high start
4405                    ; line_number = 94
4406 0361 3400          retlw   0
4407                    ; line_number = 94
4408                    ; return _eusart_57600_high done
4409                    ; line_number = 96
4410                    ; return _eusart_115200_high start
4411                    ; line_number = 96
4412 0362 3400          retlw   0
4413                    ; line_number = 96
4414                    ; return _eusart_115200_high done
4415                    ; line_number = 98
4416                    ; return _eusart_203400_high start
4417                    ; line_number = 98
4418 0363 3400          retlw   0
4419                    ; line_number = 98
4420                    ; return _eusart_203400_high done
4421            
4422   0364 :   baud_rate_high__10:
4423                    ; switch end:(data:00=>00 code:XX=>XX)
4424                    ; line_number = 82
4425                    ;  switch baud_rate_index done
4426                    ; delay after procedure statements=non-uniform
4427                    ; Exiting procedure with no return(s); fail with infinite loop
4428   0364 :   baud_rate_high__11:
4429 0364 2b64          goto    baud_rate_high__11
4430            
4431            
4432            
4433            
4434                    ; Configuration bits
4435                    ; fill = 0x3000
4436                    ; fcmen = off (0x0)
4437                    ; ieso = off (0x0)
4438                    ; boden = off (0x0)
4439                    ; cpd = off (0x80)
4440                    ; cp = off (0x40)
4441                    ; mclre = off (0x20)
4442                    ; pwrte = off (0x10)
4443                    ; wdte = off (0x0)
4444                    ; fosc = int_no_clk (0x4)
4445                    ; 12532 = 0x30f4
4446   30f4 =           __config 12532
4447                    ; Define start addresses for data regions
4448                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
4449                    ; Region="globals___0" Address=32" Size=80 Bytes=45 Bits=11 Available=33
4450                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
4451                    ; Region="globals___2" Address=288" Size=80 Bytes=0 Bits=0 Available=80
4452                    ; Region="globals___3" Address=416" Size=80 Bytes=0 Bits=0 Available=80
4453                    end
