1                       radix   dec
2                       ; Code bank 0; Start address: 0; End address: 2047
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    00000110 = globals___2 equ 272
10   00000190 = globals___3 equ 400
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) 2005-2007 by Wayne C. Gramlich
32                      ; # All rights reserved.
33              
34                      ; buffer = 'buffer_test'
35                      ; line_number = 6
36                      ; library _pic16f777 entered
37              
38                      ; # Copyright (c) 2004-2006 by Wayne C. Gramlich
39                      ; # All rights reserved.
40              
41                      ; buffer = '_pic16f777'
42                      ; line_number = 6
43                      ; processor pic16f676
44                      ; line_number = 7
45                      ; configure_address 0x2007
46                      ; line_number = 8
47                      ;  configure_fill 0x0600
48                      ; line_number = 9
49                      ;  configure_option cp: off = 0x2000
50                      ; line_number = 10
51                      ;  configure_option cp: on = 0x0000
52                      ; line_number = 11
53                      ;  configure_option cpmx: rc1 = 0x1000
54                      ; line_number = 12
55                      ;  configure_option cpmx: rb3 = 0x0000
56                      ; line_number = 13
57                      ;  configure_option debug: off = 0x0800
58                      ; line_number = 14
59                      ;  configure_option debug: on = 0x0000
60                      ; line_number = 15
61                      ;  configure_option borv: borv11 = 0x0180
62                      ; line_number = 16
63                      ;  configure_option borv: borv10 = 0x0100
64                      ; line_number = 17
65                      ;  configure_option borv: borv01 = 0x0080
66                      ; line_number = 18
67                      ;  configure_option borv: borv00 = 0x0000
68                      ; line_number = 19
69                      ;  configure_option boren: on = 0x40
70                      ; line_number = 20
71                      ;  configure_option boren: off = 0x00
72                      ; line_number = 21
73                      ;  configure_option mclre: on = 0x20
74                      ; line_number = 22
75                      ;  configure_option mclre: off = 0x00
76                      ; line_number = 23
77                      ;  configure_option pwrten: off = 8
78                      ; line_number = 24
79                      ;  configure_option pwrten: on = 0
80                      ; line_number = 25
81                      ;  configure_option wdten: on = 4
82                      ; line_number = 26
83                      ;  configure_option wdten: off = 0
84                      ; line_number = 27
85                      ;  configure_option fosc: rc_clk = 0x13
86                      ; line_number = 28
87                      ;  configure_option fosc: rc_no_clk = 0x12
88                      ; line_number = 29
89                      ;  configure_option fosc: int_clk = 0x11
90                      ; line_number = 30
91                      ;  configure_option fosc: int_no_clk = 0x10
92                      ; line_number = 31
93                      ;  configure_option fosc: extclk = 3
94                      ; line_number = 32
95                      ;  configure_option fosc: hs = 2
96                      ; line_number = 33
97                      ;  configure_option fosc: xt = 1
98                      ; line_number = 34
99                      ;  configure_option fosc: lp = 0
100             
101                     ; line_number = 36
102                     ;  configure_address 0x2008
103                     ; line_number = 37
104                     ;  configure_fill 0x33bc
105                     ; line_number = 38
106                     ;  configure_option borsen: on = 0x0040
107                     ; line_number = 39
108                     ;  configure_option borsen: off = 0x0000
109                     ; line_number = 40
110                     ;  configure_option ieso: on = 0x0002
111                     ; line_number = 41
112                     ;  configure_option ieso: off = 0x0002
113                     ; line_number = 42
114                     ;  configure_option fcmen: on = 0x0001
115                     ; line_number = 43
116                     ;  configure_option fcmen: off = 0x0000
117             
118                     ; line_number = 45
119                     ;  code_bank 0x0 : 0x7ff
120                     ; line_number = 46
121                     ;  code_bank 0x800 : 0xfff
122                     ; line_number = 47
123                     ;  code_bank 0x1000 : 0x17ff
124                     ; line_number = 48
125                     ;  code_bank 0x1800 : 0x1fff
126                     ; line_number = 49
127                     ;  data_bank 0x0 : 0x7f
128                     ; line_number = 50
129                     ;  data_bank 0x80 : 0xff
130                     ; line_number = 51
131                     ;  data_bank 0x100 : 0x17f
132                     ; line_number = 52
133                     ;  data_bank 0x180 : 0x1ff
134                     ; line_number = 53
135                     ;  global_region 0x20 : 0x6f
136                     ; line_number = 54
137                     ;  global_region 0xa0 : 0xef
138                     ; line_number = 55
139                     ;  global_region 0x110 : 0x16f
140                     ; line_number = 56
141                     ;  global_region 0x190 : 0x1ff
142                     ; line_number = 57
143                     ;  shared_region 0x70 : 0x7f
144             
145                     ; line_number = 59
146                     ;  interrupts_possible
147                     ; line_number = 60
148                     ;  packages pdip = 40
149                     ; line_number = 61
150                     ;  pin re3_in, re3_out, mclr, vpp, thv, re3_unused
151                     ; line_number = 62
152                     ; pin_bindings pdip = 1
153                     ; line_number = 63
154                     ;  bind_to _porte@3
155                     ; line_number = 64
156                     ;  or_if re3_in _trise 8
157                     ; line_number = 65
158                     ;  or_if re3_in _adcon1 15
159                     ; line_number = 66
160                     ;  or_if re3_in _adcon0 0
161                     ; line_number = 67
162                     ;  or_if re3_out _trise 0
163                     ; line_number = 68
164                     ;  or_if re3_out _adcon1 15
165                     ; line_number = 69
166                     ;  or_if re3_out _adcon0 0
167                     ; line_number = 70
168                     ; pin ra0_in, ra0_out, an0, ra0_unused
169                     ; line_number = 71
170                     ; pin_bindings pdip = 2
171                     ; line_number = 72
172                     ;  bind_to _porta@0
173                     ; line_number = 73
174                     ;  or_if ra0_in _trisa 1
175                     ; line_number = 74
176                     ;  or_if ra0_in _adcon1 15
177                     ; line_number = 75
178                     ;  or_if ra0_in _adcon0 0
179                     ; line_number = 76
180                     ;  or_if ra0_out _trisa 0
181                     ; line_number = 77
182                     ;  or_if ra0_out _adcon1 15
183                     ; line_number = 78
184                     ;  or_if ra0_out _adcon0 0
185                     ; line_number = 79
186                     ; pin ra1_in, ra1_out, an1, ra1_unused
187                     ; line_number = 80
188                     ; pin_bindings pdip = 3
189                     ; line_number = 81
190                     ;  bind_to _porta@1
191                     ; line_number = 82
192                     ;  or_if ra1_in _trisa 2
193                     ; line_number = 83
194                     ;  or_if ra1_in _adcon1 15
195                     ; line_number = 84
196                     ;  or_if ra1_in _adcon0 0
197                     ; line_number = 85
198                     ;  or_if ra1_out _trisa 0
199                     ; line_number = 86
200                     ;  or_if ra1_out _adcon1 15
201                     ; line_number = 87
202                     ;  or_if ra1_out _adcon0 0
203                     ; line_number = 88
204                     ; pin ra2_in, ra2_out, an2, vref_minus, ra2_unused
205                     ; line_number = 89
206                     ; pin_bindings pdip = 4
207                     ; line_number = 90
208                     ;  bind_to _porta@2
209                     ; line_number = 91
210                     ;  or_if ra2_in _trisa 4
211                     ; line_number = 92
212                     ;  or_if ra2_in _adcon1 15
213                     ; line_number = 93
214                     ;  or_if ra2_in _adcon0 0
215                     ; line_number = 94
216                     ;  or_if ra2_out _trisa 0
217                     ; line_number = 95
218                     ;  or_if ra2_out _adcon1 15
219                     ; line_number = 96
220                     ;  or_if ra2_out _adcon0 0
221                     ; line_number = 97
222                     ; pin ra3_in, ra3_out, an3, vrev_plus, ra3_unused
223                     ; line_number = 98
224                     ; pin_bindings pdip = 5
225                     ; line_number = 99
226                     ;  bind_to _porta@3
227                     ; line_number = 100
228                     ;  or_if ra3_in _trisa 8
229                     ; line_number = 101
230                     ;  or_if ra3_in _adcon1 15
231                     ; line_number = 102
232                     ;  or_if ra3_in _adcon0 0
233                     ; line_number = 103
234                     ;  or_if ra3_out _trisa 0
235                     ; line_number = 104
236                     ;  or_if ra3_out _adcon1 15
237                     ; line_number = 105
238                     ;  or_if ra3_out _adcon0 0
239                     ; line_number = 106
240                     ; pin ra4_in, ra4_out, t0cki, ra4_unused
241                     ; line_number = 107
242                     ; pin_bindings pdip = 6
243                     ; line_number = 108
244                     ;  bind_to _porta@4
245                     ; line_number = 109
246                     ;  or_if ra4_in _trisa 16
247                     ; line_number = 110
248                     ;  or_if ra4_in _adcon1 15
249                     ; line_number = 111
250                     ;  or_if ra4_in _adcon0 0
251                     ; line_number = 112
252                     ;  or_if ra4_out _trisa 0
253                     ; line_number = 113
254                     ;  or_if ra4_out _adcon1 15
255                     ; line_number = 114
256                     ;  or_if ra4_out _adcon0 0
257                     ; line_number = 115
258                     ; pin ra5_in, ra5_out, an4, ra5_unused
259                     ; line_number = 116
260                     ; pin_bindings pdip = 7
261                     ; line_number = 117
262                     ;  bind_to _porta@5
263                     ; line_number = 118
264                     ;  or_if ra5_in _trisa 32
265                     ; line_number = 119
266                     ;  or_if ra5_in _adcon1 15
267                     ; line_number = 120
268                     ;  or_if ra5_in _adcon0 0
269                     ; line_number = 121
270                     ;  or_if ra5_out _trisa 0
271                     ; line_number = 122
272                     ;  or_if ra5_out _adcon1 15
273                     ; line_number = 123
274                     ;  or_if ra5_out _adcon0 0
275                     ; line_number = 124
276                     ; pin re0_in, re0_out, rd, an5, re0_unused
277                     ; line_number = 125
278                     ; pin_bindings pdip = 8
279                     ; line_number = 126
280                     ;  bind_to _porte@0
281                     ; line_number = 127
282                     ;  or_if re0_in _trise 1
283                     ; line_number = 128
284                     ;  or_if re0_in _adcon1 15
285                     ; line_number = 129
286                     ;  or_if re0_in _adcon0 0
287                     ; line_number = 130
288                     ;  or_if re0_out _trise 0
289                     ; line_number = 131
290                     ;  or_if re0_out _adcon1 15
291                     ; line_number = 132
292                     ;  or_if re0_out _adcon0 0
293                     ; line_number = 133
294                     ; pin re1_in, re1_out, wr, an6, re1_unused
295                     ; line_number = 134
296                     ; pin_bindings pdip = 9
297                     ; line_number = 135
298                     ;  bind_to _porte@1
299                     ; line_number = 136
300                     ;  or_if re1_in _trise 2
301                     ; line_number = 137
302                     ;  or_if re1_in _adcon1 15
303                     ; line_number = 138
304                     ;  or_if re1_in _adcon0 0
305                     ; line_number = 139
306                     ;  or_if re1_out _trise 0
307                     ; line_number = 140
308                     ;  or_if re1_out _adcon1 15
309                     ; line_number = 141
310                     ;  or_if re1_out _adcon0 0
311                     ; line_number = 142
312                     ; pin re2_in, re2_out, cs, re2_unused
313                     ; line_number = 143
314                     ; pin_bindings pdip = 10
315                     ; line_number = 144
316                     ;  bind_to _porte@2
317                     ; line_number = 145
318                     ;  or_if re2_in _trise 4
319                     ; line_number = 146
320                     ;  or_if re2_in _adcon1 15
321                     ; line_number = 147
322                     ;  or_if re2_in _adcon0 0
323                     ; line_number = 148
324                     ;  or_if re2_out _trise 0
325                     ; line_number = 149
326                     ;  or_if re2_out _adcon1 15
327                     ; line_number = 150
328                     ;  or_if re2_out _adcon0 0
329                     ; line_number = 151
330                     ; pin vdd1, power_supply
331                     ; line_number = 152
332                     ; pin_bindings pdip = 11
333                     ; line_number = 153
334                     ; pin vss1, ground
335                     ; line_number = 154
336                     ; pin_bindings pdip = 12
337                     ; line_number = 155
338                     ; pin osc1, clki, ra7_in, ra7_out, ra7_unused
339                     ; line_number = 156
340                     ; pin_bindings pdip = 13
341                     ; line_number = 157
342                     ;  bind_to _porta@6
343                     ; line_number = 158
344                     ;  or_if ra7_in _trisa 128
345                     ; line_number = 159
346                     ;  or_if ra7_in _adcon1 15
347                     ; line_number = 160
348                     ;  or_if ra7_in _adcon0 0
349                     ; line_number = 161
350                     ;  or_if ra7_out _trisa 0
351                     ; line_number = 162
352                     ;  or_if ra7_out _adcon1 15
353                     ; line_number = 163
354                     ;  or_if ra7_out _adcon0 0
355                     ; line_number = 164
356                     ; pin osc2, clko, ra6_in, ra6_out, ra6_unused
357                     ; line_number = 165
358                     ; pin_bindings pdip = 14
359                     ; line_number = 166
360                     ;  bind_to _porta@6
361                     ; line_number = 167
362                     ;  or_if ra6_in _trisa 64
363                     ; line_number = 168
364                     ;  or_if ra6_in _adcon1 15
365                     ; line_number = 169
366                     ;  or_if ra6_in _adcon0 0
367                     ; line_number = 170
368                     ;  or_if ra6_out _trisa 0
369                     ; line_number = 171
370                     ;  or_if ra6_out _adcon1 15
371                     ; line_number = 172
372                     ;  or_if ra6_out _adcon0 0
373                     ; line_number = 173
374                     ; pin rc0_in, rc0_out, t1oso, t1cki, rc0_unused
375                     ; line_number = 174
376                     ; pin_bindings pdip = 15
377                     ; line_number = 175
378                     ;  bind_to _portc@0
379                     ; line_number = 176
380                     ;  or_if rc0_in _trisc 1
381                     ; line_number = 177
382                     ;  or_if rc0_in _adcon1 15
383                     ; line_number = 178
384                     ;  or_if rc0_in _adcon0 0
385                     ; line_number = 179
386                     ;  or_if rc0_out _trisc 0
387                     ; line_number = 180
388                     ;  or_if rc0_out _adcon1 15
389                     ; line_number = 181
390                     ;  or_if rc0_out _adcon0 0
391                     ; line_number = 182
392                     ; pin rc1_in, rc1_out, t1osi, ccp2a, rc1_unused
393                     ; line_number = 183
394                     ; pin_bindings pdip = 16
395                     ; line_number = 184
396                     ;  bind_to _portc@1
397                     ; line_number = 185
398                     ;  or_if rc1_in _trisc 2
399                     ; line_number = 186
400                     ;  or_if rc1_in _adcon1 15
401                     ; line_number = 187
402                     ;  or_if rc1_in _adcon0 0
403                     ; line_number = 188
404                     ;  or_if rc1_out _trisc 0
405                     ; line_number = 189
406                     ;  or_if rc1_out _adcon1 15
407                     ; line_number = 190
408                     ;  or_if rc1_out _adcon0 0
409                     ; line_number = 191
410                     ; pin rc2_in, rc2_out, ccp1, rc2_unused
411                     ; line_number = 192
412                     ; pin_bindings pdip = 17
413                     ; line_number = 193
414                     ;  bind_to _portc@2
415                     ; line_number = 194
416                     ;  or_if rc2_in _trisc 4
417                     ; line_number = 195
418                     ;  or_if rc2_in _adcon1 15
419                     ; line_number = 196
420                     ;  or_if rc2_in _adcon0 0
421                     ; line_number = 197
422                     ;  or_if rc2_out _trisc 0
423                     ; line_number = 198
424                     ;  or_if rc2_out _adcon1 15
425                     ; line_number = 199
426                     ;  or_if rc2_out _adcon0 0
427                     ; line_number = 200
428                     ; pin rc3_in, rc3_out, sck, scl, rc3_unused
429                     ; line_number = 201
430                     ; pin_bindings pdip = 18
431                     ; line_number = 202
432                     ;  bind_to _portc@3
433                     ; line_number = 203
434                     ;  or_if rc3_in _trisc 8
435                     ; line_number = 204
436                     ;  or_if rc3_in _adcon1 15
437                     ; line_number = 205
438                     ;  or_if rc3_in _adcon0 0
439                     ; line_number = 206
440                     ;  or_if rc3_out _trisc 0
441                     ; line_number = 207
442                     ;  or_if rc3_out _adcon1 15
443                     ; line_number = 208
444                     ;  or_if rc3_out _adcon0 0
445                     ; line_number = 209
446                     ; pin rd0_in, rd0_out, psp0, rd0_unused
447                     ; line_number = 210
448                     ; pin_bindings pdip = 19
449                     ; line_number = 211
450                     ;  bind_to _portd@0
451                     ; line_number = 212
452                     ;  or_if rd0_in _trisd 1
453                     ; line_number = 213
454                     ;  or_if rd0_in _adcon1 15
455                     ; line_number = 214
456                     ;  or_if rd0_in _adcon0 0
457                     ; line_number = 215
458                     ;  or_if rd0_out _trisd 0
459                     ; line_number = 216
460                     ;  or_if rd0_out _adcon1 15
461                     ; line_number = 217
462                     ;  or_if rd0_out _adcon0 0
463                     ; line_number = 218
464                     ; pin rd1_in, rd1_out, psp1, rd1_unused
465                     ; line_number = 219
466                     ; pin_bindings pdip = 20
467                     ; line_number = 220
468                     ;  bind_to _portd@1
469                     ; line_number = 221
470                     ;  or_if rd1_in _trisd 2
471                     ; line_number = 222
472                     ;  or_if rd1_in _adcon1 15
473                     ; line_number = 223
474                     ;  or_if rd1_in _adcon0 0
475                     ; line_number = 224
476                     ;  or_if rd1_out _trisd 0
477                     ; line_number = 225
478                     ;  or_if rd1_out _adcon1 15
479                     ; line_number = 226
480                     ;  or_if rd1_out _adcon0 0
481                     ; line_number = 227
482                     ; pin rd2_in, rd2_out, psp2, rd2_unused
483                     ; line_number = 228
484                     ; pin_bindings pdip = 21
485                     ; line_number = 229
486                     ;  bind_to _portd@2
487                     ; line_number = 230
488                     ;  or_if rd2_in _trisd 4
489                     ; line_number = 231
490                     ;  or_if rd2_in _adcon1 15
491                     ; line_number = 232
492                     ;  or_if rd2_in _adcon0 0
493                     ; line_number = 233
494                     ;  or_if rd2_out _trisd 0
495                     ; line_number = 234
496                     ;  or_if rd2_out _adcon1 15
497                     ; line_number = 235
498                     ;  or_if rd2_out _adcon0 0
499                     ; line_number = 236
500                     ; pin rd3_in, rd3_out, psp3, rd3_unused
501                     ; line_number = 237
502                     ; pin_bindings pdip = 22
503                     ; line_number = 238
504                     ;  bind_to _portd@3
505                     ; line_number = 239
506                     ;  or_if rd3_in _trisd 8
507                     ; line_number = 240
508                     ;  or_if rd3_in _adcon1 15
509                     ; line_number = 241
510                     ;  or_if rd3_in _adcon0 0
511                     ; line_number = 242
512                     ;  or_if rd3_out _trisd 0
513                     ; line_number = 243
514                     ;  or_if rd3_out _adcon1 15
515                     ; line_number = 244
516                     ;  or_if rd3_out _adcon0 0
517                     ; line_number = 245
518                     ; pin rc4_in, rc4_out, sdi, sda, rc4_unused
519                     ; line_number = 246
520                     ; pin_bindings pdip = 23
521                     ; line_number = 247
522                     ;  bind_to _portc@4
523                     ; line_number = 248
524                     ;  or_if rc4_in _trisc 16
525                     ; line_number = 249
526                     ;  or_if rc4_in _adcon1 15
527                     ; line_number = 250
528                     ;  or_if rc4_in _adcon0 0
529                     ; line_number = 251
530                     ;  or_if rc4_out _trisc 0
531                     ; line_number = 252
532                     ;  or_if rc4_out _adcon1 15
533                     ; line_number = 253
534                     ;  or_if rc4_out _adcon0 0
535                     ; line_number = 254
536                     ; pin rc5_in, rc5_out, sdo, rc5_unused
537                     ; line_number = 255
538                     ; pin_bindings pdip = 24
539                     ; line_number = 256
540                     ;  bind_to _portc@5
541                     ; line_number = 257
542                     ;  or_if rc5_in _trisc 32
543                     ; line_number = 258
544                     ;  or_if rc5_in _adcon1 15
545                     ; line_number = 259
546                     ;  or_if rc5_in _adcon0 0
547                     ; line_number = 260
548                     ;  or_if rc5_out _trisc 0
549                     ; line_number = 261
550                     ;  or_if rc5_out _adcon1 15
551                     ; line_number = 262
552                     ;  or_if rc5_out _adcon0 0
553                     ; line_number = 263
554                     ; pin rc6_in, rc6_out, tx, ck, rc6_unused
555                     ; line_number = 264
556                     ; pin_bindings pdip = 25
557                     ; line_number = 265
558                     ;  bind_to _portc@6
559                     ; line_number = 266
560                     ;  or_if rc6_in _trisc 64
561                     ; line_number = 267
562                     ;  or_if rc6_in _adcon1 15
563                     ; line_number = 268
564                     ;  or_if rc6_in _adcon0 0
565                     ; line_number = 269
566                     ;  or_if rc6_out _trisc 0
567                     ; line_number = 270
568                     ;  or_if rc6_out _adcon1 15
569                     ; line_number = 271
570                     ;  or_if rc6_out _adcon0 0
571                     ; line_number = 272
572                     ;  or_if tx _trisc 0
573                     ; line_number = 273
574                     ;  or_if tx _adcon1 15
575                     ; line_number = 274
576                     ;  or_if tx _adcon0 0
577                     ; line_number = 275
578                     ; pin rc7_in, rc7_out, rx, dt, rc7_unused
579                     ; line_number = 276
580                     ; pin_bindings pdip = 26
581                     ; line_number = 277
582                     ;  bind_to _portc@7
583                     ; line_number = 278
584                     ;  or_if rc7_in _trisc 128
585                     ; line_number = 279
586                     ;  or_if rc7_in _adcon1 15
587                     ; line_number = 280
588                     ;  or_if rc7_in _adcon0 0
589                     ; line_number = 281
590                     ;  or_if rx _trisc 128
591                     ; line_number = 282
592                     ;  or_if rx _adcon1 15
593                     ; line_number = 283
594                     ;  or_if rx _adcon0 0
595                     ; line_number = 284
596                     ;  or_if rc7_out _trisc 0
597                     ; line_number = 285
598                     ;  or_if rc7_out _adcon1 15
599                     ; line_number = 286
600                     ;  or_if rc7_out _adcon0 0
601                     ; line_number = 287
602                     ; pin rd4_in, rd4_out, psp4, rd4_unused
603                     ; line_number = 288
604                     ; pin_bindings pdip = 27
605                     ; line_number = 289
606                     ;  bind_to _portd@4
607                     ; line_number = 290
608                     ;  or_if rd4_in _trisd 16
609                     ; line_number = 291
610                     ;  or_if rd4_in _adcon1 15
611                     ; line_number = 292
612                     ;  or_if rd4_in _adcon0 0
613                     ; line_number = 293
614                     ;  or_if rd4_out _trisd 0
615                     ; line_number = 294
616                     ;  or_if rd4_out _adcon1 15
617                     ; line_number = 295
618                     ;  or_if rd4_out _adcon0 0
619                     ; line_number = 296
620                     ; pin rd5_in, rd5_out, psp5, rd5_unused
621                     ; line_number = 297
622                     ; pin_bindings pdip = 28
623                     ; line_number = 298
624                     ;  bind_to _portd@5
625                     ; line_number = 299
626                     ;  or_if rd5_in _trisd 32
627                     ; line_number = 300
628                     ;  or_if rd5_in _adcon1 15
629                     ; line_number = 301
630                     ;  or_if rd5_in _adcon0 0
631                     ; line_number = 302
632                     ;  or_if rd5_out _trisd 0
633                     ; line_number = 303
634                     ;  or_if rd5_out _adcon1 15
635                     ; line_number = 304
636                     ;  or_if rd5_out _adcon0 0
637                     ; line_number = 305
638                     ; pin rd6_in, rd6_out, psp6, rd6_unused
639                     ; line_number = 306
640                     ; pin_bindings pdip = 29
641                     ; line_number = 307
642                     ;  bind_to _portd@6
643                     ; line_number = 308
644                     ;  or_if rd6_in _trisd 64
645                     ; line_number = 309
646                     ;  or_if rd6_in _adcon1 15
647                     ; line_number = 310
648                     ;  or_if rd6_in _adcon0 0
649                     ; line_number = 311
650                     ;  or_if rd6_out _trisd 0
651                     ; line_number = 312
652                     ;  or_if rd6_out _adcon1 15
653                     ; line_number = 313
654                     ;  or_if rd6_out _adcon0 0
655                     ; line_number = 314
656                     ; pin rd7_in, rd7_out, psp7, rd7_unused
657                     ; line_number = 315
658                     ; pin_bindings pdip = 30
659                     ; line_number = 316
660                     ;  bind_to _portd@7
661                     ; line_number = 317
662                     ;  or_if rd7_in _trisd 128
663                     ; line_number = 318
664                     ;  or_if rd7_in _adcon1 15
665                     ; line_number = 319
666                     ;  or_if rd7_in _adcon0 0
667                     ; line_number = 320
668                     ;  or_if rd7_out _trisd 0
669                     ; line_number = 321
670                     ;  or_if rd7_out _adcon1 15
671                     ; line_number = 322
672                     ;  or_if rd7_out _adcon0 0
673                     ; line_number = 323
674                     ; pin vss2, ground2
675                     ; line_number = 324
676                     ; pin_bindings pdip = 31
677                     ; line_number = 325
678                     ; pin vdd2, power_supply2
679                     ; line_number = 326
680                     ; pin_bindings pdip = 32
681                     ; line_number = 327
682                     ; pin rb0_in, rb0_out, int, an12, rb0_unused
683                     ; line_number = 328
684                     ; pin_bindings pdip = 33
685                     ; line_number = 329
686                     ;  bind_to _portb@0
687                     ; line_number = 330
688                     ;  or_if rb0_in _trisb 1
689                     ; line_number = 331
690                     ;  or_if rb0_in _adcon1 15
691                     ; line_number = 332
692                     ;  or_if rb0_in _adcon0 0
693                     ; line_number = 333
694                     ;  or_if rb0_out _trisb 0
695                     ; line_number = 334
696                     ;  or_if rb0_out _adcon1 15
697                     ; line_number = 335
698                     ;  or_if rb0_out _adcon0 0
699                     ; line_number = 336
700                     ; pin rb1_in, rb1_out, an10, rb1_unused
701                     ; line_number = 337
702                     ; pin_bindings pdip = 34
703                     ; line_number = 338
704                     ;  bind_to _portb@1
705                     ; line_number = 339
706                     ;  or_if rb1_in _trisb 2
707                     ; line_number = 340
708                     ;  or_if rb1_in _adcon1 15
709                     ; line_number = 341
710                     ;  or_if rb1_in _adcon0 0
711                     ; line_number = 342
712                     ;  or_if rb1_out _trisb 0
713                     ; line_number = 343
714                     ;  or_if rb1_out _adcon1 15
715                     ; line_number = 344
716                     ;  or_if rb1_out _adcon0 0
717                     ; line_number = 345
718                     ; pin rb2_in, rb2_out, an8, rb2_unused
719                     ; line_number = 346
720                     ; pin_bindings pdip = 35
721                     ; line_number = 347
722                     ;  bind_to _portb@2
723                     ; line_number = 348
724                     ;  or_if rb2_in _trisb 4
725                     ; line_number = 349
726                     ;  or_if rb2_in _adcon1 15
727                     ; line_number = 350
728                     ;  or_if rb2_in _adcon0 0
729                     ; line_number = 351
730                     ;  or_if rb2_out _trisb 0
731                     ; line_number = 352
732                     ;  or_if rb2_out _adcon1 15
733                     ; line_number = 353
734                     ;  or_if rb2_out _adcon0 0
735                     ; line_number = 354
736                     ; pin rb3_in, rb3_out, ccp2b, an9, rb3_unused
737                     ; line_number = 355
738                     ; pin_bindings pdip = 36
739                     ; line_number = 356
740                     ;  bind_to _portb@3
741                     ; line_number = 357
742                     ;  or_if rb3_in _trisb 8
743                     ; line_number = 358
744                     ;  or_if rb3_in _adcon1 15
745                     ; line_number = 359
746                     ;  or_if rb3_out _trisb 0
747                     ; line_number = 360
748                     ;  or_if rb3_out _adcon1 15
749                     ; line_number = 361
750                     ; pin rb4_in, rb4_out, an11, rb4_unused
751                     ; line_number = 362
752                     ; pin_bindings pdip = 37
753                     ; line_number = 363
754                     ;  bind_to _portb@4
755                     ; line_number = 364
756                     ;  or_if rb4_in _trisb 16
757                     ; line_number = 365
758                     ;  or_if rb4_in _adcon1 15
759                     ; line_number = 366
760                     ;  or_if rb4_in _adcon0 0
761                     ; line_number = 367
762                     ;  or_if rb4_out _trisb 0
763                     ; line_number = 368
764                     ;  or_if rb4_out _adcon1 15
765                     ; line_number = 369
766                     ;  or_if rb4_out _adcon0 0
767                     ; line_number = 370
768                     ; pin rb5_in, rb5_out, an13, ccp3, rb5_unused
769                     ; line_number = 371
770                     ; pin_bindings pdip = 38
771                     ; line_number = 372
772                     ;  bind_to _portb@5
773                     ; line_number = 373
774                     ;  or_if rb5_in _trisb 32
775                     ; line_number = 374
776                     ;  or_if rb5_in _adcon1 15
777                     ; line_number = 375
778                     ;  or_if rb5_in _adcon0 0
779                     ; line_number = 376
780                     ;  or_if rb5_out _trisb 0
781                     ; line_number = 377
782                     ;  or_if rb5_out _adcon1 15
783                     ; line_number = 378
784                     ;  or_if rb5_out _adcon0 0
785                     ; line_number = 379
786                     ; pin rb6_in, rb6_out, pgc, rb6_unused
787                     ; line_number = 380
788                     ; pin_bindings pdip = 39
789                     ; line_number = 381
790                     ;  bind_to _portb@6
791                     ; line_number = 382
792                     ;  or_if rb6_in _trisb 64
793                     ; line_number = 383
794                     ;  or_if rb6_in _adcon1 15
795                     ; line_number = 384
796                     ;  or_if rb6_in _adcon0 0
797                     ; line_number = 385
798                     ;  or_if rb6_out _trisb 0
799                     ; line_number = 386
800                     ;  or_if rb6_out _adcon1 15
801                     ; line_number = 387
802                     ;  or_if rb6_out _adcon0 0
803                     ; line_number = 388
804                     ; pin rb7_in, rb7_out, pgd, rb7_unused
805                     ; line_number = 389
806                     ; pin_bindings pdip = 40
807                     ; line_number = 390
808                     ;  bind_to _portb@7
809                     ; line_number = 391
810                     ;  or_if rb7_in _trisb 128
811                     ; line_number = 392
812                     ;  or_if rb7_in _adcon1 15
813                     ; line_number = 393
814                     ;  or_if rb7_in _adcon0 0
815                     ; line_number = 394
816                     ;  or_if rb7_out _trisb 0
817                     ; line_number = 395
818                     ;  or_if rb7_out _adcon1 15
819                     ; line_number = 396
820                     ;  or_if rb7_out _adcon0 0
821             
822                     ; line_number = 398
823                     ; library _pic16f7x7 entered
824             
825                     ; # Copyright (c) 2004-2006 by Wayne C. Gramlich
826                     ; # All rights reserved.
827             
828                     ; buffer = '_pic16f7x7'
829                     ; line_number = 6
830                     ; library _standard entered
831             
832                     ; # Copyright (c) 2006 by Wayne C. Gramlich
833                     ; # All rights reserved.
834             
835                     ; # Standard definition for uCL:
836             
837                     ; buffer = '_standard'
838                     ; line_number = 8
839                     ; constant _true = (1 = 1)
840  00000001 = _true equ 1
841                     ; line_number = 9
842                     ; constant _false = (0 != 0)
843  00000000 = _false equ 0
844             
845             
846                     ; buffer = '_pic16f7x7'
847                     ; line_number = 6
848                     ; library _standard exited
849             
850                     ; # Common declarations for PIC16F7x7 series microcontrollers:
851             
852                     ; # Register and pin definitions:
853             
854                     ; # Bank 0:
855             
856                     ; line_number = 14
857                     ; register _indf = 
858  00000000 = _indf equ 0
859             
860                     ; line_number = 16
861                     ; register _tmr0 = 
862  00000001 = _tmr0 equ 1
863             
864                     ; line_number = 18
865                     ; register _pcl = 
866  00000002 = _pcl equ 2
867             
868                     ; line_number = 20
869                     ; register _status = 
870  00000003 = _status equ 3
871                     ; line_number = 21
872                     ; bind _irp = _status@7
873  00000003 = _irp___byte equ _status
874  00000007 = _irp___bit equ 7
875                     ; line_number = 22
876                     ; bind _rp1 = _status@6
877  00000003 = _rp1___byte equ _status
878  00000006 = _rp1___bit equ 6
879                     ; line_number = 23
880                     ; bind _rp0 = _status@5
881  00000003 = _rp0___byte equ _status
882  00000005 = _rp0___bit equ 5
883                     ; line_number = 24
884                     ; bind _to = _status@4
885  00000003 = _to___byte equ _status
886  00000004 = _to___bit equ 4
887                     ; line_number = 25
888                     ; bind _pd = _status@3
889  00000003 = _pd___byte equ _status
890  00000003 = _pd___bit equ 3
891                     ; line_number = 26
892                     ; bind _z = _status@2
893  00000003 = _z___byte equ _status
894  00000002 = _z___bit equ 2
895                     ; line_number = 27
896                     ; bind _dc = _status@1
897  00000003 = _dc___byte equ _status
898  00000001 = _dc___bit equ 1
899                     ; line_number = 28
900                     ; bind _c = _status@0
901  00000003 = _c___byte equ _status
902  00000000 = _c___bit equ 0
903             
904                     ; line_number = 30
905                     ; register _fsr = 
906  00000004 = _fsr equ 4
907             
908                     ; line_number = 32
909                     ; register _porta = 
910  00000005 = _porta equ 5
911             
912                     ; line_number = 34
913                     ; register _portb = 
914  00000006 = _portb equ 6
915             
916                     ; line_number = 36
917                     ; register _portc = 
918  00000007 = _portc equ 7
919             
920                     ; line_number = 38
921                     ; register _pclath = 
922  0000000a = _pclath equ 10
923             
924                     ; line_number = 40
925                     ; register _intcon = 
926  0000000b = _intcon equ 11
927                     ; line_number = 41
928                     ; bind _gie = _intcon@7
929  0000000b = _gie___byte equ _intcon
930  00000007 = _gie___bit equ 7
931                     ; line_number = 42
932                     ; bind _peie = _intcon@6
933  0000000b = _peie___byte equ _intcon
934  00000006 = _peie___bit equ 6
935                     ; line_number = 43
936                     ; bind _tmr0ie = _intcon@5
937  0000000b = _tmr0ie___byte equ _intcon
938  00000005 = _tmr0ie___bit equ 5
939                     ; line_number = 44
940                     ; bind _int0ie = _intcon@4
941  0000000b = _int0ie___byte equ _intcon
942  00000004 = _int0ie___bit equ 4
943                     ; line_number = 45
944                     ; bind _rbie = _intcon@3
945  0000000b = _rbie___byte equ _intcon
946  00000003 = _rbie___bit equ 3
947                     ; line_number = 46
948                     ; bind _tmr0if = _intcon@2
949  0000000b = _tmr0if___byte equ _intcon
950  00000002 = _tmr0if___bit equ 2
951                     ; line_number = 47
952                     ; bind _int0if = _intcon@1
953  0000000b = _int0if___byte equ _intcon
954  00000001 = _int0if___bit equ 1
955                     ; line_number = 48
956                     ; bind _rbif = _intcon@0
957  0000000b = _rbif___byte equ _intcon
958  00000000 = _rbif___bit equ 0
959             
960                     ; line_number = 50
961                     ; register _pir1 = 
962  0000000c = _pir1 equ 12
963                     ; line_number = 51
964                     ; bind _pspif = _pir1@7
965  0000000c = _pspif___byte equ _pir1
966  00000007 = _pspif___bit equ 7
967                     ; line_number = 52
968                     ; bind _adif = _pir1@6
969  0000000c = _adif___byte equ _pir1
970  00000006 = _adif___bit equ 6
971                     ; line_number = 53
972                     ; bind _rcif = _pir1@5
973  0000000c = _rcif___byte equ _pir1
974  00000005 = _rcif___bit equ 5
975                     ; line_number = 54
976                     ; bind _txif = _pir1@4
977  0000000c = _txif___byte equ _pir1
978  00000004 = _txif___bit equ 4
979                     ; line_number = 55
980                     ; bind _sspif = _pir1@3
981  0000000c = _sspif___byte equ _pir1
982  00000003 = _sspif___bit equ 3
983                     ; line_number = 56
984                     ; bind _ccp1if = _pir1@2
985  0000000c = _ccp1if___byte equ _pir1
986  00000002 = _ccp1if___bit equ 2
987                     ; line_number = 57
988                     ; bind _tmr2if = _pir1@1
989  0000000c = _tmr2if___byte equ _pir1
990  00000001 = _tmr2if___bit equ 1
991                     ; line_number = 58
992                     ; bind _tmr1if = _pir1@0
993  0000000c = _tmr1if___byte equ _pir1
994  00000000 = _tmr1if___bit equ 0
995             
996                     ; line_number = 60
997                     ; register _pir2 = 
998  0000000d = _pir2 equ 13
999                     ; line_number = 61
1000                    ; bind _osif = _pir2@7
1001 0000000d = _osif___byte equ _pir2
1002 00000007 = _osif___bit equ 7
1003                    ; line_number = 62
1004                    ; bind _cmif = _pir2@6
1005 0000000d = _cmif___byte equ _pir2
1006 00000006 = _cmif___bit equ 6
1007                    ; line_number = 63
1008                    ; bind _lvif = _pir2@5
1009 0000000d = _lvif___byte equ _pir2
1010 00000005 = _lvif___bit equ 5
1011                    ; line_number = 64
1012                    ; bind _bclif = _pir2@3
1013 0000000d = _bclif___byte equ _pir2
1014 00000003 = _bclif___bit equ 3
1015                    ; line_number = 65
1016                    ; bind _ccp3if = _pir2@1
1017 0000000d = _ccp3if___byte equ _pir2
1018 00000001 = _ccp3if___bit equ 1
1019                    ; line_number = 66
1020                    ; bind _ccp2if = _pir2@0
1021 0000000d = _ccp2if___byte equ _pir2
1022 00000000 = _ccp2if___bit equ 0
1023            
1024                    ; line_number = 68
1025                    ; register _tmr1l = 
1026 0000000e = _tmr1l equ 14
1027            
1028                    ; line_number = 70
1029                    ; register _tmr1h = 
1030 0000000f = _tmr1h equ 15
1031            
1032                    ; line_number = 72
1033                    ; register _t1con = 
1034 00000010 = _t1con equ 16
1035                    ; line_number = 73
1036                    ; bind _t1run = _t1con@6
1037 00000010 = _t1run___byte equ _t1con
1038 00000006 = _t1run___bit equ 6
1039                    ; line_number = 74
1040                    ; bind _t1ckps1 = _t1con@5
1041 00000010 = _t1ckps1___byte equ _t1con
1042 00000005 = _t1ckps1___bit equ 5
1043                    ; line_number = 75
1044                    ; bind _t1ckps0 = _t1con@4
1045 00000010 = _t1ckps0___byte equ _t1con
1046 00000004 = _t1ckps0___bit equ 4
1047                    ; line_number = 76
1048                    ; bind _t1oscen = _t1con@3
1049 00000010 = _t1oscen___byte equ _t1con
1050 00000003 = _t1oscen___bit equ 3
1051                    ; line_number = 77
1052                    ; bind _t1sync = _t1con@2
1053 00000010 = _t1sync___byte equ _t1con
1054 00000002 = _t1sync___bit equ 2
1055                    ; line_number = 78
1056                    ; bind _tmr1cs = _t1con@1
1057 00000010 = _tmr1cs___byte equ _t1con
1058 00000001 = _tmr1cs___bit equ 1
1059                    ; line_number = 79
1060                    ; bind _tmr1on = _t1con@0
1061 00000010 = _tmr1on___byte equ _t1con
1062 00000000 = _tmr1on___bit equ 0
1063            
1064                    ; line_number = 81
1065                    ; register _tmr2 = 
1066 00000011 = _tmr2 equ 17
1067            
1068                    ; line_number = 83
1069                    ; register _t2con = 
1070 00000012 = _t2con equ 18
1071                    ; line_number = 84
1072                    ; bind _toutps3 = _t2con@6
1073 00000012 = _toutps3___byte equ _t2con
1074 00000006 = _toutps3___bit equ 6
1075                    ; line_number = 85
1076                    ; bind _toutps2 = _t2con@5
1077 00000012 = _toutps2___byte equ _t2con
1078 00000005 = _toutps2___bit equ 5
1079                    ; line_number = 86
1080                    ; bind _toutps1 = _t2con@4
1081 00000012 = _toutps1___byte equ _t2con
1082 00000004 = _toutps1___bit equ 4
1083                    ; line_number = 87
1084                    ; bind _toutps0 = _t2con@3
1085 00000012 = _toutps0___byte equ _t2con
1086 00000003 = _toutps0___bit equ 3
1087                    ; line_number = 88
1088                    ; bind _tmr2on = _t2con@2
1089 00000012 = _tmr2on___byte equ _t2con
1090 00000002 = _tmr2on___bit equ 2
1091                    ; line_number = 89
1092                    ; bind _t2ckps1 = _t2con@1
1093 00000012 = _t2ckps1___byte equ _t2con
1094 00000001 = _t2ckps1___bit equ 1
1095                    ; line_number = 90
1096                    ; bind _t2ckps0 = _t2con@0
1097 00000012 = _t2ckps0___byte equ _t2con
1098 00000000 = _t2ckps0___bit equ 0
1099            
1100                    ; line_number = 92
1101                    ; register _sspbuf = 
1102 00000013 = _sspbuf equ 19
1103            
1104                    ; line_number = 94
1105                    ; register _sspcon = 
1106 00000014 = _sspcon equ 20
1107                    ; line_number = 95
1108                    ; bind _wcol = _sspcon@7
1109 00000014 = _wcol___byte equ _sspcon
1110 00000007 = _wcol___bit equ 7
1111                    ; line_number = 96
1112                    ; bind _sspov = _sspcon@6
1113 00000014 = _sspov___byte equ _sspcon
1114 00000006 = _sspov___bit equ 6
1115                    ; line_number = 97
1116                    ; bind _sspen = _sspcon@5
1117 00000014 = _sspen___byte equ _sspcon
1118 00000005 = _sspen___bit equ 5
1119                    ; line_number = 98
1120                    ; bind _ckp = _sspcon@4
1121 00000014 = _ckp___byte equ _sspcon
1122 00000004 = _ckp___bit equ 4
1123                    ; line_number = 99
1124                    ; bind _sspm3 = _sspcon@3
1125 00000014 = _sspm3___byte equ _sspcon
1126 00000003 = _sspm3___bit equ 3
1127                    ; line_number = 100
1128                    ; bind _sspm2 = _sspcon@2
1129 00000014 = _sspm2___byte equ _sspcon
1130 00000002 = _sspm2___bit equ 2
1131                    ; line_number = 101
1132                    ; bind _sspm1 = _sspcon@1
1133 00000014 = _sspm1___byte equ _sspcon
1134 00000001 = _sspm1___bit equ 1
1135                    ; line_number = 102
1136                    ; bind _sspm0 = _sspcon@0
1137 00000014 = _sspm0___byte equ _sspcon
1138 00000000 = _sspm0___bit equ 0
1139            
1140                    ; line_number = 104
1141                    ; register _ccpr1l = 
1142 00000015 = _ccpr1l equ 21
1143            
1144                    ; line_number = 106
1145                    ; register _ccpr1h = 
1146 00000016 = _ccpr1h equ 22
1147            
1148                    ; line_number = 108
1149                    ; register _ccp1con = 
1150 00000017 = _ccp1con equ 23
1151                    ; line_number = 109
1152                    ; bind _ccp1x = _ccp1con@5
1153 00000017 = _ccp1x___byte equ _ccp1con
1154 00000005 = _ccp1x___bit equ 5
1155                    ; line_number = 110
1156                    ; bind _ccp1y = _ccp1con@4
1157 00000017 = _ccp1y___byte equ _ccp1con
1158 00000004 = _ccp1y___bit equ 4
1159                    ; line_number = 111
1160                    ; bind _ccp1m3 = _ccp1con@3
1161 00000017 = _ccp1m3___byte equ _ccp1con
1162 00000003 = _ccp1m3___bit equ 3
1163                    ; line_number = 112
1164                    ; bind _ccp1m2 = _ccp1con@2
1165 00000017 = _ccp1m2___byte equ _ccp1con
1166 00000002 = _ccp1m2___bit equ 2
1167                    ; line_number = 113
1168                    ; bind _ccp1m1 = _ccp1con@1
1169 00000017 = _ccp1m1___byte equ _ccp1con
1170 00000001 = _ccp1m1___bit equ 1
1171                    ; line_number = 114
1172                    ; bind _ccp1m0 = _ccp1con@0
1173 00000017 = _ccp1m0___byte equ _ccp1con
1174 00000000 = _ccp1m0___bit equ 0
1175            
1176                    ; line_number = 116
1177                    ; register _rcsta = 
1178 00000018 = _rcsta equ 24
1179                    ; line_number = 117
1180                    ; bind _spen = _rcsta@7
1181 00000018 = _spen___byte equ _rcsta
1182 00000007 = _spen___bit equ 7
1183                    ; line_number = 118
1184                    ; bind _rx9 = _rcsta@6
1185 00000018 = _rx9___byte equ _rcsta
1186 00000006 = _rx9___bit equ 6
1187                    ; line_number = 119
1188                    ; bind _sren = _rcsta@5
1189 00000018 = _sren___byte equ _rcsta
1190 00000005 = _sren___bit equ 5
1191                    ; line_number = 120
1192                    ; bind _cren = _rcsta@4
1193 00000018 = _cren___byte equ _rcsta
1194 00000004 = _cren___bit equ 4
1195                    ; line_number = 121
1196                    ; bind _adden = _rcsta@3
1197 00000018 = _adden___byte equ _rcsta
1198 00000003 = _adden___bit equ 3
1199                    ; line_number = 122
1200                    ; bind _ferr = _rcsta@2
1201 00000018 = _ferr___byte equ _rcsta
1202 00000002 = _ferr___bit equ 2
1203                    ; line_number = 123
1204                    ; bind _oerr = _rcsta@1
1205 00000018 = _oerr___byte equ _rcsta
1206 00000001 = _oerr___bit equ 1
1207                    ; line_number = 124
1208                    ; bind _rx9d = _rcsta@0
1209 00000018 = _rx9d___byte equ _rcsta
1210 00000000 = _rx9d___bit equ 0
1211            
1212                    ; line_number = 126
1213                    ; register _txreg = 
1214 00000019 = _txreg equ 25
1215            
1216                    ; line_number = 128
1217                    ; register _rcreg = 
1218 0000001a = _rcreg equ 26
1219            
1220                    ; line_number = 130
1221                    ; register _ccpr2l = 
1222 0000001b = _ccpr2l equ 27
1223            
1224                    ; line_number = 132
1225                    ; register _ccpr2h = 
1226 0000001c = _ccpr2h equ 28
1227            
1228                    ; line_number = 134
1229                    ; register _ccp2con = 
1230 0000001d = _ccp2con equ 29
1231                    ; line_number = 135
1232                    ; bind _ccp2x = _ccp2con@5
1233 0000001d = _ccp2x___byte equ _ccp2con
1234 00000005 = _ccp2x___bit equ 5
1235                    ; line_number = 136
1236                    ; bind _ccp2y = _ccp2con@4
1237 0000001d = _ccp2y___byte equ _ccp2con
1238 00000004 = _ccp2y___bit equ 4
1239                    ; line_number = 137
1240                    ; bind _ccp2m3 = _ccp2con@3
1241 0000001d = _ccp2m3___byte equ _ccp2con
1242 00000003 = _ccp2m3___bit equ 3
1243                    ; line_number = 138
1244                    ; bind _ccp2m2 = _ccp2con@2
1245 0000001d = _ccp2m2___byte equ _ccp2con
1246 00000002 = _ccp2m2___bit equ 2
1247                    ; line_number = 139
1248                    ; bind _ccp2m1 = _ccp2con@1
1249 0000001d = _ccp2m1___byte equ _ccp2con
1250 00000001 = _ccp2m1___bit equ 1
1251                    ; line_number = 140
1252                    ; bind _ccp2m0 = _ccp2con@0
1253 0000001d = _ccp2m0___byte equ _ccp2con
1254 00000000 = _ccp2m0___bit equ 0
1255            
1256                    ; line_number = 142
1257                    ; register _adresh = 
1258 0000001e = _adresh equ 30
1259            
1260                    ; line_number = 144
1261                    ; register _adcon0 = 
1262 0000001f = _adcon0 equ 31
1263                    ; line_number = 145
1264                    ; bind _adcs1 = _adcon0@7
1265 0000001f = _adcs1___byte equ _adcon0
1266 00000007 = _adcs1___bit equ 7
1267                    ; line_number = 146
1268                    ; bind _adcs0 = _adcon0@6
1269 0000001f = _adcs0___byte equ _adcon0
1270 00000006 = _adcs0___bit equ 6
1271                    ; line_number = 147
1272                    ; bind _chs2 = _adcon0@5
1273 0000001f = _chs2___byte equ _adcon0
1274 00000005 = _chs2___bit equ 5
1275                    ; line_number = 148
1276                    ; bind _chs1 = _adcon0@4
1277 0000001f = _chs1___byte equ _adcon0
1278 00000004 = _chs1___bit equ 4
1279                    ; line_number = 149
1280                    ; bind _chs0 = _adcon0@3
1281 0000001f = _chs0___byte equ _adcon0
1282 00000003 = _chs0___bit equ 3
1283                    ; line_number = 150
1284                    ; bind _go_done = _adcon0@2
1285 0000001f = _go_done___byte equ _adcon0
1286 00000002 = _go_done___bit equ 2
1287                    ; line_number = 151
1288                    ; bind _adon = _adcon0@0
1289 0000001f = _adon___byte equ _adcon0
1290 00000000 = _adon___bit equ 0
1291            
1292                    ; # Bank 1:
1293            
1294                    ; line_number = 155
1295                    ; register _option_reg = 
1296 00000081 = _option_reg equ 129
1297                    ; line_number = 156
1298                    ; bind _rbpu = _option_reg@7
1299 00000081 = _rbpu___byte equ _option_reg
1300 00000007 = _rbpu___bit equ 7
1301                    ; line_number = 157
1302                    ; bind _intedg = _option_reg@6
1303 00000081 = _intedg___byte equ _option_reg
1304 00000006 = _intedg___bit equ 6
1305                    ; line_number = 158
1306                    ; bind _t0cs = _option_reg@5
1307 00000081 = _t0cs___byte equ _option_reg
1308 00000005 = _t0cs___bit equ 5
1309                    ; line_number = 159
1310                    ; bind _t0se = _option_reg@4
1311 00000081 = _t0se___byte equ _option_reg
1312 00000004 = _t0se___bit equ 4
1313                    ; line_number = 160
1314                    ; bind _psa = _option_reg@3
1315 00000081 = _psa___byte equ _option_reg
1316 00000003 = _psa___bit equ 3
1317                    ; line_number = 161
1318                    ; bind _ps2 = _option_reg@2
1319 00000081 = _ps2___byte equ _option_reg
1320 00000002 = _ps2___bit equ 2
1321                    ; line_number = 162
1322                    ; bind _ps1 = _option_reg@1
1323 00000081 = _ps1___byte equ _option_reg
1324 00000001 = _ps1___bit equ 1
1325                    ; line_number = 163
1326                    ; bind _ps0 = _option_reg@0
1327 00000081 = _ps0___byte equ _option_reg
1328 00000000 = _ps0___bit equ 0
1329            
1330                    ; line_number = 165
1331                    ; register _trisa = 
1332 00000085 = _trisa equ 133
1333                    ; line_number = 166
1334                    ; bind _trisa7 = _trisa@7
1335 00000085 = _trisa7___byte equ _trisa
1336 00000007 = _trisa7___bit equ 7
1337                    ; line_number = 167
1338                    ; bind _trisa6 = _trisa@6
1339 00000085 = _trisa6___byte equ _trisa
1340 00000006 = _trisa6___bit equ 6
1341                    ; line_number = 168
1342                    ; bind _trisa5 = _trisa@5
1343 00000085 = _trisa5___byte equ _trisa
1344 00000005 = _trisa5___bit equ 5
1345                    ; line_number = 169
1346                    ; bind _trisa4 = _trisa@4
1347 00000085 = _trisa4___byte equ _trisa
1348 00000004 = _trisa4___bit equ 4
1349                    ; line_number = 170
1350                    ; bind _trisa3 = _trisa@3
1351 00000085 = _trisa3___byte equ _trisa
1352 00000003 = _trisa3___bit equ 3
1353                    ; line_number = 171
1354                    ; bind _trisa2 = _trisa@2
1355 00000085 = _trisa2___byte equ _trisa
1356 00000002 = _trisa2___bit equ 2
1357                    ; line_number = 172
1358                    ; bind _trisa1 = _trisa@1
1359 00000085 = _trisa1___byte equ _trisa
1360 00000001 = _trisa1___bit equ 1
1361                    ; line_number = 173
1362                    ; bind _trisa0 = _trisa@0
1363 00000085 = _trisa0___byte equ _trisa
1364 00000000 = _trisa0___bit equ 0
1365            
1366                    ; line_number = 175
1367                    ; register _trisb = 
1368 00000086 = _trisb equ 134
1369            
1370                    ; line_number = 177
1371                    ; register _trisc = 
1372 00000087 = _trisc equ 135
1373                    ; line_number = 178
1374                    ; bind _trisc7 = _trisc@7
1375 00000087 = _trisc7___byte equ _trisc
1376 00000007 = _trisc7___bit equ 7
1377                    ; line_number = 179
1378                    ; bind _trisc6 = _trisc@6
1379 00000087 = _trisc6___byte equ _trisc
1380 00000006 = _trisc6___bit equ 6
1381                    ; line_number = 180
1382                    ; bind _trisc5 = _trisc@5
1383 00000087 = _trisc5___byte equ _trisc
1384 00000005 = _trisc5___bit equ 5
1385                    ; line_number = 181
1386                    ; bind _trisc4 = _trisc@4
1387 00000087 = _trisc4___byte equ _trisc
1388 00000004 = _trisc4___bit equ 4
1389                    ; line_number = 182
1390                    ; bind _trisc3 = _trisc@3
1391 00000087 = _trisc3___byte equ _trisc
1392 00000003 = _trisc3___bit equ 3
1393                    ; line_number = 183
1394                    ; bind _trisc2 = _trisc@2
1395 00000087 = _trisc2___byte equ _trisc
1396 00000002 = _trisc2___bit equ 2
1397                    ; line_number = 184
1398                    ; bind _trisc1 = _trisc@1
1399 00000087 = _trisc1___byte equ _trisc
1400 00000001 = _trisc1___bit equ 1
1401                    ; line_number = 185
1402                    ; bind _trisc0 = _trisc@0
1403 00000087 = _trisc0___byte equ _trisc
1404 00000000 = _trisc0___bit equ 0
1405            
1406                    ; line_number = 187
1407                    ; register _pie1 = 
1408 0000008c = _pie1 equ 140
1409                    ; line_number = 188
1410                    ; bind _pspie = _pie1@7
1411 0000008c = _pspie___byte equ _pie1
1412 00000007 = _pspie___bit equ 7
1413                    ; line_number = 189
1414                    ; bind _adie = _pie1@6
1415 0000008c = _adie___byte equ _pie1
1416 00000006 = _adie___bit equ 6
1417                    ; line_number = 190
1418                    ; bind _rcie = _pie1@5
1419 0000008c = _rcie___byte equ _pie1
1420 00000005 = _rcie___bit equ 5
1421                    ; line_number = 191
1422                    ; bind _txie = _pie1@4
1423 0000008c = _txie___byte equ _pie1
1424 00000004 = _txie___bit equ 4
1425                    ; line_number = 192
1426                    ; bind _sspie = _pie1@3
1427 0000008c = _sspie___byte equ _pie1
1428 00000003 = _sspie___bit equ 3
1429                    ; line_number = 193
1430                    ; bind _ccp1ie = _pie1@2
1431 0000008c = _ccp1ie___byte equ _pie1
1432 00000002 = _ccp1ie___bit equ 2
1433                    ; line_number = 194
1434                    ; bind _tmr2ie = _pie1@1
1435 0000008c = _tmr2ie___byte equ _pie1
1436 00000001 = _tmr2ie___bit equ 1
1437                    ; line_number = 195
1438                    ; bind _tmr1ie = _pie1@0
1439 0000008c = _tmr1ie___byte equ _pie1
1440 00000000 = _tmr1ie___bit equ 0
1441            
1442                    ; line_number = 197
1443                    ; register _pie2 = 
1444 0000008d = _pie2 equ 141
1445                    ; line_number = 198
1446                    ; bind _osfie = _pie2@7
1447 0000008d = _osfie___byte equ _pie2
1448 00000007 = _osfie___bit equ 7
1449                    ; line_number = 199
1450                    ; bind _cmie = _pie2@6
1451 0000008d = _cmie___byte equ _pie2
1452 00000006 = _cmie___bit equ 6
1453                    ; line_number = 200
1454                    ; bind _lvdie = _pie2@5
1455 0000008d = _lvdie___byte equ _pie2
1456 00000005 = _lvdie___bit equ 5
1457                    ; line_number = 201
1458                    ; bind _bclie = _pie2@3
1459 0000008d = _bclie___byte equ _pie2
1460 00000003 = _bclie___bit equ 3
1461                    ; line_number = 202
1462                    ; bind _ccp3ie = _pie2@1
1463 0000008d = _ccp3ie___byte equ _pie2
1464 00000001 = _ccp3ie___bit equ 1
1465                    ; line_number = 203
1466                    ; bind _ccp2ie = _pie2@0
1467 0000008d = _ccp2ie___byte equ _pie2
1468 00000000 = _ccp2ie___bit equ 0
1469            
1470                    ; line_number = 205
1471                    ; register _pcon = 
1472 0000008e = _pcon equ 142
1473                    ; line_number = 206
1474                    ; bind _sboren = _pcon@2
1475 0000008e = _sboren___byte equ _pcon
1476 00000002 = _sboren___bit equ 2
1477                    ; line_number = 207
1478                    ; bind _por = _pcon@1
1479 0000008e = _por___byte equ _pcon
1480 00000001 = _por___bit equ 1
1481                    ; line_number = 208
1482                    ; bind _bor = _pcon@0
1483 0000008e = _bor___byte equ _pcon
1484 00000000 = _bor___bit equ 0
1485            
1486                    ; line_number = 210
1487                    ; register _osccon = 
1488 0000008f = _osccon equ 143
1489                    ; line_number = 211
1490                    ; bind _ircf2 = _osccon@6
1491 0000008f = _ircf2___byte equ _osccon
1492 00000006 = _ircf2___bit equ 6
1493                    ; line_number = 212
1494                    ; bind _ircf1 = _osccon@5
1495 0000008f = _ircf1___byte equ _osccon
1496 00000005 = _ircf1___bit equ 5
1497                    ; line_number = 213
1498                    ; bind _ircf0 = _osccon@4
1499 0000008f = _ircf0___byte equ _osccon
1500 00000004 = _ircf0___bit equ 4
1501                    ; line_number = 214
1502                    ; bind _osts = _osccon@3
1503 0000008f = _osts___byte equ _osccon
1504 00000003 = _osts___bit equ 3
1505                    ; line_number = 215
1506                    ; bind _iofs = _osccon@2
1507 0000008f = _iofs___byte equ _osccon
1508 00000002 = _iofs___bit equ 2
1509                    ; line_number = 216
1510                    ; bind _scs1 = _osccon@1
1511 0000008f = _scs1___byte equ _osccon
1512 00000001 = _scs1___bit equ 1
1513                    ; line_number = 217
1514                    ; bind _scs0 = _osccon@0
1515 0000008f = _scs0___byte equ _osccon
1516 00000000 = _scs0___bit equ 0
1517            
1518                    ; line_number = 219
1519                    ; register _osctune = 
1520 00000090 = _osctune equ 144
1521                    ; line_number = 220
1522                    ; bind _tun5 = _osctune@5
1523 00000090 = _tun5___byte equ _osctune
1524 00000005 = _tun5___bit equ 5
1525                    ; line_number = 221
1526                    ; bind _tun4 = _osctune@4
1527 00000090 = _tun4___byte equ _osctune
1528 00000004 = _tun4___bit equ 4
1529                    ; line_number = 222
1530                    ; bind _tun3 = _osctune@3
1531 00000090 = _tun3___byte equ _osctune
1532 00000003 = _tun3___bit equ 3
1533                    ; line_number = 223
1534                    ; bind _tun2 = _osctune@2
1535 00000090 = _tun2___byte equ _osctune
1536 00000002 = _tun2___bit equ 2
1537                    ; line_number = 224
1538                    ; bind _tun1 = _osctune@1
1539 00000090 = _tun1___byte equ _osctune
1540 00000001 = _tun1___bit equ 1
1541                    ; line_number = 225
1542                    ; bind _tun0 = _osctune@0
1543 00000090 = _tun0___byte equ _osctune
1544 00000000 = _tun0___bit equ 0
1545            
1546                    ; line_number = 227
1547                    ; register _sspcon2 = 
1548 00000091 = _sspcon2 equ 145
1549                    ; line_number = 228
1550                    ; bind _gcen = _sspcon2@7
1551 00000091 = _gcen___byte equ _sspcon2
1552 00000007 = _gcen___bit equ 7
1553                    ; line_number = 229
1554                    ; bind _ackstat = _sspcon2@6
1555 00000091 = _ackstat___byte equ _sspcon2
1556 00000006 = _ackstat___bit equ 6
1557                    ; line_number = 230
1558                    ; bind _ackdt = _sspcon2@5
1559 00000091 = _ackdt___byte equ _sspcon2
1560 00000005 = _ackdt___bit equ 5
1561                    ; line_number = 231
1562                    ; bind _acken = _sspcon2@4
1563 00000091 = _acken___byte equ _sspcon2
1564 00000004 = _acken___bit equ 4
1565                    ; line_number = 232
1566                    ; bind _rcen = _sspcon2@3
1567 00000091 = _rcen___byte equ _sspcon2
1568 00000003 = _rcen___bit equ 3
1569                    ; line_number = 233
1570                    ; bind _pen = _sspcon2@2
1571 00000091 = _pen___byte equ _sspcon2
1572 00000002 = _pen___bit equ 2
1573                    ; line_number = 234
1574                    ; bind _rsen = _sspcon2@1
1575 00000091 = _rsen___byte equ _sspcon2
1576 00000001 = _rsen___bit equ 1
1577                    ; line_number = 235
1578                    ; bind _sen = _sspcon2@0
1579 00000091 = _sen___byte equ _sspcon2
1580 00000000 = _sen___bit equ 0
1581            
1582                    ; line_number = 237
1583                    ; register _pr2 = 
1584 00000092 = _pr2 equ 146
1585            
1586                    ; line_number = 239
1587                    ; register _sspadd = 
1588 00000093 = _sspadd equ 147
1589            
1590                    ; line_number = 241
1591                    ; register _sspstat = 
1592 00000094 = _sspstat equ 148
1593                    ; line_number = 242
1594                    ; bind _smp = _sspstat@7
1595 00000094 = _smp___byte equ _sspstat
1596 00000007 = _smp___bit equ 7
1597                    ; line_number = 243
1598                    ; bind _cke = _sspstat@6
1599 00000094 = _cke___byte equ _sspstat
1600 00000006 = _cke___bit equ 6
1601                    ; line_number = 244
1602                    ; bind _da = _sspstat@5
1603 00000094 = _da___byte equ _sspstat
1604 00000005 = _da___bit equ 5
1605                    ; line_number = 245
1606                    ; bind _p = _sspstat@4
1607 00000094 = _p___byte equ _sspstat
1608 00000004 = _p___bit equ 4
1609                    ; line_number = 246
1610                    ; bind _s = _sspstat@3
1611 00000094 = _s___byte equ _sspstat
1612 00000003 = _s___bit equ 3
1613                    ; line_number = 247
1614                    ; bind _rw = _sspstat@2
1615 00000094 = _rw___byte equ _sspstat
1616 00000002 = _rw___bit equ 2
1617                    ; line_number = 248
1618                    ; bind _ua = _sspstat@1
1619 00000094 = _ua___byte equ _sspstat
1620 00000001 = _ua___bit equ 1
1621                    ; line_number = 249
1622                    ; bind _bf = _sspstat@0
1623 00000094 = _bf___byte equ _sspstat
1624 00000000 = _bf___bit equ 0
1625            
1626                    ; line_number = 251
1627                    ; register _ccpr3l = 
1628 00000095 = _ccpr3l equ 149
1629            
1630                    ; line_number = 253
1631                    ; register _ccpr3h = 
1632 00000096 = _ccpr3h equ 150
1633            
1634                    ; line_number = 255
1635                    ; register _ccp3con = 
1636 00000096 = _ccp3con equ 150
1637                    ; line_number = 256
1638                    ; bind _ccp3x = _ccp3con@5
1639 00000096 = _ccp3x___byte equ _ccp3con
1640 00000005 = _ccp3x___bit equ 5
1641                    ; line_number = 257
1642                    ; bind _ccp3y = _ccp3con@4
1643 00000096 = _ccp3y___byte equ _ccp3con
1644 00000004 = _ccp3y___bit equ 4
1645                    ; line_number = 258
1646                    ; bind _ccp3m3 = _ccp3con@3
1647 00000096 = _ccp3m3___byte equ _ccp3con
1648 00000003 = _ccp3m3___bit equ 3
1649                    ; line_number = 259
1650                    ; bind _ccp3m2 = _ccp3con@2
1651 00000096 = _ccp3m2___byte equ _ccp3con
1652 00000002 = _ccp3m2___bit equ 2
1653                    ; line_number = 260
1654                    ; bind _ccp3m1 = _ccp3con@1
1655 00000096 = _ccp3m1___byte equ _ccp3con
1656 00000001 = _ccp3m1___bit equ 1
1657                    ; line_number = 261
1658                    ; bind _ccp3m0 = _ccp3con@0
1659 00000096 = _ccp3m0___byte equ _ccp3con
1660 00000000 = _ccp3m0___bit equ 0
1661            
1662                    ; line_number = 263
1663                    ; register _txsta = 
1664 00000098 = _txsta equ 152
1665                    ; line_number = 264
1666                    ; bind _csrc = _txsta@7
1667 00000098 = _csrc___byte equ _txsta
1668 00000007 = _csrc___bit equ 7
1669                    ; line_number = 265
1670                    ; bind _tx9 = _txsta@6
1671 00000098 = _tx9___byte equ _txsta
1672 00000006 = _tx9___bit equ 6
1673                    ; line_number = 266
1674                    ; bind _txen = _txsta@5
1675 00000098 = _txen___byte equ _txsta
1676 00000005 = _txen___bit equ 5
1677                    ; line_number = 267
1678                    ; bind _sync = _txsta@4
1679 00000098 = _sync___byte equ _txsta
1680 00000004 = _sync___bit equ 4
1681                    ; line_number = 268
1682                    ; bind _brgh = _txsta@2
1683 00000098 = _brgh___byte equ _txsta
1684 00000002 = _brgh___bit equ 2
1685                    ; line_number = 269
1686                    ; bind _trmt = _txsta@1
1687 00000098 = _trmt___byte equ _txsta
1688 00000001 = _trmt___bit equ 1
1689                    ; line_number = 270
1690                    ; bind _tx9d = _txsta@0
1691 00000098 = _tx9d___byte equ _txsta
1692 00000000 = _tx9d___bit equ 0
1693            
1694                    ; line_number = 272
1695                    ; register _spbrg = 
1696 00000099 = _spbrg equ 153
1697            
1698                    ; line_number = 274
1699                    ; register _adcon2 = 
1700 0000009b = _adcon2 equ 155
1701                    ; line_number = 275
1702                    ; bind _acqt2 = _adcon2@5
1703 0000009b = _acqt2___byte equ _adcon2
1704 00000005 = _acqt2___bit equ 5
1705                    ; line_number = 276
1706                    ; bind _acqt1 = _adcon2@4
1707 0000009b = _acqt1___byte equ _adcon2
1708 00000004 = _acqt1___bit equ 4
1709                    ; line_number = 277
1710                    ; bind _acqt0 = _adcon2@3
1711 0000009b = _acqt0___byte equ _adcon2
1712 00000003 = _acqt0___bit equ 3
1713            
1714                    ; line_number = 279
1715                    ; register _cmcon = 
1716 0000009c = _cmcon equ 156
1717                    ; line_number = 280
1718                    ; bind _c2out = _cmcon@7
1719 0000009c = _c2out___byte equ _cmcon
1720 00000007 = _c2out___bit equ 7
1721                    ; line_number = 281
1722                    ; bind _c1out = _cmcon@6
1723 0000009c = _c1out___byte equ _cmcon
1724 00000006 = _c1out___bit equ 6
1725                    ; line_number = 282
1726                    ; bind _c2inv = _cmcon@5
1727 0000009c = _c2inv___byte equ _cmcon
1728 00000005 = _c2inv___bit equ 5
1729                    ; line_number = 283
1730                    ; bind _c1inv = _cmcon@4
1731 0000009c = _c1inv___byte equ _cmcon
1732 00000004 = _c1inv___bit equ 4
1733                    ; line_number = 284
1734                    ; bind _cis = _cmcon@3
1735 0000009c = _cis___byte equ _cmcon
1736 00000003 = _cis___bit equ 3
1737                    ; line_number = 285
1738                    ; bind _cm2 = _cmcon@2
1739 0000009c = _cm2___byte equ _cmcon
1740 00000002 = _cm2___bit equ 2
1741                    ; line_number = 286
1742                    ; bind _cm1 = _cmcon@1
1743 0000009c = _cm1___byte equ _cmcon
1744 00000001 = _cm1___bit equ 1
1745                    ; line_number = 287
1746                    ; bind _cm0 = _cmcon@0
1747 0000009c = _cm0___byte equ _cmcon
1748 00000000 = _cm0___bit equ 0
1749            
1750                    ; line_number = 289
1751                    ; register _cvrcon = 
1752 0000009d = _cvrcon equ 157
1753                    ; line_number = 290
1754                    ; bind _cvren = _cvrcon@7
1755 0000009d = _cvren___byte equ _cvrcon
1756 00000007 = _cvren___bit equ 7
1757                    ; line_number = 291
1758                    ; bind _cvroe = _cvrcon@6
1759 0000009d = _cvroe___byte equ _cvrcon
1760 00000006 = _cvroe___bit equ 6
1761                    ; line_number = 292
1762                    ; bind _cvrr = _cvrcon@5
1763 0000009d = _cvrr___byte equ _cvrcon
1764 00000005 = _cvrr___bit equ 5
1765                    ; line_number = 293
1766                    ; bind _cvr3 = _cvrcon@3
1767 0000009d = _cvr3___byte equ _cvrcon
1768 00000003 = _cvr3___bit equ 3
1769                    ; line_number = 294
1770                    ; bind _cvr2 = _cvrcon@2
1771 0000009d = _cvr2___byte equ _cvrcon
1772 00000002 = _cvr2___bit equ 2
1773                    ; line_number = 295
1774                    ; bind _cvr1 = _cvrcon@1
1775 0000009d = _cvr1___byte equ _cvrcon
1776 00000001 = _cvr1___bit equ 1
1777                    ; line_number = 296
1778                    ; bind _cvr0 = _cvrcon@0
1779 0000009d = _cvr0___byte equ _cvrcon
1780 00000000 = _cvr0___bit equ 0
1781            
1782                    ; line_number = 298
1783                    ; register _adresl = 
1784 0000009e = _adresl equ 158
1785            
1786                    ; line_number = 300
1787                    ; register _adcon1 = 
1788 0000009f = _adcon1 equ 159
1789                    ; line_number = 301
1790                    ; bind _adfm = _adcon1@7
1791 0000009f = _adfm___byte equ _adcon1
1792 00000007 = _adfm___bit equ 7
1793                    ; line_number = 302
1794                    ; bind _adcs2 = _adcon1@6
1795 0000009f = _adcs2___byte equ _adcon1
1796 00000006 = _adcs2___bit equ 6
1797                    ; line_number = 303
1798                    ; bind _vfg1 = _adcon1@5
1799 0000009f = _vfg1___byte equ _adcon1
1800 00000005 = _vfg1___bit equ 5
1801                    ; line_number = 304
1802                    ; bind _vfg0 = _adcon1@4
1803 0000009f = _vfg0___byte equ _adcon1
1804 00000004 = _vfg0___bit equ 4
1805                    ; line_number = 305
1806                    ; bind _pcfg3 = _adcon1@3
1807 0000009f = _pcfg3___byte equ _adcon1
1808 00000003 = _pcfg3___bit equ 3
1809                    ; line_number = 306
1810                    ; bind _pcfg2 = _adcon1@2
1811 0000009f = _pcfg2___byte equ _adcon1
1812 00000002 = _pcfg2___bit equ 2
1813                    ; line_number = 307
1814                    ; bind _pcfg1 = _adcon1@1
1815 0000009f = _pcfg1___byte equ _adcon1
1816 00000001 = _pcfg1___bit equ 1
1817                    ; line_number = 308
1818                    ; bind _pcfg0 = _adcon1@0
1819 0000009f = _pcfg0___byte equ _adcon1
1820 00000000 = _pcfg0___bit equ 0
1821            
1822                    ; # Bank 2:
1823            
1824                    ; line_number = 312
1825                    ; register _wdtcon = 
1826 00000105 = _wdtcon equ 261
1827                    ; line_number = 313
1828                    ; bind _wdtps3 = _wdtcon@4
1829 00000105 = _wdtps3___byte equ _wdtcon
1830 00000004 = _wdtps3___bit equ 4
1831                    ; line_number = 314
1832                    ; bind _wdtps2 = _wdtcon@3
1833 00000105 = _wdtps2___byte equ _wdtcon
1834 00000003 = _wdtps2___bit equ 3
1835                    ; line_number = 315
1836                    ; bind _wdtps1 = _wdtcon@2
1837 00000105 = _wdtps1___byte equ _wdtcon
1838 00000002 = _wdtps1___bit equ 2
1839                    ; line_number = 316
1840                    ; bind _wdtps0 = _wdtcon@1
1841 00000105 = _wdtps0___byte equ _wdtcon
1842 00000001 = _wdtps0___bit equ 1
1843                    ; line_number = 317
1844                    ; bind _swdten = _wdtcon@0
1845 00000105 = _swdten___byte equ _wdtcon
1846 00000000 = _swdten___bit equ 0
1847            
1848                    ; line_number = 319
1849                    ; register _lvdcon = 
1850 00000109 = _lvdcon equ 265
1851                    ; line_number = 320
1852                    ; bind _irvst = _lvdcon@5
1853 00000109 = _irvst___byte equ _lvdcon
1854 00000005 = _irvst___bit equ 5
1855                    ; line_number = 321
1856                    ; bind _lvden = _lvdcon@4
1857 00000109 = _lvden___byte equ _lvdcon
1858 00000004 = _lvden___bit equ 4
1859                    ; line_number = 322
1860                    ; bind _lvdl3 = _lvdcon@3
1861 00000109 = _lvdl3___byte equ _lvdcon
1862 00000003 = _lvdl3___bit equ 3
1863                    ; line_number = 323
1864                    ; bind _lvdl2 = _lvdcon@2
1865 00000109 = _lvdl2___byte equ _lvdcon
1866 00000002 = _lvdl2___bit equ 2
1867                    ; line_number = 324
1868                    ; bind _lvdl1 = _lvdcon@1
1869 00000109 = _lvdl1___byte equ _lvdcon
1870 00000001 = _lvdl1___bit equ 1
1871                    ; line_number = 325
1872                    ; bind _lvdl0 = _lvdcon@0
1873 00000109 = _lvdl0___byte equ _lvdcon
1874 00000000 = _lvdl0___bit equ 0
1875            
1876                    ; line_number = 327
1877                    ; register _pmdata = 
1878 0000010c = _pmdata equ 268
1879            
1880                    ; line_number = 329
1881                    ; register _pmadr = 
1882 0000010d = _pmadr equ 269
1883            
1884                    ; line_number = 331
1885                    ; register _pmdath = 
1886 0000010e = _pmdath equ 270
1887            
1888                    ; line_number = 333
1889                    ; register _pmadrh = 
1890 0000010f = _pmadrh equ 271
1891            
1892                    ; # Bank 3:
1893            
1894                    ; line_number = 337
1895                    ; register _pmcon1 = 
1896 0000018c = _pmcon1 equ 396
1897                    ; line_number = 338
1898                    ; bind _rd = _pmcon1@0
1899 0000018c = _rd___byte equ _pmcon1
1900 00000000 = _rd___bit equ 0
1901            
1902            
1903            
1904                    ; buffer = '_pic16f777'
1905                    ; line_number = 398
1906                    ; library _pic16f7x7 exited
1907            
1908                    ; # Additional register and pin definitions:
1909            
1910                    ; line_number = 402
1911                    ; register _portd = 
1912 00000008 = _portd equ 8
1913            
1914                    ; line_number = 404
1915                    ; register _porte = 
1916 00000009 = _porte equ 9
1917            
1918                    ; line_number = 406
1919                    ; register _trisd = 
1920 00000088 = _trisd equ 136
1921            
1922                    ; line_number = 408
1923                    ; register _trise = 
1924 00000089 = _trise equ 137
1925            
1926                    ; # Default configurations:
1927            
1928            
1929                    ; buffer = 'buffer_test'
1930                    ; line_number = 6
1931                    ; library _pic16f777 exited
1932                    ; line_number = 7
1933                    ; library _uart entered
1934                    ; # Copyright (c) 2004 by Wayne C. Gramlich.
1935                    ; # All rights reserved.
1936            
1937                    ; # This library contains some procedures for accessing the UART.
1938            
1939                    ; Delaying code generation for procedure  _uart_byte_safe_get
1940                    ; Delaying code generation for procedure  _uart_byte_get
1941                    ; Delaying code generation for procedure  _uart_hex_put
1942                    ; Delaying code generation for procedure  _uart_nibble_put
1943                    ; Delaying code generation for procedure  _uart_space_put
1944                    ; Delaying code generation for procedure  _uart_crlf_put
1945                    ; Delaying code generation for procedure  _uart_byte_put
1946            
1947                    ; line_number = 7
1948                    ; library _uart exited
1949            
1950                    ; line_number = 9
1951                    ; package pdip
1952                    ; line_number = 10
1953                    ; pin 1 = mclr
1954                    ; line_number = 11
1955                    ;  pin 2 = ra0_out, name = a16
1956 00000005 = a16___byte equ _porta
1957 00000000 = a16___bit equ 0
1958                    ; line_number = 12
1959                    ;  pin 3 = ra1_out, name = a17
1960 00000005 = a17___byte equ _porta
1961 00000001 = a17___bit equ 1
1962                    ; line_number = 13
1963                    ;  pin 4 = ra2_out, name = a18
1964 00000005 = a18___byte equ _porta
1965 00000002 = a18___bit equ 2
1966                    ; line_number = 14
1967                    ;  pin 5 = ra3_unused
1968                    ; line_number = 15
1969                    ;  pin 6 = ra4_unused
1970                    ; line_number = 16
1971                    ;  pin 7 = ra5_unused
1972                    ; line_number = 17
1973                    ;  pin 8 = re0_unused
1974                    ; line_number = 18
1975                    ;  pin 9 = re1_unused
1976                    ; line_number = 19
1977                    ;  pin 10 = re2_unused
1978                    ; line_number = 20
1979                    ;  pin 11 = power_supply
1980                    ; line_number = 21
1981                    ;  pin 12 = ground
1982                    ; line_number = 22
1983                    ;  pin 13 = osc1
1984                    ; line_number = 23
1985                    ;  pin 14 = osc2
1986                    ; line_number = 24
1987                    ;  pin 15 = rc0_out, name = adrl
1988 00000007 = adrl___byte equ _portc
1989 00000000 = adrl___bit equ 0
1990                    ; line_number = 25
1991                    ;  pin 16 = rc1_out, name = adrm
1992 00000007 = adrm___byte equ _portc
1993 00000001 = adrm___bit equ 1
1994                    ; line_number = 26
1995                    ;  pin 17 = rc2_unused
1996                    ; line_number = 27
1997                    ;  pin 18 = rc3_unused
1998                    ; line_number = 28
1999                    ;  pin 19 = rd0_out, name = x_dir
2000 00000008 = x_dir___byte equ _portd
2001 00000000 = x_dir___bit equ 0
2002                    ; line_number = 29
2003                    ;  pin 20 = rd1_out, name = x_step
2004 00000008 = x_step___byte equ _portd
2005 00000001 = x_step___bit equ 1
2006                    ; line_number = 30
2007                    ;  pin 21 = rd2_out, name = y_dir
2008 00000008 = y_dir___byte equ _portd
2009 00000002 = y_dir___bit equ 2
2010                    ; line_number = 31
2011                    ;  pin 22 = rd3_out, name = y_step
2012 00000008 = y_step___byte equ _portd
2013 00000003 = y_step___bit equ 3
2014                    ; line_number = 32
2015                    ;  pin 23 = rc4_out, name = oe
2016 00000007 = oe___byte equ _portc
2017 00000004 = oe___bit equ 4
2018                    ; line_number = 33
2019                    ;  pin 24 = rc5_out, name = we
2020 00000007 = we___byte equ _portc
2021 00000005 = we___bit equ 5
2022                    ; line_number = 34
2023                    ;  pin 25 = tx
2024                    ; line_number = 35
2025                    ;  pin 26 = rx
2026                    ; line_number = 36
2027                    ;  pin 27 = rd4_out, name = z_dir
2028 00000008 = z_dir___byte equ _portd
2029 00000004 = z_dir___bit equ 4
2030                    ; line_number = 37
2031                    ;  pin 28 = rd5_out, name = z_step
2032 00000008 = z_step___byte equ _portd
2033 00000005 = z_step___bit equ 5
2034                    ; line_number = 38
2035                    ;  pin 29 = rd6_out, name = a_dir
2036 00000008 = a_dir___byte equ _portd
2037 00000006 = a_dir___bit equ 6
2038                    ; line_number = 39
2039                    ;  pin 30 = rd7_out, name = a_step
2040 00000008 = a_step___byte equ _portd
2041 00000007 = a_step___bit equ 7
2042                    ; line_number = 40
2043                    ;  pin 31 = ground2
2044                    ; line_number = 41
2045                    ;  pin 32 = power_supply2
2046                    ; line_number = 42
2047                    ;  pin 33 = rb0_out, name = m0
2048 00000006 = m0___byte equ _portb
2049 00000000 = m0___bit equ 0
2050                    ; line_number = 43
2051                    ;  pin 34 = rb1_out, name = m1
2052 00000006 = m1___byte equ _portb
2053 00000001 = m1___bit equ 1
2054                    ; line_number = 44
2055                    ;  pin 35 = rb2_out, name = m2
2056 00000006 = m2___byte equ _portb
2057 00000002 = m2___bit equ 2
2058                    ; line_number = 45
2059                    ;  pin 36 = rb3_out, name = m3
2060 00000006 = m3___byte equ _portb
2061 00000003 = m3___bit equ 3
2062                    ; line_number = 46
2063                    ;  pin 37 = rb4_out, name = m4
2064 00000006 = m4___byte equ _portb
2065 00000004 = m4___bit equ 4
2066                    ; line_number = 47
2067                    ;  pin 38 = rb5_out, name = m5
2068 00000006 = m5___byte equ _portb
2069 00000005 = m5___bit equ 5
2070                    ; line_number = 48
2071                    ;  pin 39 = rb6_out, name = m6
2072 00000006 = m6___byte equ _portb
2073 00000006 = m6___bit equ 6
2074                    ; line_number = 49
2075                    ;  pin 40 = rb7_out, name = m7
2076 00000006 = m7___byte equ _portb
2077 00000007 = m7___bit equ 7
2078            
2079                    ; line_number = 51
2080                    ; constant microsecond = 5
2081 00000005 = microsecond equ 5
2082                    ; line_number = 52
2083                    ; constant delay_amount = 10 * microsecond
2084 00000032 = delay_amount equ 50
2085            
2086                    ; line_number = 54
2087                    ; global command byte
2088 00000023 = command equ globals___0+3
2089            
2090                    ; line_number = 56
2091                    ; origin 0
2092   0000 :           org     0
2093            
2094                    ; line_number = 58
2095                    ;info   58, 0
2096                    ; procedure main
2097   0000 :   main:
2098                    ; Initialize some registers
2099 0000 019f          clrf    _adcon0
2100 0001 300f          movlw   15
2101 0002 1683          bsf     __rp0___byte, __rp0___bit
2102 0003 009f          movwf   _adcon1
2103 0004 0185          clrf    _trisa
2104 0005 0186          clrf    _trisb
2105 0006 3080          movlw   128
2106 0007 0087          movwf   _trisc
2107 0008 0188          clrf    _trisd
2108                    ; arguments_none
2109                    ; line_number = 60
2110                    ;  returns_nothing
2111            
2112                    ; #local buffer[64] array[byte]
2113                    ; line_number = 63
2114                    ;  local index byte
2115 00000024 = main__index equ globals___0+4
2116                    ; line_number = 64
2117                    ;  local size byte
2118 00000025 = main__size equ globals___0+5
2119                    ; line_number = 65
2120                    ;  local repeat byte
2121 00000026 = main__repeat equ globals___0+6
2122                    ; line_number = 66
2123                    ;  local tenth_milliseconds byte
2124 00000027 = main__tenth_milliseconds equ globals___0+7
2125            
2126                    ; # Turn off general interrupts:
2127                    ; before procedure statements delay=non-uniform, bit states=(data:00=>01 code:00=>00)
2128                    ; line_number = 69
2129                    ;  _gie := _false
2130                    ;info   69, 9
2131 0009 138b          bcf     _gie___byte, _gie___bit
2132            
2133                    ; # Initilize serial port:
2134            
2135                    ; # Do Baud Rate selection and asynch. serial port enable:
2136                    ; # Prescaler = high:
2137                    ; line_number = 75
2138                    ;  _brgh := _true
2139                    ;info   75, 10
2140 000a 1518          bsf     _brgh___byte, _brgh___bit
2141                    ; # Baud rate = 19200 Baud:
2142                    ; line_number = 77
2143                    ;  _spbrg := 64
2144                    ;info   77, 11
2145 000b 3040          movlw   64
2146 000c 0099          movwf   _spbrg
2147                    ; # Asynchronous mode:
2148                    ; line_number = 79
2149                    ;  _sync := _false
2150                    ;info   79, 13
2151 000d 1218          bcf     _sync___byte, _sync___bit
2152                    ; # Serial port enable:
2153                    ; line_number = 81
2154                    ;  _spen := _true
2155                    ;info   81, 14
2156 000e 1283          bcf     __rp0___byte, __rp0___bit
2157 000f 1798          bsf     _spen___byte, _spen___bit
2158            
2159                    ; # Enable the transmitter:
2160                    ; # 8-bit mode:
2161                    ; line_number = 85
2162                    ;  _tx9 := _false
2163                    ;info   85, 16
2164 0010 1683          bsf     __rp0___byte, __rp0___bit
2165 0011 1318          bcf     _tx9___byte, _tx9___bit
2166                    ; # Enable transmitter:
2167                    ; line_number = 87
2168                    ;  _txen := _true
2169                    ;info   87, 18
2170 0012 1698          bsf     _txen___byte, _txen___bit
2171            
2172                    ; # Enable the receiver:
2173                    ; # 8-bit mode:
2174                    ; line_number = 91
2175                    ;  _rx9 := _false
2176                    ;info   91, 19
2177 0013 1283          bcf     __rp0___byte, __rp0___bit
2178 0014 1318          bcf     _rx9___byte, _rx9___bit
2179                    ; # Disable address:
2180                    ; line_number = 93
2181                    ;  _adden := _false
2182                    ;info   93, 21
2183 0015 1198          bcf     _adden___byte, _adden___bit
2184                    ; # Continuous receive enable:
2185                    ; line_number = 95
2186                    ;  _cren := _true
2187                    ;info   95, 22
2188 0016 1618          bsf     _cren___byte, _cren___bit
2189                    ; # Serial receive enable:
2190                    ; line_number = 97
2191                    ;  _sren := _true
2192                    ;info   97, 23
2193 0017 1698          bsf     _sren___byte, _sren___bit
2194            
2195                    ; line_number = 99
2196                    ;  call _uart_crlf_put()
2197                    ;info   99, 24
2198 0018 211b          call    _uart_crlf_put
2199                    ; line_number = 100
2200                    ;  call _uart_byte_put('b')
2201                    ;info   100, 25
2202 0019 3062          movlw   98
2203 001a 2120          call    _uart_byte_put
2204                    ; line_number = 101
2205                    ;  call _uart_byte_put('u')
2206                    ;info   101, 27
2207 001b 3075          movlw   117
2208 001c 2120          call    _uart_byte_put
2209                    ; line_number = 102
2210                    ;  call _uart_byte_put('f')
2211                    ;info   102, 29
2212 001d 3066          movlw   102
2213 001e 2120          call    _uart_byte_put
2214                    ; line_number = 103
2215                    ;  call _uart_byte_put('f')
2216                    ;info   103, 31
2217 001f 3066          movlw   102
2218 0020 2120          call    _uart_byte_put
2219                    ; line_number = 104
2220                    ;  call _uart_byte_put('e')
2221                    ;info   104, 33
2222 0021 3065          movlw   101
2223 0022 2120          call    _uart_byte_put
2224                    ; line_number = 105
2225                    ;  call _uart_byte_put('r')
2226                    ;info   105, 35
2227 0023 3072          movlw   114
2228 0024 2120          call    _uart_byte_put
2229                    ; line_number = 106
2230                    ;  call _uart_byte_put('_')
2231                    ;info   106, 37
2232 0025 305f          movlw   95
2233 0026 2120          call    _uart_byte_put
2234                    ; line_number = 107
2235                    ;  call _uart_byte_put('t')
2236                    ;info   107, 39
2237 0027 3074          movlw   116
2238 0028 2120          call    _uart_byte_put
2239                    ; line_number = 108
2240                    ;  call _uart_byte_put('e')
2241                    ;info   108, 41
2242 0029 3065          movlw   101
2243 002a 2120          call    _uart_byte_put
2244                    ; line_number = 109
2245                    ;  call _uart_byte_put('s')
2246                    ;info   109, 43
2247 002b 3073          movlw   115
2248 002c 2120          call    _uart_byte_put
2249                    ; line_number = 110
2250                    ;  call _uart_byte_put('t')
2251                    ;info   110, 45
2252 002d 3074          movlw   116
2253 002e 2120          call    _uart_byte_put
2254                    ; line_number = 111
2255                    ;  call _uart_crlf_put()
2256                    ;info   111, 47
2257 002f 211b          call    _uart_crlf_put
2258            
2259                    ; # Initialize step and direction:
2260                    ; line_number = 114
2261                    ;  a_step := _false
2262                    ;info   114, 48
2263 0030 1388          bcf     a_step___byte, a_step___bit
2264                    ; line_number = 115
2265                    ;  a_dir := _false
2266                    ;info   115, 49
2267 0031 1308          bcf     a_dir___byte, a_dir___bit
2268                    ; line_number = 116
2269                    ;  x_step := _false
2270                    ;info   116, 50
2271 0032 1088          bcf     x_step___byte, x_step___bit
2272                    ; line_number = 117
2273                    ;  x_dir := _false
2274                    ;info   117, 51
2275 0033 1008          bcf     x_dir___byte, x_dir___bit
2276                    ; line_number = 118
2277                    ;  y_step := _false
2278                    ;info   118, 52
2279 0034 1188          bcf     y_step___byte, y_step___bit
2280                    ; line_number = 119
2281                    ;  y_dir := _false
2282                    ;info   119, 53
2283 0035 1108          bcf     y_dir___byte, y_dir___bit
2284                    ; line_number = 120
2285                    ;  z_step := _false
2286                    ;info   120, 54
2287 0036 1288          bcf     z_step___byte, z_step___bit
2288                    ; line_number = 121
2289                    ;  z_dir := _false
2290                    ;info   121, 55
2291 0037 1208          bcf     z_dir___byte, z_dir___bit
2292            
2293                    ; line_number = 123
2294                    ;  we := _true
2295                    ;info   123, 56
2296 0038 1687          bsf     we___byte, we___bit
2297                    ; line_number = 124
2298                    ;  oe := _true
2299                    ;info   124, 57
2300 0039 1607          bsf     oe___byte, oe___bit
2301                    ; line_number = 125
2302                    ;  adrm := _false
2303                    ;info   125, 58
2304 003a 1087          bcf     adrm___byte, adrm___bit
2305                    ; line_number = 126
2306                    ;  adrl := _false
2307                    ;info   126, 59
2308 003b 1007          bcf     adrl___byte, adrl___bit
2309            
2310                    ; line_number = 128
2311                    ;  repeat := 1
2312                    ;info   128, 60
2313 003c 3001          movlw   1
2314 003d 00a6          movwf   main__repeat
2315                    ; line_number = 129
2316                    ;  tenth_milliseconds := 100
2317                    ;info   129, 62
2318 003e 3064          movlw   100
2319 003f 00a7          movwf   main__tenth_milliseconds
2320            
2321                    ; # Command loop:
2322                    ; line_number = 132
2323                    ;  loop_forever start
2324                    ;info   132, 64
2325   0040 :   main__1:
2326                    ; # Wait for a character:
2327                    ; line_number = 134
2328                    ;  command := _uart_byte_get()
2329                    ;info   134, 64
2330 0040 2101          call    _uart_byte_get
2331 0041 00a3          movwf   command
2332                    ; line_number = 135
2333                    ;  call _uart_byte_put(command)
2334                    ;info   135, 66
2335 0042 0823          movf    command,w
2336 0043 2120          call    _uart_byte_put
2337            
2338                    ; line_number = 137
2339                    ;  if command = 'A' start
2340                    ;info   137, 68
2341                    ; Left minus Right
2342 0044 30bf          movlw   191
2343 0045 0723          addwf   command,w
2344                    ; =>bit_code_emit@symbol(): sym=__z
2345                    ; No 1TEST: true.size=2 false.size=87
2346                    ; No 2TEST: true.size=2 false.size=87
2347                    ; 2GOTO: Single test with two GOTO's
2348 0046 1d03          btfss   __z___byte, __z___bit
2349 0047 284b          goto    main__28
2350                    ; # Increment A:
2351                    ; line_number = 139
2352                    ;  a_dir := _true
2353                    ;info   139, 72
2354 0048 1708          bsf     a_dir___byte, a_dir___bit
2355                    ; line_number = 140
2356                    ;  a_step := _true
2357                    ;info   140, 73
2358 0049 1788          bsf     a_step___byte, a_step___bit
2359                    ; Recombine code1_bit_states != code2_bit_states
2360 004a 28a4          goto    main__29
2361                    ; 2GOTO: Starting code 2
2362   004b :   main__28:
2363                    ; line_number = 141
2364                    ;info   141, 75
2365                    ; Left minus Right
2366 004b 30a8          movlw   168
2367 004c 0723          addwf   command,w
2368                    ; =>bit_code_emit@symbol(): sym=__z
2369                    ; No 1TEST: true.size=2 false.size=80
2370                    ; No 2TEST: true.size=2 false.size=80
2371                    ; 2GOTO: Single test with two GOTO's
2372 004d 1d03          btfss   __z___byte, __z___bit
2373 004e 2852          goto    main__26
2374                    ; # Increment X:
2375                    ; line_number = 143
2376                    ;  x_dir := _true
2377                    ;info   143, 79
2378 004f 1408          bsf     x_dir___byte, x_dir___bit
2379                    ; line_number = 144
2380                    ;  x_step := _true
2381                    ;info   144, 80
2382 0050 1488          bsf     x_step___byte, x_step___bit
2383                    ; Recombine code1_bit_states != code2_bit_states
2384 0051 28a4          goto    main__27
2385                    ; 2GOTO: Starting code 2
2386   0052 :   main__26:
2387                    ; line_number = 145
2388                    ;info   145, 82
2389                    ; Left minus Right
2390 0052 30a7          movlw   167
2391 0053 0723          addwf   command,w
2392                    ; =>bit_code_emit@symbol(): sym=__z
2393                    ; No 1TEST: true.size=2 false.size=73
2394                    ; No 2TEST: true.size=2 false.size=73
2395                    ; 2GOTO: Single test with two GOTO's
2396 0054 1d03          btfss   __z___byte, __z___bit
2397 0055 2859          goto    main__24
2398                    ; # Increment Y:
2399                    ; line_number = 147
2400                    ;  y_dir := _true
2401                    ;info   147, 86
2402 0056 1508          bsf     y_dir___byte, y_dir___bit
2403                    ; line_number = 148
2404                    ;  y_step := _true
2405                    ;info   148, 87
2406 0057 1588          bsf     y_step___byte, y_step___bit
2407                    ; Recombine code1_bit_states != code2_bit_states
2408 0058 28a4          goto    main__25
2409                    ; 2GOTO: Starting code 2
2410   0059 :   main__24:
2411                    ; line_number = 149
2412                    ;info   149, 89
2413                    ; Left minus Right
2414 0059 30a6          movlw   166
2415 005a 0723          addwf   command,w
2416                    ; =>bit_code_emit@symbol(): sym=__z
2417                    ; No 1TEST: true.size=2 false.size=66
2418                    ; No 2TEST: true.size=2 false.size=66
2419                    ; 2GOTO: Single test with two GOTO's
2420 005b 1d03          btfss   __z___byte, __z___bit
2421 005c 2860          goto    main__22
2422                    ; # Increment Z:
2423                    ; line_number = 151
2424                    ;  z_dir := _true
2425                    ;info   151, 93
2426 005d 1608          bsf     z_dir___byte, z_dir___bit
2427                    ; line_number = 152
2428                    ;  z_step := _true
2429                    ;info   152, 94
2430 005e 1688          bsf     z_step___byte, z_step___bit
2431                    ; Recombine code1_bit_states != code2_bit_states
2432 005f 28a4          goto    main__23
2433                    ; 2GOTO: Starting code 2
2434   0060 :   main__22:
2435                    ; line_number = 153
2436                    ;info   153, 96
2437                    ; Left minus Right
2438 0060 309f          movlw   159
2439 0061 0723          addwf   command,w
2440                    ; =>bit_code_emit@symbol(): sym=__z
2441                    ; No 1TEST: true.size=2 false.size=59
2442                    ; No 2TEST: true.size=2 false.size=59
2443                    ; 2GOTO: Single test with two GOTO's
2444 0062 1d03          btfss   __z___byte, __z___bit
2445 0063 2867          goto    main__20
2446                    ; # Decrement A:
2447                    ; line_number = 155
2448                    ;  a_dir := _false
2449                    ;info   155, 100
2450 0064 1308          bcf     a_dir___byte, a_dir___bit
2451                    ; line_number = 156
2452                    ;  a_step := _true
2453                    ;info   156, 101
2454 0065 1788          bsf     a_step___byte, a_step___bit
2455                    ; Recombine code1_bit_states != code2_bit_states
2456 0066 28a4          goto    main__21
2457                    ; 2GOTO: Starting code 2
2458   0067 :   main__20:
2459                    ; line_number = 157
2460                    ;info   157, 103
2461                    ; Left minus Right
2462 0067 3088          movlw   136
2463 0068 0723          addwf   command,w
2464                    ; =>bit_code_emit@symbol(): sym=__z
2465                    ; No 1TEST: true.size=2 false.size=52
2466                    ; No 2TEST: true.size=2 false.size=52
2467                    ; 2GOTO: Single test with two GOTO's
2468 0069 1d03          btfss   __z___byte, __z___bit
2469 006a 286e          goto    main__18
2470                    ; # Decrement X:
2471                    ; line_number = 159
2472                    ;  x_dir := _false
2473                    ;info   159, 107
2474 006b 1008          bcf     x_dir___byte, x_dir___bit
2475                    ; line_number = 160
2476                    ;  x_step := _true
2477                    ;info   160, 108
2478 006c 1488          bsf     x_step___byte, x_step___bit
2479                    ; Recombine code1_bit_states != code2_bit_states
2480 006d 28a4          goto    main__19
2481                    ; 2GOTO: Starting code 2
2482   006e :   main__18:
2483                    ; line_number = 161
2484                    ;info   161, 110
2485                    ; Left minus Right
2486 006e 3087          movlw   135
2487 006f 0723          addwf   command,w
2488                    ; =>bit_code_emit@symbol(): sym=__z
2489                    ; No 1TEST: true.size=2 false.size=45
2490                    ; No 2TEST: true.size=2 false.size=45
2491                    ; 2GOTO: Single test with two GOTO's
2492 0070 1d03          btfss   __z___byte, __z___bit
2493 0071 2875          goto    main__16
2494                    ; # Decrement Y:
2495                    ; line_number = 163
2496                    ;  y_dir := _false
2497                    ;info   163, 114
2498 0072 1108          bcf     y_dir___byte, y_dir___bit
2499                    ; line_number = 164
2500                    ;  y_step := _true
2501                    ;info   164, 115
2502 0073 1588          bsf     y_step___byte, y_step___bit
2503                    ; Recombine code1_bit_states != code2_bit_states
2504 0074 28a4          goto    main__17
2505                    ; 2GOTO: Starting code 2
2506   0075 :   main__16:
2507                    ; line_number = 165
2508                    ;info   165, 117
2509                    ; Left minus Right
2510 0075 3086          movlw   134
2511 0076 0723          addwf   command,w
2512                    ; =>bit_code_emit@symbol(): sym=__z
2513                    ; No 1TEST: true.size=2 false.size=38
2514                    ; No 2TEST: true.size=2 false.size=38
2515                    ; 2GOTO: Single test with two GOTO's
2516 0077 1d03          btfss   __z___byte, __z___bit
2517 0078 287c          goto    main__14
2518                    ; # Decrement Z:
2519                    ; line_number = 167
2520                    ;  z_dir := _false
2521                    ;info   167, 121
2522 0079 1208          bcf     z_dir___byte, z_dir___bit
2523                    ; line_number = 168
2524                    ;  z_step := _true
2525                    ;info   168, 122
2526 007a 1688          bsf     z_step___byte, z_step___bit
2527                    ; Recombine code1_bit_states != code2_bit_states
2528 007b 28a4          goto    main__15
2529                    ; 2GOTO: Starting code 2
2530   007c :   main__14:
2531                    ; line_number = 169
2532                    ;info   169, 124
2533                    ; Left minus Right
2534 007c 30f3          movlw   243
2535 007d 0723          addwf   command,w
2536                    ; =>bit_code_emit@symbol(): sym=__z
2537                    ; No 1TEST: true.size=1 false.size=32
2538                    ; No 2TEST: true.size=1 false.size=32
2539                    ; 2GOTO: Single test with two GOTO's
2540 007e 1d03          btfss   __z___byte, __z___bit
2541 007f 2882          goto    main__12
2542                    ; # Carriage-return/line-feed:
2543                    ; line_number = 171
2544                    ;  call _uart_crlf_put()
2545                    ;info   171, 128
2546 0080 211b          call    _uart_crlf_put
2547 0081 28a4          goto    main__13
2548                    ; 2GOTO: Starting code 2
2549   0082 :   main__12:
2550                    ; line_number = 172
2551                    ;info   172, 130
2552                    ; Left minus Right
2553 0082 3093          movlw   147
2554 0083 0723          addwf   command,w
2555                    ; =>bit_code_emit@symbol(): sym=__z
2556                    ; No 1TEST: true.size=2 false.size=25
2557                    ; No 2TEST: true.size=2 false.size=25
2558                    ; 2GOTO: Single test with two GOTO's
2559 0084 1d03          btfss   __z___byte, __z___bit
2560 0085 2889          goto    main__10
2561                    ; line_number = 173
2562                    ; tenth_milliseconds := hex_get()
2563                    ;info   173, 134
2564 0086 20bf          call    hex_get
2565 0087 00a7          movwf   main__tenth_milliseconds
2566 0088 28a4          goto    main__11
2567                    ; 2GOTO: Starting code 2
2568   0089 :   main__10:
2569                    ; line_number = 174
2570                    ;info   174, 137
2571                    ; Left minus Right
2572 0089 308e          movlw   142
2573 008a 0723          addwf   command,w
2574                    ; =>bit_code_emit@symbol(): sym=__z
2575                    ; No 1TEST: true.size=2 false.size=18
2576                    ; No 2TEST: true.size=2 false.size=18
2577                    ; 2GOTO: Single test with two GOTO's
2578 008b 1d03          btfss   __z___byte, __z___bit
2579 008c 2890          goto    main__8
2580                    ; line_number = 175
2581                    ; repeat := hex_get()
2582                    ;info   175, 141
2583 008d 20bf          call    hex_get
2584 008e 00a6          movwf   main__repeat
2585 008f 28a4          goto    main__9
2586                    ; 2GOTO: Starting code 2
2587   0090 :   main__8:
2588                    ; line_number = 176
2589                    ;info   176, 144
2590                    ; Left minus Right
2591 0090 308d          movlw   141
2592 0091 0723          addwf   command,w
2593                    ; =>bit_code_emit@symbol(): sym=__z
2594                    ; No 1TEST: true.size=11 false.size=2
2595                    ; No 2TEST: true.size=11 false.size=2
2596                    ; 2GOTO: Single test with two GOTO's
2597 0092 1d03          btfss   __z___byte, __z___bit
2598 0093 28a2          goto    main__6
2599                    ; line_number = 177
2600                    ; loop_exactly repeat start
2601                    ;info   177, 148
2602 0000002c = main__2 equ globals___0+12
2603 0094 0826          movf    main__repeat,w
2604 0095 00ac          movwf   main__2
2605   0096 :   main__3:
2606                    ; line_number = 178
2607                    ; x_step := _true
2608                    ;info   178, 150
2609 0096 1488          bsf     x_step___byte, x_step___bit
2610                    ; line_number = 179
2611                    ;  delay delay_amount start
2612                    ;info   179, 151
2613                    ; Delay expression evaluates to 50
2614                    ; line_number = 180
2615                    ; do_nothing
2616                    ;info   180, 151
2617                    ; Delay 50 cycles
2618                    ; Delay loop takes 12 * 4 = 48 cycles
2619 0097 300c          movlw   12
2620   0098 :   main__4:
2621 0098 3eff          addlw   255
2622 0099 1d03          btfss   __z___byte, __z___bit
2623 009a 2898          goto    main__4
2624 009b 289c          goto    main__5
2625   009c :   main__5:
2626                    ; line_number = 179
2627                    ;  delay delay_amount done
2628                    ; line_number = 181
2629                    ; x_step := _false
2630                    ;info   181, 156
2631 009c 1088          bcf     x_step___byte, x_step___bit
2632                    ; line_number = 182
2633                    ;  call tenth_ms_delay(tenth_milliseconds)
2634                    ;info   182, 157
2635 009d 0827          movf    main__tenth_milliseconds,w
2636 009e 20ae          call    tenth_ms_delay
2637                    ; line_number = 177
2638                    ; loop_exactly repeat wrap-up
2639 009f 0bac          decfsz  main__2,f
2640 00a0 2896          goto    main__3
2641                    ; line_number = 177
2642                    ; loop_exactly repeat done
2643 00a1 28a4          goto    main__7
2644                    ; 2GOTO: Starting code 2
2645   00a2 :   main__6:
2646                    ; # Unrecognized command:
2647                    ; line_number = 185
2648                    ;  call _uart_byte_put('?')
2649                    ;info   185, 162
2650 00a2 303f          movlw   63
2651 00a3 2120          call    _uart_byte_put
2652   00a4 :   main__7:
2653                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
2654                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2655                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2656                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2657   00a4 :   main__9:
2658                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
2659                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2660                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2661                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2662   00a4 :   main__11:
2663                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
2664                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2665                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2666                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2667   00a4 :   main__13:
2668                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
2669                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2670                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2671                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2672   00a4 :   main__15:
2673                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2674                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2675                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2676                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2677   00a4 :   main__17:
2678                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2679                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2680                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2681                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2682   00a4 :   main__19:
2683                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2684                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2685                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2686                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2687   00a4 :   main__21:
2688                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2689                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2690                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2691                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2692   00a4 :   main__23:
2693                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2694                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2695                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2696                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2697   00a4 :   main__25:
2698                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2699                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2700                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2701                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2702   00a4 :   main__27:
2703                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2704                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2705                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2706                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2707   00a4 :   main__29:
2708                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
2709                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:00=>00)
2710                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2711                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
2712                    ; line_number = 137
2713                    ;  if command = 'A' done
2714                    ; # Echo command:
2715            
2716                    ; # Clear the step pulses after waiting for 10usec:
2717                    ; line_number = 189
2718                    ;  delay delay_amount start
2719                    ;info   189, 164
2720                    ; Delay expression evaluates to 50
2721                    ; line_number = 190
2722                    ; do_nothing
2723                    ;info   190, 164
2724                    ; Delay 50 cycles
2725                    ; Delay loop takes 12 * 4 = 48 cycles
2726 00a4 300c          movlw   12
2727   00a5 :   main__30:
2728 00a5 3eff          addlw   255
2729 00a6 1d03          btfss   __z___byte, __z___bit
2730 00a7 28a5          goto    main__30
2731 00a8 28a9          goto    main__31
2732   00a9 :   main__31:
2733                    ; line_number = 189
2734                    ;  delay delay_amount done
2735                    ; line_number = 191
2736                    ; a_step := _false
2737                    ;info   191, 169
2738 00a9 1388          bcf     a_step___byte, a_step___bit
2739                    ; line_number = 192
2740                    ;  x_step := _false
2741                    ;info   192, 170
2742 00aa 1088          bcf     x_step___byte, x_step___bit
2743                    ; line_number = 193
2744                    ;  y_step := _false
2745                    ;info   193, 171
2746 00ab 1188          bcf     y_step___byte, y_step___bit
2747                    ; line_number = 194
2748                    ;  z_step := _false
2749                    ;info   194, 172
2750 00ac 1288          bcf     z_step___byte, z_step___bit
2751            
2752            
2753                    ; line_number = 132
2754                    ;  loop_forever wrap-up
2755 00ad 2840          goto    main__1
2756                    ; line_number = 132
2757                    ;  loop_forever done
2758                    ; delay after procedure statements=non-uniform
2759            
2760            
2761            
2762            
2763                    ; line_number = 197
2764                    ;info   197, 174
2765                    ; procedure tenth_ms_delay
2766   00ae :   tenth_ms_delay:
2767                    ; Last argument is sitting in W; save into argument variable
2768 00ae 00a8          movwf   tenth_ms_delay__tenth_milliseconds
2769                    ; delay=4294967295
2770                    ; line_number = 198
2771                    ; argument tenth_milliseconds byte
2772 00000028 = tenth_ms_delay__tenth_milliseconds equ globals___0+8
2773                    ; line_number = 199
2774                    ;  returns_nothing
2775            
2776                    ; # This procedure will delay {micro_seconds}.
2777            
2778                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2779                    ; line_number = 203
2780                    ;  loop_exactly tenth_milliseconds start
2781                    ;info   203, 175
2782 0000002d = tenth_ms_delay__1 equ globals___0+13
2783 00af 0828          movf    tenth_ms_delay__tenth_milliseconds,w
2784 00b0 00ad          movwf   tenth_ms_delay__1
2785   00b1 :   tenth_ms_delay__2:
2786                    ; line_number = 204
2787                    ; delay 100 * microsecond start
2788                    ;info   204, 177
2789                    ; Delay expression evaluates to 500
2790                    ; line_number = 205
2791                    ; do_nothing
2792                    ;info   205, 177
2793            
2794            
2795                    ; Delay 500 cycles
2796                    ; Delay loop takes 125 * 4 = 500 cycles
2797 00b1 307d          movlw   125
2798   00b2 :   tenth_ms_delay__3:
2799 00b2 3eff          addlw   255
2800 00b3 1d03          btfss   __z___byte, __z___bit
2801 00b4 28b2          goto    tenth_ms_delay__3
2802                    ; line_number = 204
2803                    ; delay 100 * microsecond done
2804                    ; line_number = 203
2805                    ;  loop_exactly tenth_milliseconds wrap-up
2806 00b5 0bad          decfsz  tenth_ms_delay__1,f
2807 00b6 28b1          goto    tenth_ms_delay__2
2808                    ; line_number = 203
2809                    ;  loop_exactly tenth_milliseconds done
2810                    ; delay after procedure statements=non-uniform
2811                    ; Implied return
2812 00b7 3400          retlw   0
2813            
2814            
2815            
2816            
2817                    ; line_number = 208
2818                    ;info   208, 184
2819                    ; procedure us_delay
2820   00b8 :   us_delay:
2821                    ; Last argument is sitting in W; save into argument variable
2822 00b8 00a9          movwf   us_delay__micro_seconds
2823                    ; delay=4294967295
2824                    ; line_number = 209
2825                    ; argument micro_seconds byte
2826 00000029 = us_delay__micro_seconds equ globals___0+9
2827                    ; line_number = 210
2828                    ;  returns_nothing
2829            
2830                    ; # This procedure will delay for {micro_seconds}.
2831            
2832                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2833                    ; line_number = 214
2834                    ;  loop_exactly micro_seconds start
2835                    ;info   214, 185
2836 0000002e = us_delay__1 equ globals___0+14
2837 00b9 0829          movf    us_delay__micro_seconds,w
2838 00ba 00ae          movwf   us_delay__1
2839   00bb :   us_delay__2:
2840                    ; line_number = 215
2841                    ; delay microsecond - 3 start
2842                    ;info   215, 187
2843                    ; Delay expression evaluates to 2
2844                    ; line_number = 216
2845                    ; do_nothing
2846                    ;info   216, 187
2847            
2848            
2849                    ; Delay 2 cycles
2850 00bb 28bc          goto    us_delay__3
2851   00bc :   us_delay__3:
2852                    ; line_number = 215
2853                    ; delay microsecond - 3 done
2854                    ; line_number = 214
2855                    ;  loop_exactly micro_seconds wrap-up
2856 00bc 0bae          decfsz  us_delay__1,f
2857 00bd 28bb          goto    us_delay__2
2858                    ; line_number = 214
2859                    ;  loop_exactly micro_seconds done
2860                    ; delay after procedure statements=non-uniform
2861                    ; Implied return
2862 00be 3400          retlw   0
2863            
2864            
2865            
2866            
2867                    ; line_number = 219
2868                    ;info   219, 191
2869                    ; procedure hex_get
2870   00bf :   hex_get:
2871                    ; arguments_none
2872                    ; line_number = 221
2873                    ;  returns byte
2874            
2875                    ; # This procedure will get a hexadecimal byte from the user.
2876            
2877                    ; line_number = 225
2878                    ;  local result byte
2879 0000002a = hex_get__result equ globals___0+10
2880            
2881                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2882                    ; line_number = 227
2883                    ;  result := nibble_get() << 4
2884                    ;info   227, 191
2885 00bf 20c8          call    nibble_get
2886 00c0 00aa          movwf   hex_get__result
2887 00c1 0eaa          swapf   hex_get__result,f
2888 00c2 30f0          movlw   240
2889 00c3 05aa          andwf   hex_get__result,f
2890                    ; line_number = 228
2891                    ;  result := result | nibble_get()
2892                    ;info   228, 196
2893 00c4 20c8          call    nibble_get
2894 00c5 04aa          iorwf   hex_get__result,f
2895                    ; line_number = 229
2896                    ;  return result start
2897                    ; line_number = 229
2898                    ;info   229, 198
2899 00c6 082a          movf    hex_get__result,w
2900 00c7 0008          return  
2901                    ; line_number = 229
2902                    ;  return result done
2903            
2904            
2905                    ; delay after procedure statements=non-uniform
2906            
2907            
2908            
2909            
2910                    ; line_number = 232
2911                    ;info   232, 200
2912                    ; procedure nibble_get
2913   00c8 :   nibble_get:
2914                    ; arguments_none
2915                    ; line_number = 234
2916                    ;  returns byte
2917            
2918                    ; # This procedure will get a hexadecimal nibble from the user.
2919            
2920                    ; line_number = 238
2921                    ;  local character byte
2922 0000002b = nibble_get__character equ globals___0+11
2923            
2924                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2925                    ; line_number = 240
2926                    ;  character := _uart_byte_get()
2927                    ;info   240, 200
2928 00c8 2101          call    _uart_byte_get
2929 00c9 00ab          movwf   nibble_get__character
2930                    ; line_number = 241
2931                    ;  call _uart_byte_put(character)
2932                    ;info   241, 202
2933 00ca 082b          movf    nibble_get__character,w
2934 00cb 2120          call    _uart_byte_put
2935                    ; line_number = 242
2936                    ;  if '0' <= character && character <= '9' start
2937                    ;info   242, 204
2938 00cc 3030          movlw   48
2939 00cd 022b          subwf   nibble_get__character,w
2940                    ; =>bit_code_emit@symbol(): sym=__c
2941                    ; No 1TEST: true.size=9 false.size=1
2942                    ; No 2TEST: true.size=9 false.size=1
2943                    ; 2GOTO: Single test with two GOTO's
2944 00ce 1c03          btfss   __c___byte, __c___bit
2945 00cf 28d9          goto    nibble_get__1
2946                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
2947 00d0 3039          movlw   57
2948 00d1 022b          subwf   nibble_get__character,w
2949 00d2 1903          btfsc   __z___byte, __z___bit
2950 00d3 1003          bcf     __c___byte, __c___bit
2951                    ; =>bit_code_emit@symbol(): sym=__c
2952                    ; No 1TEST: true.size=0 false.size=3
2953                    ; No 2TEST: true.size=0 false.size=3
2954                    ; 1GOTO: Single test with GOTO
2955 00d4 1803          btfsc   __c___byte, __c___bit
2956 00d5 28d9          goto    nibble_get__2
2957                    ; line_number = 243
2958                    ; return character - '0' start
2959                    ; line_number = 243
2960                    ;info   243, 214
2961 00d6 30d0          movlw   208
2962 00d7 072b          addwf   nibble_get__character,w
2963 00d8 0008          return  
2964                    ; line_number = 243
2965                    ; return character - '0' done
2966   00d9 :   nibble_get__2:
2967   00d9 :   nibble_get__1:
2968                    ; Recombine code1_bit_states != code2_bit_states
2969                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
2970                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
2971                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
2972                    ; Recombine code1_bit_states != code2_bit_states
2973                    ; 2GOTO: No goto needed; true= false=nibble_get__1 true_size=9 false_size=1
2974                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
2975                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
2976                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
2977                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
2978                    ; line_number = 242
2979                    ;  if '0' <= character && character <= '9' done
2980                    ; line_number = 244
2981                    ; if 'a' <= character && character <= 'f' start
2982                    ;info   244, 217
2983 00d9 3061          movlw   97
2984 00da 022b          subwf   nibble_get__character,w
2985                    ; =>bit_code_emit@symbol(): sym=__c
2986                    ; No 1TEST: true.size=9 false.size=1
2987                    ; No 2TEST: true.size=9 false.size=1
2988                    ; 2GOTO: Single test with two GOTO's
2989 00db 1c03          btfss   __c___byte, __c___bit
2990 00dc 28e6          goto    nibble_get__3
2991                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
2992 00dd 3066          movlw   102
2993 00de 022b          subwf   nibble_get__character,w
2994 00df 1903          btfsc   __z___byte, __z___bit
2995 00e0 1003          bcf     __c___byte, __c___bit
2996                    ; =>bit_code_emit@symbol(): sym=__c
2997                    ; No 1TEST: true.size=0 false.size=3
2998                    ; No 2TEST: true.size=0 false.size=3
2999                    ; 1GOTO: Single test with GOTO
3000 00e1 1803          btfsc   __c___byte, __c___bit
3001 00e2 28e6          goto    nibble_get__4
3002                    ; line_number = 245
3003                    ; return character - 'a' + 10 start
3004                    ; line_number = 245
3005                    ;info   245, 227
3006 00e3 30a9          movlw   169
3007 00e4 072b          addwf   nibble_get__character,w
3008 00e5 0008          return  
3009                    ; line_number = 245
3010                    ; return character - 'a' + 10 done
3011   00e6 :   nibble_get__4:
3012   00e6 :   nibble_get__3:
3013                    ; Recombine code1_bit_states != code2_bit_states
3014                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3015                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3016                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
3017                    ; Recombine code1_bit_states != code2_bit_states
3018                    ; 2GOTO: No goto needed; true= false=nibble_get__3 true_size=9 false_size=1
3019                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
3020                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
3021                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
3022                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3023                    ; line_number = 244
3024                    ; if 'a' <= character && character <= 'f' done
3025                    ; line_number = 246
3026                    ; if 'A' <= character && character <= 'F' start
3027                    ;info   246, 230
3028 00e6 3041          movlw   65
3029 00e7 022b          subwf   nibble_get__character,w
3030                    ; =>bit_code_emit@symbol(): sym=__c
3031                    ; No 1TEST: true.size=9 false.size=1
3032                    ; No 2TEST: true.size=9 false.size=1
3033                    ; 2GOTO: Single test with two GOTO's
3034 00e8 1c03          btfss   __c___byte, __c___bit
3035 00e9 28f3          goto    nibble_get__5
3036                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3037 00ea 3046          movlw   70
3038 00eb 022b          subwf   nibble_get__character,w
3039 00ec 1903          btfsc   __z___byte, __z___bit
3040 00ed 1003          bcf     __c___byte, __c___bit
3041                    ; =>bit_code_emit@symbol(): sym=__c
3042                    ; No 1TEST: true.size=0 false.size=3
3043                    ; No 2TEST: true.size=0 false.size=3
3044                    ; 1GOTO: Single test with GOTO
3045 00ee 1803          btfsc   __c___byte, __c___bit
3046 00ef 28f3          goto    nibble_get__6
3047                    ; line_number = 247
3048                    ; return character - 'A' + 10 start
3049                    ; line_number = 247
3050                    ;info   247, 240
3051 00f0 30c9          movlw   201
3052 00f1 072b          addwf   nibble_get__character,w
3053 00f2 0008          return  
3054                    ; line_number = 247
3055                    ; return character - 'A' + 10 done
3056   00f3 :   nibble_get__6:
3057   00f3 :   nibble_get__5:
3058                    ; Recombine code1_bit_states != code2_bit_states
3059                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3060                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3061                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
3062                    ; Recombine code1_bit_states != code2_bit_states
3063                    ; 2GOTO: No goto needed; true= false=nibble_get__5 true_size=9 false_size=1
3064                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
3065                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
3066                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
3067                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3068                    ; line_number = 246
3069                    ; if 'A' <= character && character <= 'F' done
3070                    ; line_number = 248
3071                    ; return 0 start
3072                    ; line_number = 248
3073                    ;info   248, 243
3074 00f3 3400          retlw   0
3075                    ; line_number = 248
3076                    ; return 0 done
3077            
3078            
3079                    ; delay after procedure statements=non-uniform
3080            
3081            
3082            
3083            
3084                    ; #    # Command loop:
3085                    ; #    index := 0
3086                    ; #    loop_forever
3087                    ; #	command := _uart_byte_get()
3088                    ; #	if command = '\cr\'
3089                    ; #	    # End of line:
3090                    ; #	    call _uart_crlf_put()
3091                    ; #	    size := index
3092                    ; #	    index := 0
3093                    ; #	    loop_exactly size
3094                    ; #		# Set high address byte:
3095                    ; #		_porta := 0
3096                    ; #
3097                    ; #		# Set middle address byte:
3098                    ; #		_portd := 0
3099                    ; #		adrm := 1
3100                    ; #		adrm := 0
3101                    ; #
3102                    ; #		# Set low address byte:
3103                    ; #		_portd := index
3104                    ; #		adrl := 1
3105                    ; #		adrl := 0
3106                    ; #
3107                    ; #		# Read the data byte:
3108                    ; #		_trisd := 0xff
3109                    ; #		oe := 0
3110                    ; #		command := _portd
3111                    ; #		oe := 1
3112                    ; #		_trisd := 0
3113                    ; #
3114                    ; #		call _uart_byte_put(command)
3115                    ; #		call _uart_byte_put(buffer[index])
3116                    ; #		index := index + 1
3117                    ; #	    call _uart_crlf_put()
3118                    ; #	    index := 0
3119                    ; #	else
3120                    ; #	    # Enter character into buffer:
3121                    ; #	    call _uart_byte_put(command)
3122                    ; #
3123                    ; #	    # Set high address byte:
3124                    ; #	    _porta := 0
3125                    ; #
3126                    ; #	    # Set middle address byte:
3127                    ; #	    _portd := 0
3128                    ; #	    adrm := 1
3129                    ; #	    adrm := 0
3130                    ; #
3131                    ; #	    # Set low address byte:
3132                    ; #	    _portd := index
3133                    ; #	    adrl := 1
3134                    ; #	    adrl := 0
3135                    ; #
3136                    ; #	    # Write data:
3137                    ; #	    _portd := command
3138                    ; #	    we := 0
3139                    ; #	    we := 1
3140                    ; #
3141                    ; #	    buffer[index] := command
3142                    ; #	    index := index + 1
3143            
3144            
3145                    ; Appending 7 delayed procedures to code bank 0
3146                    ; buffer = '_uart'
3147                    ; line_number = 7
3148                    ;info   7, 244
3149                    ; procedure _uart_byte_safe_get
3150   00f4 :   _uart_byte_safe_get:
3151                    ; arguments_none
3152                    ; line_number = 9
3153                    ;  returns byte
3154            
3155                    ; # This procedure will the next byte from UART.  If no byte
3156                    ; # received in a reasonable time, 0xfc is returned.
3157            
3158                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3159                    ; line_number = 14
3160                    ;  loop_exactly 255 start
3161                    ;info   14, 244
3162 0000002f = _uart_byte_safe_get__1 equ globals___0+15
3163 00f4 30ff          movlw   255
3164 00f5 00af          movwf   _uart_byte_safe_get__1
3165   00f6 :   _uart_byte_safe_get__2:
3166                    ; line_number = 15
3167                    ; loop_exactly 255 start
3168                    ;info   15, 246
3169 00000030 = _uart_byte_safe_get__3 equ globals___0+16
3170 00f6 30ff          movlw   255
3171 00f7 00b0          movwf   _uart_byte_safe_get__3
3172   00f8 :   _uart_byte_safe_get__4:
3173                    ; line_number = 16
3174                    ; if _rcif start
3175                    ;info   16, 248
3176                    ; =>bit_code_emit@symbol(): sym=_rcif
3177                    ; No 1TEST: true.size=2 false.size=0
3178                    ; No 2TEST: true.size=2 false.size=0
3179                    ; 1GOTO: Single test with GOTO
3180 00f8 1e8c          btfss   _rcif___byte, _rcif___bit
3181 00f9 28fc          goto    _uart_byte_safe_get__5
3182                    ; line_number = 17
3183                    ; return _rcreg start
3184                    ; line_number = 17
3185                    ;info   17, 250
3186 00fa 081a          movf    _rcreg,w
3187 00fb 0008          return  
3188                    ; line_number = 17
3189                    ; return _rcreg done
3190                    ; Recombine size1 = 0 || size2 = 0
3191   00fc :   _uart_byte_safe_get__5:
3192                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
3193                    ; line_number = 16
3194                    ; if _rcif done
3195                    ; line_number = 15
3196                    ; loop_exactly 255 wrap-up
3197 00fc 0bb0          decfsz  _uart_byte_safe_get__3,f
3198 00fd 28f8          goto    _uart_byte_safe_get__4
3199                    ; line_number = 15
3200                    ; loop_exactly 255 done
3201                    ; line_number = 14
3202                    ;  loop_exactly 255 wrap-up
3203 00fe 0baf          decfsz  _uart_byte_safe_get__1,f
3204 00ff 28f6          goto    _uart_byte_safe_get__2
3205                    ; line_number = 14
3206                    ;  loop_exactly 255 done
3207                    ; line_number = 18
3208                    ; return 0xfc start
3209                    ; line_number = 18
3210                    ;info   18, 256
3211 0100 34fc          retlw   252
3212                    ; line_number = 18
3213                    ; return 0xfc done
3214            
3215            
3216                    ; delay after procedure statements=non-uniform
3217            
3218            
3219            
3220            
3221                    ; line_number = 21
3222                    ;info   21, 257
3223                    ; procedure _uart_byte_get
3224   0101 :   _uart_byte_get:
3225                    ; arguments_none
3226                    ; line_number = 23
3227                    ;  returns byte
3228            
3229                    ; # This procedure will return the next byte from the UART.
3230            
3231                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3232                    ; line_number = 27
3233                    ;  while !_rcif start
3234   0101 :   _uart_byte_get__1:
3235                    ;info   27, 257
3236                    ; =>bit_code_emit@symbol(): sym=_rcif
3237                    ; 1TEST: Single test with code in skip slot
3238 0101 1e8c          btfss   _rcif___byte, _rcif___bit
3239                    ; line_number = 28
3240                    ; do_nothing
3241                    ;info   28, 258
3242 0102 2901          goto    _uart_byte_get__1
3243                    ; Recombine size1 = 0 || size2 = 0
3244                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
3245                    ; line_number = 27
3246                    ;  while !_rcif done
3247                    ; line_number = 29
3248                    ; return _rcreg start
3249                    ; line_number = 29
3250                    ;info   29, 259
3251 0103 081a          movf    _rcreg,w
3252 0104 0008          return  
3253                    ; line_number = 29
3254                    ; return _rcreg done
3255            
3256            
3257                    ; delay after procedure statements=non-uniform
3258            
3259            
3260            
3261            
3262                    ; line_number = 32
3263                    ;info   32, 261
3264                    ; procedure _uart_hex_put
3265   0105 :   _uart_hex_put:
3266                    ; Last argument is sitting in W; save into argument variable
3267 0105 00a0          movwf   _uart_hex_put__value
3268                    ; delay=4294967295
3269                    ; line_number = 33
3270                    ; argument value byte
3271 00000020 = _uart_hex_put__value equ globals___0
3272                    ; line_number = 34
3273                    ;  returns_nothing
3274            
3275                    ; # This procedure will output {value} to the UART as a 2-digit
3276                    ; # hexadecimal number.
3277            
3278                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3279                    ; line_number = 39
3280                    ;  call _uart_nibble_put(value >> 4)
3281                    ;info   39, 262
3282 00000031 = _uart_hex_put__1 equ globals___0+17
3283 0106 0e20          swapf   _uart_hex_put__value,w
3284 0107 390f          andlw   15
3285 0108 210d          call    _uart_nibble_put
3286                    ; line_number = 40
3287                    ;  call _uart_nibble_put(value & 0xf)
3288                    ;info   40, 265
3289 0109 300f          movlw   15
3290 010a 0520          andwf   _uart_hex_put__value,w
3291 010b 210d          call    _uart_nibble_put
3292            
3293            
3294                    ; delay after procedure statements=non-uniform
3295                    ; Implied return
3296 010c 3400          retlw   0
3297            
3298            
3299            
3300            
3301                    ; line_number = 43
3302                    ;info   43, 269
3303                    ; procedure _uart_nibble_put
3304   010d :   _uart_nibble_put:
3305                    ; Last argument is sitting in W; save into argument variable
3306 010d 00a1          movwf   _uart_nibble_put__nibble
3307                    ; delay=4294967295
3308                    ; line_number = 44
3309                    ; argument nibble byte
3310 00000021 = _uart_nibble_put__nibble equ globals___0+1
3311                    ; line_number = 45
3312                    ;  returns_nothing
3313            
3314                    ; # This procedure will output {value} to UART as a 1 digit
3315                    ; # hexadecimal number.
3316            
3317                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3318                    ; line_number = 50
3319                    ;  if nibble < 10 start
3320                    ;info   50, 270
3321 010e 300a          movlw   10
3322 010f 0221          subwf   _uart_nibble_put__nibble,w
3323                    ; =>bit_code_emit@symbol(): sym=__c
3324                    ; No 1TEST: true.size=1 false.size=1
3325                    ; 2TEST: two tests with code in both delay slots
3326 0110 1803          btfsc   __c___byte, __c___bit
3327                    ; line_number = 53
3328                    ; nibble := nibble - 10 + 'A'
3329                    ;info   53, 273
3330 0111 3037          movlw   55
3331 0112 1c03          btfss   __c___byte, __c___bit
3332                    ; line_number = 51
3333                    ; nibble := nibble + '0'
3334                    ;info   51, 275
3335 0113 3030          movlw   48
3336 0114 07a1          addwf   _uart_nibble_put__nibble,f
3337                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3338                    ; line_number = 50
3339                    ;  if nibble < 10 done
3340                    ; line_number = 54
3341                    ; call _uart_byte_put(nibble)
3342                    ;info   54, 277
3343 0115 0821          movf    _uart_nibble_put__nibble,w
3344 0116 2120          call    _uart_byte_put
3345            
3346            
3347                    ; delay after procedure statements=non-uniform
3348                    ; Implied return
3349 0117 3400          retlw   0
3350            
3351            
3352            
3353            
3354                    ; line_number = 57
3355                    ;info   57, 280
3356                    ; procedure _uart_space_put
3357   0118 :   _uart_space_put:
3358                    ; arguments_none
3359                    ; line_number = 59
3360                    ;  returns_nothing
3361            
3362                    ; # This procedure will output a space to the UART.
3363            
3364                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3365                    ; line_number = 63
3366                    ;  call _uart_byte_put(' ')
3367                    ;info   63, 280
3368 0118 3020          movlw   32
3369 0119 2120          call    _uart_byte_put
3370            
3371            
3372                    ; delay after procedure statements=non-uniform
3373                    ; Implied return
3374 011a 3400          retlw   0
3375            
3376            
3377            
3378            
3379                    ; line_number = 66
3380                    ;info   66, 283
3381                    ; procedure _uart_crlf_put
3382   011b :   _uart_crlf_put:
3383                    ; arguments_none
3384                    ; line_number = 68
3385                    ;  returns_nothing
3386            
3387                    ; # This procedure will output a carriage return line feed sequecne to
3388                    ; # the UART.
3389            
3390                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3391                    ; line_number = 73
3392                    ;  call _uart_byte_put('\cr\')
3393                    ;info   73, 283
3394 011b 300d          movlw   13
3395 011c 2120          call    _uart_byte_put
3396                    ; line_number = 74
3397                    ;  call _uart_byte_put('\lf\')
3398                    ;info   74, 285
3399 011d 300a          movlw   10
3400 011e 2120          call    _uart_byte_put
3401            
3402            
3403                    ; delay after procedure statements=non-uniform
3404                    ; Implied return
3405 011f 3400          retlw   0
3406            
3407            
3408            
3409            
3410                    ; line_number = 77
3411                    ;info   77, 288
3412                    ; procedure _uart_byte_put
3413   0120 :   _uart_byte_put:
3414                    ; Last argument is sitting in W; save into argument variable
3415 0120 00a2          movwf   _uart_byte_put__byte
3416                    ; delay=4294967295
3417                    ; line_number = 78
3418                    ; argument byte byte
3419 00000022 = _uart_byte_put__byte equ globals___0+2
3420                    ; line_number = 79
3421                    ;  returns_nothing
3422            
3423                    ; # This procedure will send {byte} out using to the UART.
3424            
3425                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3426                    ; line_number = 83
3427                    ;  while !_txif start
3428   0121 :   _uart_byte_put__1:
3429                    ;info   83, 289
3430                    ; =>bit_code_emit@symbol(): sym=_txif
3431                    ; 1TEST: Single test with code in skip slot
3432 0121 1e0c          btfss   _txif___byte, _txif___bit
3433                    ; line_number = 84
3434                    ; do_nothing
3435                    ;info   84, 290
3436 0122 2921          goto    _uart_byte_put__1
3437                    ; Recombine size1 = 0 || size2 = 0
3438                    ; <=bit_code_emit@symbol; sym=_txif (data:00=>00 code:00=>00)
3439                    ; line_number = 83
3440                    ;  while !_txif done
3441                    ; line_number = 85
3442                    ; _txreg := byte
3443                    ;info   85, 291
3444 0123 0822          movf    _uart_byte_put__byte,w
3445 0124 0099          movwf   _txreg
3446            
3447            
3448                    ; delay after procedure statements=non-uniform
3449                    ; Implied return
3450 0125 3400          retlw   0
3451            
3452            
3453            
3454            
3455                    ; Code bank 1; Start address: 2048; End address: 4095
3456   0800 :           org     2048
3457                    ; Code bank 2; Start address: 4096; End address: 6143
3458   1000 :           org     4096
3459                    ; Code bank 3; Start address: 6144; End address: 8191
3460   1800 :           org     6144
3461                    ; Configuration bits
3462                    ; address = 0x2007, fill = 0x600
3463                    ; cp = off (0x2000)
3464                    ; cpmx = rc1 (0x1000)
3465                    ; debug = off (0x800)
3466                    ; borv = borv00 (0x0)
3467                    ; boren = off (0x0)
3468                    ; mclre = off (0x0)
3469                    ; pwrten = off (0x8)
3470                    ; wdten = off (0x0)
3471                    ; fosc = hs (0x2)
3472                    ; 15882 = 0x3e0a
3473                    ; 8199 = 0x2007
3474   3e0a =           __config 8199, 15882
3475                    ; Configuration bits
3476                    ; address = 0x2008, fill = 0x33bc
3477                    ; borsen = off (0x0)
3478                    ; ieso = off (0x2)
3479                    ; fcmen = off (0x0)
3480                    ; 13246 = 0x33be
3481                    ; 8200 = 0x2008
3482   33be =           __config 8200, 13246
3483                    ; Define start addresses for data regions
3484                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
3485                    ; Region="globals___0" Address=32" Size=80 Bytes=18 Bits=0 Available=62
3486                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
3487                    ; Region="globals___2" Address=272" Size=96 Bytes=0 Bits=0 Available=96
3488                    ; Region="globals___3" Address=400" Size=112 Bytes=0 Bits=0 Available=112
3489                    end
