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 = 'chopper_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 = 'chopper_test'
1930                    ; line_number = 6
1931                    ; library _pic16f777 exited
1932                    ; line_number = 7
1933                    ; library clock20mhz entered
1934                    ; # Copyright (c) 2004 by Wayne C. Gramlich
1935                    ; # All rights reserved.
1936            
1937                    ; # This library defines the contstants {clock_rate}, {instruction_rate},
1938                    ; # and {clocks_per_instruction}.
1939            
1940                    ; # Define processor constants:
1941                    ; buffer = 'clock20mhz'
1942                    ; line_number = 9
1943                    ; constant clock_rate = 20000000
1944 01312d00 = clock_rate equ 20000000
1945                    ; line_number = 10
1946                    ; constant clocks_per_instruction = 4
1947 00000004 = clocks_per_instruction equ 4
1948                    ; line_number = 11
1949                    ; constant instruction_rate = clock_rate / clocks_per_instruction
1950 004c4b40 = instruction_rate equ 5000000
1951            
1952            
1953                    ; buffer = 'chopper_test'
1954                    ; line_number = 7
1955                    ; library clock20mhz exited
1956                    ; line_number = 8
1957                    ; library _uart entered
1958                    ; # Copyright (c) 2004 by Wayne C. Gramlich.
1959                    ; # All rights reserved.
1960            
1961                    ; # This library contains some procedures for accessing the UART.
1962            
1963                    ; Delaying code generation for procedure  _uart_byte_safe_get
1964                    ; Delaying code generation for procedure  _uart_byte_get
1965                    ; Delaying code generation for procedure  _uart_hex_put
1966                    ; Delaying code generation for procedure  _uart_nibble_put
1967                    ; Delaying code generation for procedure  _uart_space_put
1968                    ; Delaying code generation for procedure  _uart_crlf_put
1969                    ; Delaying code generation for procedure  _uart_byte_put
1970            
1971                    ; line_number = 8
1972                    ; library _uart exited
1973            
1974                    ; line_number = 10
1975                    ; package pdip
1976                    ; line_number = 11
1977                    ; pin 1 = mclr
1978                    ; line_number = 12
1979                    ;  pin 2 = ra0_in, name = x_step
1980 00000005 = x_step___byte equ _porta
1981 00000000 = x_step___bit equ 0
1982                    ; line_number = 13
1983                    ;  pin 3 = ra1_in, name = y_dir
1984 00000005 = y_dir___byte equ _porta
1985 00000001 = y_dir___bit equ 1
1986                    ; line_number = 14
1987                    ;  pin 4 = ra2_in, name = z_dir
1988 00000005 = z_dir___byte equ _porta
1989 00000002 = z_dir___bit equ 2
1990                    ; line_number = 15
1991                    ;  pin 5 = ra3_in, name = x_dir
1992 00000005 = x_dir___byte equ _porta
1993 00000003 = x_dir___bit equ 3
1994                    ; line_number = 16
1995                    ;  pin 6 = ra4_in, name = a_step
1996 00000005 = a_step___byte equ _porta
1997 00000004 = a_step___bit equ 4
1998                    ; line_number = 17
1999                    ;  pin 7 = ra5_in, name = z_step
2000 00000005 = z_step___byte equ _porta
2001 00000005 = z_step___bit equ 5
2002                    ; line_number = 18
2003                    ;  pin 8 = re0_in, name = y_step
2004 00000009 = y_step___byte equ _porte
2005 00000000 = y_step___bit equ 0
2006                    ; line_number = 19
2007                    ;  pin 9 = re1_in, name = a_dir
2008 00000009 = a_dir___byte equ _porte
2009 00000001 = a_dir___bit equ 1
2010                    ; line_number = 20
2011                    ;  pin 10 = re2_unused
2012                    ; line_number = 21
2013                    ;  pin 11 = vdd1
2014                    ; line_number = 22
2015                    ;  pin 12 = vss1
2016                    ; line_number = 23
2017                    ;  pin 13 = osc1
2018                    ; line_number = 24
2019                    ;  pin 14 = osc2
2020                    ; line_number = 25
2021                    ;  pin 15 = rc0_in, name = strobe
2022 00000007 = strobe___byte equ _portc
2023 00000000 = strobe___bit equ 0
2024                    ; line_number = 26
2025                    ;  pin 16 = rc1_unused
2026                    ; line_number = 27
2027                    ;  pin 17 = rc2_out, name = load
2028 00000007 = load___byte equ _portc
2029 00000002 = load___bit equ 2
2030                    ; line_number = 28
2031                    ;  pin 18 = rc3_out, name = clock
2032 00000007 = clock___byte equ _portc
2033 00000003 = clock___bit equ 3
2034                    ; line_number = 29
2035                    ;  pin 19 = rd0_out, name = x4
2036 00000008 = x4___byte equ _portd
2037 00000000 = x4___bit equ 0
2038                    ; line_number = 30
2039                    ;  pin 20 = rd1_out, name = x3
2040 00000008 = x3___byte equ _portd
2041 00000001 = x3___bit equ 1
2042                    ; line_number = 31
2043                    ;  pin 21 = rd2_out, name = x2
2044 00000008 = x2___byte equ _portd
2045 00000002 = x2___bit equ 2
2046                    ; line_number = 32
2047                    ;  pin 22 = rd3_out, name = x1
2048 00000008 = x1___byte equ _portd
2049 00000003 = x1___bit equ 3
2050                    ; line_number = 33
2051                    ;  pin 23 = rc4_out, name = ldac
2052 00000007 = ldac___byte equ _portc
2053 00000004 = ldac___bit equ 4
2054                    ; line_number = 34
2055                    ;  pin 24 = rc5_out, name = data
2056 00000007 = data___byte equ _portc
2057 00000005 = data___bit equ 5
2058                    ; line_number = 35
2059                    ;  pin 25 = rc6_unused
2060                    ; line_number = 36
2061                    ;  pin 26 = rx, name = rxd
2062 00000007 = rxd___byte equ _portc
2063 00000007 = rxd___bit equ 7
2064                    ; line_number = 37
2065                    ;  pin 27 = rd4_out, name = y4
2066 00000008 = y4___byte equ _portd
2067 00000004 = y4___bit equ 4
2068                    ; line_number = 38
2069                    ;  pin 28 = rd5_out, name = y3
2070 00000008 = y3___byte equ _portd
2071 00000005 = y3___bit equ 5
2072                    ; line_number = 39
2073                    ;  pin 29 = rd6_out, name = y2
2074 00000008 = y2___byte equ _portd
2075 00000006 = y2___bit equ 6
2076                    ; line_number = 40
2077                    ;  pin 30 = rd7_out, name = y1
2078 00000008 = y1___byte equ _portd
2079 00000007 = y1___bit equ 7
2080                    ; line_number = 41
2081                    ;  pin 31 = vss2
2082                    ; line_number = 42
2083                    ;  pin 32 = vdd2
2084                    ; line_number = 43
2085                    ;  pin 33 = rb0_out, name = z4
2086 00000006 = z4___byte equ _portb
2087 00000000 = z4___bit equ 0
2088                    ; line_number = 44
2089                    ;  pin 34 = rb1_out, name = z3
2090 00000006 = z3___byte equ _portb
2091 00000001 = z3___bit equ 1
2092                    ; line_number = 45
2093                    ;  pin 35 = rb2_out, name = z2
2094 00000006 = z2___byte equ _portb
2095 00000002 = z2___bit equ 2
2096                    ; line_number = 46
2097                    ;  pin 36 = rb3_out, name = z1
2098 00000006 = z1___byte equ _portb
2099 00000003 = z1___bit equ 3
2100                    ; line_number = 47
2101                    ;  pin 37 = rb4_out, name = a4
2102 00000006 = a4___byte equ _portb
2103 00000004 = a4___bit equ 4
2104                    ; line_number = 48
2105                    ;  pin 38 = rb5_out, name = a3
2106 00000006 = a3___byte equ _portb
2107 00000005 = a3___bit equ 5
2108                    ; line_number = 49
2109                    ;  pin 39 = rb6_out, name = a2
2110 00000006 = a2___byte equ _portb
2111 00000006 = a2___bit equ 6
2112                    ; line_number = 50
2113                    ;  pin 40 = rb7_out, name = a1
2114 00000006 = a1___byte equ _portb
2115 00000007 = a1___bit equ 7
2116            
2117            
2118                    ; line_number = 54
2119                    ; constant microsecond = 5
2120 00000005 = microsecond equ 5
2121            
2122                    ; line_number = 56
2123                    ; constant tmr0_prescale_power = 0
2124 00000000 = tmr0_prescale_power equ 0
2125                    ; line_number = 57
2126                    ; constant tmr0_prescale = 1 << (tmr0_prescale_power + 1)
2127 00000002 = tmr0_prescale equ 2
2128                    ; line_number = 58
2129                    ; constant refresh_rate = 25000
2130 000061a8 = refresh_rate equ 25000
2131                    ; line_number = 59
2132                    ; constant refresh_clocks = instruction_rate / refresh_rate
2133 000000c8 = refresh_clocks equ 200
2134                    ; line_number = 60
2135                    ; constant tmr0_value = 255 - (refresh_clocks / tmr0_prescale) 
2136 0000009b = tmr0_value equ 155
2137            
2138                    ; # sin((0/8) * 90) = 0.000000   x 255 = 0
2139                    ; # sin((1/8) * 90) = 0.195090   x 255 = 50
2140                    ; # sin((2/8) * 90) = 0.382683   x 255 = 98
2141                    ; # sin((3/8) * 90) = 0.555570   x 255 = 142 
2142                    ; # sin((4/8) * 90) = 0.707107   x 255 = 180
2143                    ; # sin((5/8) * 90) = 0.831470   x 255 = 212
2144                    ; # sin((6/8) * 90) = 0.923880   x 255 = 236
2145                    ; # sin((7/8) * 90) = 0.980785   x 255 = 250
2146                    ; # sin((8/8) * 90) = 1.000000   x 255 = 255
2147            
2148                    ; line_number = 72
2149                    ; constant sine_0_8 = 0
2150 00000000 = sine_0_8 equ 0
2151                    ; line_number = 73
2152                    ; constant sine_1_8 = 50
2153 00000032 = sine_1_8 equ 50
2154                    ; line_number = 74
2155                    ; constant sine_2_8 = 98
2156 00000062 = sine_2_8 equ 98
2157                    ; line_number = 75
2158                    ; constant sine_3_8 = 142
2159 0000008e = sine_3_8 equ 142
2160                    ; line_number = 76
2161                    ; constant sine_4_8 = 180
2162 000000b4 = sine_4_8 equ 180
2163                    ; line_number = 77
2164                    ; constant sine_5_8 = 212
2165 000000d4 = sine_5_8 equ 212
2166                    ; line_number = 78
2167                    ; constant sine_6_8 = 236
2168 000000ec = sine_6_8 equ 236
2169                    ; line_number = 79
2170                    ; constant sine_7_8 = 250
2171 000000fa = sine_7_8 equ 250
2172                    ; line_number = 80
2173                    ; constant sine_8_8 = 255
2174 000000ff = sine_8_8 equ 255
2175            
2176                    ; line_number = 82
2177                    ; global dac byte
2178 00000023 = dac equ globals___0+3
2179                    ; line_number = 83
2180                    ; global port_b byte
2181 00000024 = port_b equ globals___0+4
2182                    ; line_number = 84
2183                    ; global port_d byte
2184 00000025 = port_d equ globals___0+5
2185                    ; line_number = 85
2186                    ; global a_angle byte
2187 00000026 = a_angle equ globals___0+6
2188                    ; line_number = 86
2189                    ; global x_angle byte
2190 00000027 = x_angle equ globals___0+7
2191                    ; line_number = 87
2192                    ; global y_angle byte
2193 00000028 = y_angle equ globals___0+8
2194                    ; line_number = 88
2195                    ; global z_angle byte
2196 00000029 = z_angle equ globals___0+9
2197                    ; line_number = 89
2198                    ; global a_amount byte
2199 0000002a = a_amount equ globals___0+10
2200                    ; line_number = 90
2201                    ; global x_amount byte
2202 0000002b = x_amount equ globals___0+11
2203                    ; line_number = 91
2204                    ; global y_amount byte
2205 0000002c = y_amount equ globals___0+12
2206                    ; line_number = 92
2207                    ; global z_amount byte
2208 0000002d = z_amount equ globals___0+13
2209                    ; line_number = 93
2210                    ; global a_step_previous bit
2211 0000006f = a_step_previous___byte equ globals___0+79
2212 00000000 = a_step_previous___bit equ 0
2213                    ; line_number = 94
2214                    ; global x_step_previous bit
2215 0000006f = x_step_previous___byte equ globals___0+79
2216 00000001 = x_step_previous___bit equ 1
2217                    ; line_number = 95
2218                    ; global y_step_previous bit
2219 0000006f = y_step_previous___byte equ globals___0+79
2220 00000002 = y_step_previous___bit equ 2
2221                    ; line_number = 96
2222                    ; global z_step_previous bit
2223 0000006f = z_step_previous___byte equ globals___0+79
2224 00000003 = z_step_previous___bit equ 3
2225                    ; line_number = 97
2226                    ; global dac_update byte
2227 0000002e = dac_update equ globals___0+14
2228                    ; line_number = 98
2229                    ; bind a_dac_update = dac_update@3
2230 0000002e = a_dac_update___byte equ globals___0+14
2231 00000003 = a_dac_update___bit equ 3
2232                    ; line_number = 99
2233                    ; bind z_dac_update = dac_update@2
2234 0000002e = z_dac_update___byte equ globals___0+14
2235 00000002 = z_dac_update___bit equ 2
2236                    ; line_number = 100
2237                    ; bind y_dac_update = dac_update@1
2238 0000002e = y_dac_update___byte equ globals___0+14
2239 00000001 = y_dac_update___bit equ 1
2240                    ; line_number = 101
2241                    ; bind x_dac_update = dac_update@0
2242 0000002e = x_dac_update___byte equ globals___0+14
2243 00000000 = x_dac_update___bit equ 0
2244                    ; line_number = 102
2245                    ; global a_mask byte
2246 0000002f = a_mask equ globals___0+15
2247                    ; line_number = 103
2248                    ; global z_mask byte
2249 00000030 = z_mask equ globals___0+16
2250                    ; line_number = 104
2251                    ; global y_mask byte
2252 00000031 = y_mask equ globals___0+17
2253                    ; line_number = 105
2254                    ; global x_mask byte
2255 00000032 = x_mask equ globals___0+18
2256                    ; line_number = 106
2257                    ; global a_strength byte
2258 00000033 = a_strength equ globals___0+19
2259                    ; line_number = 107
2260                    ; global x_strength byte
2261 00000034 = x_strength equ globals___0+20
2262                    ; line_number = 108
2263                    ; global y_strength byte
2264 00000035 = y_strength equ globals___0+21
2265                    ; line_number = 109
2266                    ; global z_strength byte
2267 00000036 = z_strength equ globals___0+22
2268            
2269                    ; line_number = 111
2270                    ; origin 0
2271   0000 :           org     0
2272            
2273                    ; line_number = 113
2274                    ;info   113, 0
2275                    ; procedure start
2276   0000 :   start:
2277                    ; arguments_none
2278                    ; line_number = 115
2279                    ;  returns_nothing
2280            
2281                    ; #: This procedure simply jumps around the interrupt procedure
2282                    ; #, located at location 4.
2283            
2284                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2285                    ; line_number = 120
2286                    ;  assemble
2287                    ;info   120, 0
2288                    ; line_number = 121
2289                    ;info   121, 0
2290 0000 29c0          goto    main
2291            
2292                    ; delay after procedure statements=non-uniform
2293                    ; Implied return
2294 0001 3400          retlw   0
2295            
2296            
2297            
2298            
2299                    ; line_number = 123
2300                    ; origin 4
2301   0004 :           org     4
2302            
2303                    ; line_number = 125
2304                    ;info   125, 4
2305                    ; procedure interrupt
2306   0004 :   interrupt:
2307 00000071 = interrupt___w_save equ shared___globals+1
2308 00000070 = interrupt___status_save equ shared___globals
2309                    ; Carefully save __w and __tatus into RAM
2310                    ; Save W first (easy)
2311 0004 00f1          movwf   interrupt___w_save
2312                    ; Save Status without smashing it (tricky)
2313                    ; Move swapped version of status into W
2314 0005 0e03          swapf   __status,w
2315                    ; Store swapped version of status into RAM
2316 0006 00f0          movwf   interrupt___status_save
2317                    ; arguments_none
2318                    ; line_number = 127
2319                    ;  returns_nothing
2320            
2321                    ; # This procedure processes the TMR0 interrupt.
2322            
2323                    ; # Restart TMR0:
2324                    ; before procedure statements delay=non-uniform, bit states=(data:??=>?? code:00=>00)
2325                    ; line_number = 132
2326                    ;  _tmr0 := tmr0_value
2327                    ;info   132, 7
2328 0007 309b          movlw   155
2329 0008 1283          bcf     __rp0___byte, __rp0___bit
2330 0009 0081          movwf   _tmr0
2331                    ; line_number = 133
2332                    ;  _tmr0if := _false
2333                    ;info   133, 10
2334 000a 110b          bcf     _tmr0if___byte, _tmr0if___bit
2335            
2336                    ; # Blank for 4 microseconds:
2337                    ; line_number = 136
2338                    ;  strobe := _false
2339                    ;info   136, 11
2340 000b 1303          bcf     __rp1___byte, __rp1___bit
2341 000c 1007          bcf     strobe___byte, strobe___bit
2342                    ; line_number = 137
2343                    ;  delay 4 * microsecond start
2344                    ;info   137, 13
2345                    ; Delay expression evaluates to 20
2346                    ; # Set the H-Bridges:
2347                    ; line_number = 139
2348                    ;  _portb := port_b
2349                    ; Delay at assignment is 0
2350                    ;info   139, 13
2351 000d 0824          movf    port_b,w
2352 000e 0086          movwf   _portb
2353                    ; line_number = 140
2354                    ;  _portd := port_d
2355                    ; Delay at assignment is 2
2356                    ;info   140, 15
2357 000f 0825          movf    port_d,w
2358 0010 0088          movwf   _portd
2359            
2360                    ; # Force the DAC values out to the pins:
2361                    ; line_number = 143
2362                    ;  ldac := _false
2363                    ; Delay at assignment is 4
2364                    ;info   143, 17
2365 0011 1207          bcf     ldac___byte, ldac___bit
2366                    ; line_number = 144
2367                    ;  ldac := _true
2368                    ; Delay at assignment is 5
2369                    ;info   144, 18
2370 0012 1607          bsf     ldac___byte, ldac___bit
2371            
2372                    ; # Strobe the H-bridges
2373                    ; # It may be necessary to add some delay here to let the
2374                    ; # sense resistor voltages settle down.
2375                    ; Delay 14 cycles
2376                    ; Delay loop takes 3 * 4 = 12 cycles
2377 0013 3003          movlw   3
2378   0014 :   interrupt__1:
2379 0014 3eff          addlw   255
2380 0015 1d03          btfss   __z___byte, __z___bit
2381 0016 2814          goto    interrupt__1
2382 0017 2818          goto    interrupt__2
2383   0018 :   interrupt__2:
2384                    ; line_number = 137
2385                    ;  delay 4 * microsecond done
2386                    ; line_number = 149
2387                    ; strobe := _true
2388                    ;info   149, 24
2389 0018 1407          bsf     strobe___byte, strobe___bit
2390            
2391            
2392                    ; delay after procedure statements=non-uniform
2393                    ; Interrupt return
2394                    ; Carefully restore __w and __tatus from RAM
2395                    ; Restore swapped status into W
2396 0019 0e70          swapf   interrupt___status_save,w
2397                    ; W now contains (unswapped) status
2398                    ; Restore W to __status
2399 001a 0083          movwf   __status
2400                    ; From here on out, do not modify __status
2401                    ; Swap saved W register in RAM
2402 001b 0ef1          swapf   interrupt___w_save,f
2403                    ; Unswap the saved W reg and restore to W
2404 001c 0e71          swapf   interrupt___w_save,w
2405                    ; __w and __status are now restored
2406                    ; Return from interrupt
2407 001d 0009          retfie  
2408            
2409            
2410            
2411            
2412                    ; line_number = 152
2413                    ;info   152, 30
2414                    ; procedure sine
2415   001e :   sine:
2416                    ; Last argument is sitting in W; save into argument variable
2417 001e 00b7          movwf   sine__angle
2418                    ; delay=4294967295
2419                    ; line_number = 153
2420                    ; argument angle byte
2421 00000037 = sine__angle equ globals___0+23
2422                    ; line_number = 154
2423                    ;  returns byte
2424            
2425                    ; # This procedure will return sin({angle})*255, where {angle} is
2426                    ; # measured in multiples of 11.25 degrees (= (1/8) * 90).
2427            
2428                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2429                    ; line_number = 159
2430                    ;  switch angle start
2431                    ;info   159, 31
2432 001f 3000          movlw   sine__145>>8
2433 0020 008a          movwf   __pclath
2434 0021 0837          movf    sine__angle,w
2435 0022 3e24          addlw   sine__145
2436 0023 0082          movwf   __pcl
2437                    ; page_group 144
2438   0024 :   sine__145:
2439                    ; line_number = 161
2440                    ; return 0 start
2441                    ; line_number = 161
2442                    ;info   161, 36
2443 0024 3400          retlw   0
2444                    ; line_number = 161
2445                    ; return 0 done
2446                    ; line_number = 163
2447                    ; return 0 start
2448                    ; line_number = 163
2449                    ;info   163, 37
2450 0025 3400          retlw   0
2451                    ; line_number = 163
2452                    ; return 0 done
2453                    ; line_number = 165
2454                    ; return 0 start
2455                    ; line_number = 165
2456                    ;info   165, 38
2457 0026 3400          retlw   0
2458                    ; line_number = 165
2459                    ; return 0 done
2460                    ; line_number = 167
2461                    ; return 0 start
2462                    ; line_number = 167
2463                    ;info   167, 39
2464 0027 3400          retlw   0
2465                    ; line_number = 167
2466                    ; return 0 done
2467                    ; line_number = 169
2468                    ; return 0 start
2469                    ; line_number = 169
2470                    ;info   169, 40
2471 0028 3400          retlw   0
2472                    ; line_number = 169
2473                    ; return 0 done
2474                    ; line_number = 171
2475                    ; return 0 start
2476                    ; line_number = 171
2477                    ;info   171, 41
2478 0029 3400          retlw   0
2479                    ; line_number = 171
2480                    ; return 0 done
2481                    ; line_number = 173
2482                    ; return 0 start
2483                    ; line_number = 173
2484                    ;info   173, 42
2485 002a 3400          retlw   0
2486                    ; line_number = 173
2487                    ; return 0 done
2488                    ; line_number = 175
2489                    ; return 0 start
2490                    ; line_number = 175
2491                    ;info   175, 43
2492 002b 3400          retlw   0
2493                    ; line_number = 175
2494                    ; return 0 done
2495                    ; line_number = 177
2496                    ; return 0 start
2497                    ; line_number = 177
2498                    ;info   177, 44
2499 002c 3400          retlw   0
2500                    ; line_number = 177
2501                    ; return 0 done
2502                    ; line_number = 179
2503                    ; return 0 start
2504                    ; line_number = 179
2505                    ;info   179, 45
2506 002d 3400          retlw   0
2507                    ; line_number = 179
2508                    ; return 0 done
2509                    ; line_number = 181
2510                    ; return 0 start
2511                    ; line_number = 181
2512                    ;info   181, 46
2513 002e 3400          retlw   0
2514                    ; line_number = 181
2515                    ; return 0 done
2516                    ; line_number = 183
2517                    ; return 0 start
2518                    ; line_number = 183
2519                    ;info   183, 47
2520 002f 3400          retlw   0
2521                    ; line_number = 183
2522                    ; return 0 done
2523                    ; line_number = 185
2524                    ; return 0 start
2525                    ; line_number = 185
2526                    ;info   185, 48
2527 0030 3400          retlw   0
2528                    ; line_number = 185
2529                    ; return 0 done
2530                    ; line_number = 187
2531                    ; return 0 start
2532                    ; line_number = 187
2533                    ;info   187, 49
2534 0031 3400          retlw   0
2535                    ; line_number = 187
2536                    ; return 0 done
2537                    ; line_number = 189
2538                    ; return 0 start
2539                    ; line_number = 189
2540                    ;info   189, 50
2541 0032 3400          retlw   0
2542                    ; line_number = 189
2543                    ; return 0 done
2544                    ; line_number = 191
2545                    ; return 0 start
2546                    ; line_number = 191
2547                    ;info   191, 51
2548 0033 3400          retlw   0
2549                    ; line_number = 191
2550                    ; return 0 done
2551            
2552                    ; line_number = 194
2553                    ; return sine_0_8 * 1 / 8 start
2554                    ; line_number = 194
2555                    ;info   194, 52
2556 0034 3400          retlw   0
2557                    ; line_number = 194
2558                    ; return sine_0_8 * 1 / 8 done
2559                    ; line_number = 196
2560                    ; return sine_1_8 * 1 / 8 start
2561                    ; line_number = 196
2562                    ;info   196, 53
2563 0035 3406          retlw   6
2564                    ; line_number = 196
2565                    ; return sine_1_8 * 1 / 8 done
2566                    ; line_number = 198
2567                    ; return sine_2_8 * 1 / 8 start
2568                    ; line_number = 198
2569                    ;info   198, 54
2570 0036 340c          retlw   12
2571                    ; line_number = 198
2572                    ; return sine_2_8 * 1 / 8 done
2573                    ; line_number = 200
2574                    ; return sine_3_8 * 1 / 8 start
2575                    ; line_number = 200
2576                    ;info   200, 55
2577 0037 3411          retlw   17
2578                    ; line_number = 200
2579                    ; return sine_3_8 * 1 / 8 done
2580                    ; line_number = 202
2581                    ; return sine_4_8 * 1 / 8 start
2582                    ; line_number = 202
2583                    ;info   202, 56
2584 0038 3416          retlw   22
2585                    ; line_number = 202
2586                    ; return sine_4_8 * 1 / 8 done
2587                    ; line_number = 204
2588                    ; return sine_5_8 * 1 / 8 start
2589                    ; line_number = 204
2590                    ;info   204, 57
2591 0039 341a          retlw   26
2592                    ; line_number = 204
2593                    ; return sine_5_8 * 1 / 8 done
2594                    ; line_number = 206
2595                    ; return sine_6_8 * 1 / 8 start
2596                    ; line_number = 206
2597                    ;info   206, 58
2598 003a 341d          retlw   29
2599                    ; line_number = 206
2600                    ; return sine_6_8 * 1 / 8 done
2601                    ; line_number = 208
2602                    ; return sine_7_8 * 1 / 8 start
2603                    ; line_number = 208
2604                    ;info   208, 59
2605 003b 341f          retlw   31
2606                    ; line_number = 208
2607                    ; return sine_7_8 * 1 / 8 done
2608                    ; line_number = 210
2609                    ; return sine_8_8 * 1 / 8 start
2610                    ; line_number = 210
2611                    ;info   210, 60
2612 003c 341f          retlw   31
2613                    ; line_number = 210
2614                    ; return sine_8_8 * 1 / 8 done
2615                    ; line_number = 212
2616                    ; return sine_7_8 * 1 / 8 start
2617                    ; line_number = 212
2618                    ;info   212, 61
2619 003d 341f          retlw   31
2620                    ; line_number = 212
2621                    ; return sine_7_8 * 1 / 8 done
2622                    ; line_number = 214
2623                    ; return sine_6_8 * 1 / 8 start
2624                    ; line_number = 214
2625                    ;info   214, 62
2626 003e 341d          retlw   29
2627                    ; line_number = 214
2628                    ; return sine_6_8 * 1 / 8 done
2629                    ; line_number = 216
2630                    ; return sine_5_8 * 1 / 8 start
2631                    ; line_number = 216
2632                    ;info   216, 63
2633 003f 341a          retlw   26
2634                    ; line_number = 216
2635                    ; return sine_5_8 * 1 / 8 done
2636                    ; line_number = 218
2637                    ; return sine_4_8 * 1 / 8 start
2638                    ; line_number = 218
2639                    ;info   218, 64
2640 0040 3416          retlw   22
2641                    ; line_number = 218
2642                    ; return sine_4_8 * 1 / 8 done
2643                    ; line_number = 220
2644                    ; return sine_3_8 * 1 / 8 start
2645                    ; line_number = 220
2646                    ;info   220, 65
2647 0041 3411          retlw   17
2648                    ; line_number = 220
2649                    ; return sine_3_8 * 1 / 8 done
2650                    ; line_number = 222
2651                    ; return sine_2_8 * 1 / 8 start
2652                    ; line_number = 222
2653                    ;info   222, 66
2654 0042 340c          retlw   12
2655                    ; line_number = 222
2656                    ; return sine_2_8 * 1 / 8 done
2657                    ; line_number = 224
2658                    ; return sine_1_8 * 1 / 8 start
2659                    ; line_number = 224
2660                    ;info   224, 67
2661 0043 3406          retlw   6
2662                    ; line_number = 224
2663                    ; return sine_1_8 * 1 / 8 done
2664            
2665                    ; line_number = 227
2666                    ; return sine_0_8 * 2 / 8 start
2667                    ; line_number = 227
2668                    ;info   227, 68
2669 0044 3400          retlw   0
2670                    ; line_number = 227
2671                    ; return sine_0_8 * 2 / 8 done
2672                    ; line_number = 229
2673                    ; return sine_1_8 * 2 / 8 start
2674                    ; line_number = 229
2675                    ;info   229, 69
2676 0045 340c          retlw   12
2677                    ; line_number = 229
2678                    ; return sine_1_8 * 2 / 8 done
2679                    ; line_number = 231
2680                    ; return sine_2_8 * 2 / 8 start
2681                    ; line_number = 231
2682                    ;info   231, 70
2683 0046 3418          retlw   24
2684                    ; line_number = 231
2685                    ; return sine_2_8 * 2 / 8 done
2686                    ; line_number = 233
2687                    ; return sine_3_8 * 2 / 8 start
2688                    ; line_number = 233
2689                    ;info   233, 71
2690 0047 3423          retlw   35
2691                    ; line_number = 233
2692                    ; return sine_3_8 * 2 / 8 done
2693                    ; line_number = 235
2694                    ; return sine_4_8 * 2 / 8 start
2695                    ; line_number = 235
2696                    ;info   235, 72
2697 0048 342d          retlw   45
2698                    ; line_number = 235
2699                    ; return sine_4_8 * 2 / 8 done
2700                    ; line_number = 237
2701                    ; return sine_5_8 * 2 / 8 start
2702                    ; line_number = 237
2703                    ;info   237, 73
2704 0049 3435          retlw   53
2705                    ; line_number = 237
2706                    ; return sine_5_8 * 2 / 8 done
2707                    ; line_number = 239
2708                    ; return sine_6_8 * 2 / 8 start
2709                    ; line_number = 239
2710                    ;info   239, 74
2711 004a 343b          retlw   59
2712                    ; line_number = 239
2713                    ; return sine_6_8 * 2 / 8 done
2714                    ; line_number = 241
2715                    ; return sine_7_8 * 2 / 8 start
2716                    ; line_number = 241
2717                    ;info   241, 75
2718 004b 343e          retlw   62
2719                    ; line_number = 241
2720                    ; return sine_7_8 * 2 / 8 done
2721                    ; line_number = 243
2722                    ; return sine_8_8 * 2 / 8 start
2723                    ; line_number = 243
2724                    ;info   243, 76
2725 004c 343f          retlw   63
2726                    ; line_number = 243
2727                    ; return sine_8_8 * 2 / 8 done
2728                    ; line_number = 245
2729                    ; return sine_7_8 * 2 / 8 start
2730                    ; line_number = 245
2731                    ;info   245, 77
2732 004d 343e          retlw   62
2733                    ; line_number = 245
2734                    ; return sine_7_8 * 2 / 8 done
2735                    ; line_number = 247
2736                    ; return sine_6_8 * 2 / 8 start
2737                    ; line_number = 247
2738                    ;info   247, 78
2739 004e 343b          retlw   59
2740                    ; line_number = 247
2741                    ; return sine_6_8 * 2 / 8 done
2742                    ; line_number = 249
2743                    ; return sine_5_8 * 2 / 8 start
2744                    ; line_number = 249
2745                    ;info   249, 79
2746 004f 3435          retlw   53
2747                    ; line_number = 249
2748                    ; return sine_5_8 * 2 / 8 done
2749                    ; line_number = 251
2750                    ; return sine_4_8 * 2 / 8 start
2751                    ; line_number = 251
2752                    ;info   251, 80
2753 0050 342d          retlw   45
2754                    ; line_number = 251
2755                    ; return sine_4_8 * 2 / 8 done
2756                    ; line_number = 253
2757                    ; return sine_3_8 * 2 / 8 start
2758                    ; line_number = 253
2759                    ;info   253, 81
2760 0051 3423          retlw   35
2761                    ; line_number = 253
2762                    ; return sine_3_8 * 2 / 8 done
2763                    ; line_number = 255
2764                    ; return sine_2_8 * 2 / 8 start
2765                    ; line_number = 255
2766                    ;info   255, 82
2767 0052 3418          retlw   24
2768                    ; line_number = 255
2769                    ; return sine_2_8 * 2 / 8 done
2770                    ; line_number = 257
2771                    ; return sine_1_8 * 2 / 8 start
2772                    ; line_number = 257
2773                    ;info   257, 83
2774 0053 340c          retlw   12
2775                    ; line_number = 257
2776                    ; return sine_1_8 * 2 / 8 done
2777            
2778                    ; line_number = 260
2779                    ; return sine_0_8 * 3 / 8 start
2780                    ; line_number = 260
2781                    ;info   260, 84
2782 0054 3400          retlw   0
2783                    ; line_number = 260
2784                    ; return sine_0_8 * 3 / 8 done
2785                    ; line_number = 262
2786                    ; return sine_1_8 * 3 / 8 start
2787                    ; line_number = 262
2788                    ;info   262, 85
2789 0055 3412          retlw   18
2790                    ; line_number = 262
2791                    ; return sine_1_8 * 3 / 8 done
2792                    ; line_number = 264
2793                    ; return sine_2_8 * 3 / 8 start
2794                    ; line_number = 264
2795                    ;info   264, 86
2796 0056 3424          retlw   36
2797                    ; line_number = 264
2798                    ; return sine_2_8 * 3 / 8 done
2799                    ; line_number = 266
2800                    ; return sine_3_8 * 3 / 8 start
2801                    ; line_number = 266
2802                    ;info   266, 87
2803 0057 3435          retlw   53
2804                    ; line_number = 266
2805                    ; return sine_3_8 * 3 / 8 done
2806                    ; line_number = 268
2807                    ; return sine_4_8 * 3 / 8 start
2808                    ; line_number = 268
2809                    ;info   268, 88
2810 0058 3443          retlw   67
2811                    ; line_number = 268
2812                    ; return sine_4_8 * 3 / 8 done
2813                    ; line_number = 270
2814                    ; return sine_5_8 * 3 / 8 start
2815                    ; line_number = 270
2816                    ;info   270, 89
2817 0059 344f          retlw   79
2818                    ; line_number = 270
2819                    ; return sine_5_8 * 3 / 8 done
2820                    ; line_number = 272
2821                    ; return sine_6_8 * 3 / 8 start
2822                    ; line_number = 272
2823                    ;info   272, 90
2824 005a 3458          retlw   88
2825                    ; line_number = 272
2826                    ; return sine_6_8 * 3 / 8 done
2827                    ; line_number = 274
2828                    ; return sine_7_8 * 3 / 8 start
2829                    ; line_number = 274
2830                    ;info   274, 91
2831 005b 345d          retlw   93
2832                    ; line_number = 274
2833                    ; return sine_7_8 * 3 / 8 done
2834                    ; line_number = 276
2835                    ; return sine_8_8 * 3 / 8 start
2836                    ; line_number = 276
2837                    ;info   276, 92
2838 005c 345f          retlw   95
2839                    ; line_number = 276
2840                    ; return sine_8_8 * 3 / 8 done
2841                    ; line_number = 278
2842                    ; return sine_7_8 * 3 / 8 start
2843                    ; line_number = 278
2844                    ;info   278, 93
2845 005d 345d          retlw   93
2846                    ; line_number = 278
2847                    ; return sine_7_8 * 3 / 8 done
2848                    ; line_number = 280
2849                    ; return sine_6_8 * 3 / 8 start
2850                    ; line_number = 280
2851                    ;info   280, 94
2852 005e 3458          retlw   88
2853                    ; line_number = 280
2854                    ; return sine_6_8 * 3 / 8 done
2855                    ; line_number = 282
2856                    ; return sine_5_8 * 3 / 8 start
2857                    ; line_number = 282
2858                    ;info   282, 95
2859 005f 344f          retlw   79
2860                    ; line_number = 282
2861                    ; return sine_5_8 * 3 / 8 done
2862                    ; line_number = 284
2863                    ; return sine_4_8 * 3 / 8 start
2864                    ; line_number = 284
2865                    ;info   284, 96
2866 0060 3443          retlw   67
2867                    ; line_number = 284
2868                    ; return sine_4_8 * 3 / 8 done
2869                    ; line_number = 286
2870                    ; return sine_3_8 * 3 / 8 start
2871                    ; line_number = 286
2872                    ;info   286, 97
2873 0061 3435          retlw   53
2874                    ; line_number = 286
2875                    ; return sine_3_8 * 3 / 8 done
2876                    ; line_number = 288
2877                    ; return sine_2_8 * 3 / 8 start
2878                    ; line_number = 288
2879                    ;info   288, 98
2880 0062 3424          retlw   36
2881                    ; line_number = 288
2882                    ; return sine_2_8 * 3 / 8 done
2883                    ; line_number = 290
2884                    ; return sine_1_8 * 3 / 8 start
2885                    ; line_number = 290
2886                    ;info   290, 99
2887 0063 3412          retlw   18
2888                    ; line_number = 290
2889                    ; return sine_1_8 * 3 / 8 done
2890            
2891                    ; line_number = 293
2892                    ; return sine_0_8 * 4 / 8 start
2893                    ; line_number = 293
2894                    ;info   293, 100
2895 0064 3400          retlw   0
2896                    ; line_number = 293
2897                    ; return sine_0_8 * 4 / 8 done
2898                    ; line_number = 295
2899                    ; return sine_1_8 * 4 / 8 start
2900                    ; line_number = 295
2901                    ;info   295, 101
2902 0065 3419          retlw   25
2903                    ; line_number = 295
2904                    ; return sine_1_8 * 4 / 8 done
2905                    ; line_number = 297
2906                    ; return sine_2_8 * 4 / 8 start
2907                    ; line_number = 297
2908                    ;info   297, 102
2909 0066 3431          retlw   49
2910                    ; line_number = 297
2911                    ; return sine_2_8 * 4 / 8 done
2912                    ; line_number = 299
2913                    ; return sine_3_8 * 4 / 8 start
2914                    ; line_number = 299
2915                    ;info   299, 103
2916 0067 3447          retlw   71
2917                    ; line_number = 299
2918                    ; return sine_3_8 * 4 / 8 done
2919                    ; line_number = 301
2920                    ; return sine_4_8 * 4 / 8 start
2921                    ; line_number = 301
2922                    ;info   301, 104
2923 0068 345a          retlw   90
2924                    ; line_number = 301
2925                    ; return sine_4_8 * 4 / 8 done
2926                    ; line_number = 303
2927                    ; return sine_5_8 * 4 / 8 start
2928                    ; line_number = 303
2929                    ;info   303, 105
2930 0069 346a          retlw   106
2931                    ; line_number = 303
2932                    ; return sine_5_8 * 4 / 8 done
2933                    ; line_number = 305
2934                    ; return sine_6_8 * 4 / 8 start
2935                    ; line_number = 305
2936                    ;info   305, 106
2937 006a 3476          retlw   118
2938                    ; line_number = 305
2939                    ; return sine_6_8 * 4 / 8 done
2940                    ; line_number = 307
2941                    ; return sine_7_8 * 4 / 8 start
2942                    ; line_number = 307
2943                    ;info   307, 107
2944 006b 347d          retlw   125
2945                    ; line_number = 307
2946                    ; return sine_7_8 * 4 / 8 done
2947                    ; line_number = 309
2948                    ; return sine_8_8 * 4 / 8 start
2949                    ; line_number = 309
2950                    ;info   309, 108
2951 006c 347f          retlw   127
2952                    ; line_number = 309
2953                    ; return sine_8_8 * 4 / 8 done
2954                    ; line_number = 311
2955                    ; return sine_7_8 * 4 / 8 start
2956                    ; line_number = 311
2957                    ;info   311, 109
2958 006d 347d          retlw   125
2959                    ; line_number = 311
2960                    ; return sine_7_8 * 4 / 8 done
2961                    ; line_number = 313
2962                    ; return sine_6_8 * 4 / 8 start
2963                    ; line_number = 313
2964                    ;info   313, 110
2965 006e 3476          retlw   118
2966                    ; line_number = 313
2967                    ; return sine_6_8 * 4 / 8 done
2968                    ; line_number = 315
2969                    ; return sine_5_8 * 4 / 8 start
2970                    ; line_number = 315
2971                    ;info   315, 111
2972 006f 346a          retlw   106
2973                    ; line_number = 315
2974                    ; return sine_5_8 * 4 / 8 done
2975                    ; line_number = 317
2976                    ; return sine_4_8 * 4 / 8 start
2977                    ; line_number = 317
2978                    ;info   317, 112
2979 0070 345a          retlw   90
2980                    ; line_number = 317
2981                    ; return sine_4_8 * 4 / 8 done
2982                    ; line_number = 319
2983                    ; return sine_3_8 * 4 / 8 start
2984                    ; line_number = 319
2985                    ;info   319, 113
2986 0071 3447          retlw   71
2987                    ; line_number = 319
2988                    ; return sine_3_8 * 4 / 8 done
2989                    ; line_number = 321
2990                    ; return sine_2_8 * 4 / 8 start
2991                    ; line_number = 321
2992                    ;info   321, 114
2993 0072 3431          retlw   49
2994                    ; line_number = 321
2995                    ; return sine_2_8 * 4 / 8 done
2996                    ; line_number = 323
2997                    ; return sine_1_8 * 4 / 8 start
2998                    ; line_number = 323
2999                    ;info   323, 115
3000 0073 3419          retlw   25
3001                    ; line_number = 323
3002                    ; return sine_1_8 * 4 / 8 done
3003            
3004                    ; line_number = 326
3005                    ; return sine_0_8 * 5 / 8 start
3006                    ; line_number = 326
3007                    ;info   326, 116
3008 0074 3400          retlw   0
3009                    ; line_number = 326
3010                    ; return sine_0_8 * 5 / 8 done
3011                    ; line_number = 328
3012                    ; return sine_1_8 * 5 / 8 start
3013                    ; line_number = 328
3014                    ;info   328, 117
3015 0075 341f          retlw   31
3016                    ; line_number = 328
3017                    ; return sine_1_8 * 5 / 8 done
3018                    ; line_number = 330
3019                    ; return sine_2_8 * 5 / 8 start
3020                    ; line_number = 330
3021                    ;info   330, 118
3022 0076 343d          retlw   61
3023                    ; line_number = 330
3024                    ; return sine_2_8 * 5 / 8 done
3025                    ; line_number = 332
3026                    ; return sine_3_8 * 5 / 8 start
3027                    ; line_number = 332
3028                    ;info   332, 119
3029 0077 3458          retlw   88
3030                    ; line_number = 332
3031                    ; return sine_3_8 * 5 / 8 done
3032                    ; line_number = 334
3033                    ; return sine_4_8 * 5 / 8 start
3034                    ; line_number = 334
3035                    ;info   334, 120
3036 0078 3470          retlw   112
3037                    ; line_number = 334
3038                    ; return sine_4_8 * 5 / 8 done
3039                    ; line_number = 336
3040                    ; return sine_5_8 * 5 / 8 start
3041                    ; line_number = 336
3042                    ;info   336, 121
3043 0079 3484          retlw   132
3044                    ; line_number = 336
3045                    ; return sine_5_8 * 5 / 8 done
3046                    ; line_number = 338
3047                    ; return sine_6_8 * 5 / 8 start
3048                    ; line_number = 338
3049                    ;info   338, 122
3050 007a 3493          retlw   147
3051                    ; line_number = 338
3052                    ; return sine_6_8 * 5 / 8 done
3053                    ; line_number = 340
3054                    ; return sine_7_8 * 5 / 8 start
3055                    ; line_number = 340
3056                    ;info   340, 123
3057 007b 349c          retlw   156
3058                    ; line_number = 340
3059                    ; return sine_7_8 * 5 / 8 done
3060                    ; line_number = 342
3061                    ; return sine_8_8 * 5 / 8 start
3062                    ; line_number = 342
3063                    ;info   342, 124
3064 007c 349f          retlw   159
3065                    ; line_number = 342
3066                    ; return sine_8_8 * 5 / 8 done
3067                    ; line_number = 344
3068                    ; return sine_7_8 * 5 / 8 start
3069                    ; line_number = 344
3070                    ;info   344, 125
3071 007d 349c          retlw   156
3072                    ; line_number = 344
3073                    ; return sine_7_8 * 5 / 8 done
3074                    ; line_number = 346
3075                    ; return sine_6_8 * 5 / 8 start
3076                    ; line_number = 346
3077                    ;info   346, 126
3078 007e 3493          retlw   147
3079                    ; line_number = 346
3080                    ; return sine_6_8 * 5 / 8 done
3081                    ; line_number = 348
3082                    ; return sine_5_8 * 5 / 8 start
3083                    ; line_number = 348
3084                    ;info   348, 127
3085 007f 3484          retlw   132
3086                    ; line_number = 348
3087                    ; return sine_5_8 * 5 / 8 done
3088                    ; line_number = 350
3089                    ; return sine_4_8 * 5 / 8 start
3090                    ; line_number = 350
3091                    ;info   350, 128
3092 0080 3470          retlw   112
3093                    ; line_number = 350
3094                    ; return sine_4_8 * 5 / 8 done
3095                    ; line_number = 352
3096                    ; return sine_3_8 * 5 / 8 start
3097                    ; line_number = 352
3098                    ;info   352, 129
3099 0081 3458          retlw   88
3100                    ; line_number = 352
3101                    ; return sine_3_8 * 5 / 8 done
3102                    ; line_number = 354
3103                    ; return sine_2_8 * 5 / 8 start
3104                    ; line_number = 354
3105                    ;info   354, 130
3106 0082 343d          retlw   61
3107                    ; line_number = 354
3108                    ; return sine_2_8 * 5 / 8 done
3109                    ; line_number = 356
3110                    ; return sine_1_8 * 5 / 8 start
3111                    ; line_number = 356
3112                    ;info   356, 131
3113 0083 341f          retlw   31
3114                    ; line_number = 356
3115                    ; return sine_1_8 * 5 / 8 done
3116            
3117                    ; line_number = 359
3118                    ; return sine_0_8 * 6 / 8 start
3119                    ; line_number = 359
3120                    ;info   359, 132
3121 0084 3400          retlw   0
3122                    ; line_number = 359
3123                    ; return sine_0_8 * 6 / 8 done
3124                    ; line_number = 361
3125                    ; return sine_1_8 * 6 / 8 start
3126                    ; line_number = 361
3127                    ;info   361, 133
3128 0085 3425          retlw   37
3129                    ; line_number = 361
3130                    ; return sine_1_8 * 6 / 8 done
3131                    ; line_number = 363
3132                    ; return sine_2_8 * 6 / 8 start
3133                    ; line_number = 363
3134                    ;info   363, 134
3135 0086 3449          retlw   73
3136                    ; line_number = 363
3137                    ; return sine_2_8 * 6 / 8 done
3138                    ; line_number = 365
3139                    ; return sine_3_8 * 6 / 8 start
3140                    ; line_number = 365
3141                    ;info   365, 135
3142 0087 346a          retlw   106
3143                    ; line_number = 365
3144                    ; return sine_3_8 * 6 / 8 done
3145                    ; line_number = 367
3146                    ; return sine_4_8 * 6 / 8 start
3147                    ; line_number = 367
3148                    ;info   367, 136
3149 0088 3487          retlw   135
3150                    ; line_number = 367
3151                    ; return sine_4_8 * 6 / 8 done
3152                    ; line_number = 369
3153                    ; return sine_5_8 * 6 / 8 start
3154                    ; line_number = 369
3155                    ;info   369, 137
3156 0089 349f          retlw   159
3157                    ; line_number = 369
3158                    ; return sine_5_8 * 6 / 8 done
3159                    ; line_number = 371
3160                    ; return sine_6_8 * 6 / 8 start
3161                    ; line_number = 371
3162                    ;info   371, 138
3163 008a 34b1          retlw   177
3164                    ; line_number = 371
3165                    ; return sine_6_8 * 6 / 8 done
3166                    ; line_number = 373
3167                    ; return sine_7_8 * 6 / 8 start
3168                    ; line_number = 373
3169                    ;info   373, 139
3170 008b 34bb          retlw   187
3171                    ; line_number = 373
3172                    ; return sine_7_8 * 6 / 8 done
3173                    ; line_number = 375
3174                    ; return sine_8_8 * 6 / 8 start
3175                    ; line_number = 375
3176                    ;info   375, 140
3177 008c 34bf          retlw   191
3178                    ; line_number = 375
3179                    ; return sine_8_8 * 6 / 8 done
3180                    ; line_number = 377
3181                    ; return sine_7_8 * 6 / 8 start
3182                    ; line_number = 377
3183                    ;info   377, 141
3184 008d 34bb          retlw   187
3185                    ; line_number = 377
3186                    ; return sine_7_8 * 6 / 8 done
3187                    ; line_number = 379
3188                    ; return sine_6_8 * 6 / 8 start
3189                    ; line_number = 379
3190                    ;info   379, 142
3191 008e 34b1          retlw   177
3192                    ; line_number = 379
3193                    ; return sine_6_8 * 6 / 8 done
3194                    ; line_number = 381
3195                    ; return sine_5_8 * 6 / 8 start
3196                    ; line_number = 381
3197                    ;info   381, 143
3198 008f 349f          retlw   159
3199                    ; line_number = 381
3200                    ; return sine_5_8 * 6 / 8 done
3201                    ; line_number = 383
3202                    ; return sine_4_8 * 6 / 8 start
3203                    ; line_number = 383
3204                    ;info   383, 144
3205 0090 3487          retlw   135
3206                    ; line_number = 383
3207                    ; return sine_4_8 * 6 / 8 done
3208                    ; line_number = 385
3209                    ; return sine_3_8 * 6 / 8 start
3210                    ; line_number = 385
3211                    ;info   385, 145
3212 0091 346a          retlw   106
3213                    ; line_number = 385
3214                    ; return sine_3_8 * 6 / 8 done
3215                    ; line_number = 387
3216                    ; return sine_2_8 * 6 / 8 start
3217                    ; line_number = 387
3218                    ;info   387, 146
3219 0092 3449          retlw   73
3220                    ; line_number = 387
3221                    ; return sine_2_8 * 6 / 8 done
3222                    ; line_number = 389
3223                    ; return sine_1_8 * 6 / 8 start
3224                    ; line_number = 389
3225                    ;info   389, 147
3226 0093 3425          retlw   37
3227                    ; line_number = 389
3228                    ; return sine_1_8 * 6 / 8 done
3229            
3230                    ; line_number = 392
3231                    ; return sine_0_8 * 7 / 8 start
3232                    ; line_number = 392
3233                    ;info   392, 148
3234 0094 3400          retlw   0
3235                    ; line_number = 392
3236                    ; return sine_0_8 * 7 / 8 done
3237                    ; line_number = 394
3238                    ; return sine_1_8 * 7 / 8 start
3239                    ; line_number = 394
3240                    ;info   394, 149
3241 0095 342b          retlw   43
3242                    ; line_number = 394
3243                    ; return sine_1_8 * 7 / 8 done
3244                    ; line_number = 396
3245                    ; return sine_2_8 * 7 / 8 start
3246                    ; line_number = 396
3247                    ;info   396, 150
3248 0096 3455          retlw   85
3249                    ; line_number = 396
3250                    ; return sine_2_8 * 7 / 8 done
3251                    ; line_number = 398
3252                    ; return sine_3_8 * 7 / 8 start
3253                    ; line_number = 398
3254                    ;info   398, 151
3255 0097 347c          retlw   124
3256                    ; line_number = 398
3257                    ; return sine_3_8 * 7 / 8 done
3258                    ; line_number = 400
3259                    ; return sine_4_8 * 7 / 8 start
3260                    ; line_number = 400
3261                    ;info   400, 152
3262 0098 349d          retlw   157
3263                    ; line_number = 400
3264                    ; return sine_4_8 * 7 / 8 done
3265                    ; line_number = 402
3266                    ; return sine_5_8 * 7 / 8 start
3267                    ; line_number = 402
3268                    ;info   402, 153
3269 0099 34b9          retlw   185
3270                    ; line_number = 402
3271                    ; return sine_5_8 * 7 / 8 done
3272                    ; line_number = 404
3273                    ; return sine_6_8 * 7 / 8 start
3274                    ; line_number = 404
3275                    ;info   404, 154
3276 009a 34ce          retlw   206
3277                    ; line_number = 404
3278                    ; return sine_6_8 * 7 / 8 done
3279                    ; line_number = 406
3280                    ; return sine_7_8 * 7 / 8 start
3281                    ; line_number = 406
3282                    ;info   406, 155
3283 009b 34da          retlw   218
3284                    ; line_number = 406
3285                    ; return sine_7_8 * 7 / 8 done
3286                    ; line_number = 408
3287                    ; return sine_8_8 * 7 / 8 start
3288                    ; line_number = 408
3289                    ;info   408, 156
3290 009c 34df          retlw   223
3291                    ; line_number = 408
3292                    ; return sine_8_8 * 7 / 8 done
3293                    ; line_number = 410
3294                    ; return sine_7_8 * 7 / 8 start
3295                    ; line_number = 410
3296                    ;info   410, 157
3297 009d 34da          retlw   218
3298                    ; line_number = 410
3299                    ; return sine_7_8 * 7 / 8 done
3300                    ; line_number = 412
3301                    ; return sine_6_8 * 7 / 8 start
3302                    ; line_number = 412
3303                    ;info   412, 158
3304 009e 34ce          retlw   206
3305                    ; line_number = 412
3306                    ; return sine_6_8 * 7 / 8 done
3307                    ; line_number = 414
3308                    ; return sine_5_8 * 7 / 8 start
3309                    ; line_number = 414
3310                    ;info   414, 159
3311 009f 34b9          retlw   185
3312                    ; line_number = 414
3313                    ; return sine_5_8 * 7 / 8 done
3314                    ; line_number = 416
3315                    ; return sine_4_8 * 7 / 8 start
3316                    ; line_number = 416
3317                    ;info   416, 160
3318 00a0 349d          retlw   157
3319                    ; line_number = 416
3320                    ; return sine_4_8 * 7 / 8 done
3321                    ; line_number = 418
3322                    ; return sine_3_8 * 7 / 8 start
3323                    ; line_number = 418
3324                    ;info   418, 161
3325 00a1 347c          retlw   124
3326                    ; line_number = 418
3327                    ; return sine_3_8 * 7 / 8 done
3328                    ; line_number = 420
3329                    ; return sine_2_8 * 7 / 8 start
3330                    ; line_number = 420
3331                    ;info   420, 162
3332 00a2 3455          retlw   85
3333                    ; line_number = 420
3334                    ; return sine_2_8 * 7 / 8 done
3335                    ; line_number = 422
3336                    ; return sine_1_8 * 7 / 8 start
3337                    ; line_number = 422
3338                    ;info   422, 163
3339 00a3 342b          retlw   43
3340                    ; line_number = 422
3341                    ; return sine_1_8 * 7 / 8 done
3342            
3343                    ; line_number = 425
3344                    ; return sine_0_8 start
3345                    ; line_number = 425
3346                    ;info   425, 164
3347 00a4 3400          retlw   0
3348                    ; line_number = 425
3349                    ; return sine_0_8 done
3350                    ; line_number = 427
3351                    ; return sine_1_8 start
3352                    ; line_number = 427
3353                    ;info   427, 165
3354 00a5 3432          retlw   50
3355                    ; line_number = 427
3356                    ; return sine_1_8 done
3357                    ; line_number = 429
3358                    ; return sine_2_8 start
3359                    ; line_number = 429
3360                    ;info   429, 166
3361 00a6 3462          retlw   98
3362                    ; line_number = 429
3363                    ; return sine_2_8 done
3364                    ; line_number = 431
3365                    ; return sine_3_8 start
3366                    ; line_number = 431
3367                    ;info   431, 167
3368 00a7 348e          retlw   142
3369                    ; line_number = 431
3370                    ; return sine_3_8 done
3371                    ; line_number = 433
3372                    ; return sine_4_8 start
3373                    ; line_number = 433
3374                    ;info   433, 168
3375 00a8 34b4          retlw   180
3376                    ; line_number = 433
3377                    ; return sine_4_8 done
3378                    ; line_number = 435
3379                    ; return sine_5_8 start
3380                    ; line_number = 435
3381                    ;info   435, 169
3382 00a9 34d4          retlw   212
3383                    ; line_number = 435
3384                    ; return sine_5_8 done
3385                    ; line_number = 437
3386                    ; return sine_6_8 start
3387                    ; line_number = 437
3388                    ;info   437, 170
3389 00aa 34ec          retlw   236
3390                    ; line_number = 437
3391                    ; return sine_6_8 done
3392                    ; line_number = 439
3393                    ; return sine_7_8 start
3394                    ; line_number = 439
3395                    ;info   439, 171
3396 00ab 34fa          retlw   250
3397                    ; line_number = 439
3398                    ; return sine_7_8 done
3399                    ; line_number = 441
3400                    ; return sine_8_8 start
3401                    ; line_number = 441
3402                    ;info   441, 172
3403 00ac 34ff          retlw   255
3404                    ; line_number = 441
3405                    ; return sine_8_8 done
3406                    ; line_number = 443
3407                    ; return sine_7_8 start
3408                    ; line_number = 443
3409                    ;info   443, 173
3410 00ad 34fa          retlw   250
3411                    ; line_number = 443
3412                    ; return sine_7_8 done
3413                    ; line_number = 445
3414                    ; return sine_6_8 start
3415                    ; line_number = 445
3416                    ;info   445, 174
3417 00ae 34ec          retlw   236
3418                    ; line_number = 445
3419                    ; return sine_6_8 done
3420                    ; line_number = 447
3421                    ; return sine_5_8 start
3422                    ; line_number = 447
3423                    ;info   447, 175
3424 00af 34d4          retlw   212
3425                    ; line_number = 447
3426                    ; return sine_5_8 done
3427                    ; line_number = 449
3428                    ; return sine_4_8 start
3429                    ; line_number = 449
3430                    ;info   449, 176
3431 00b0 34b4          retlw   180
3432                    ; line_number = 449
3433                    ; return sine_4_8 done
3434                    ; line_number = 451
3435                    ; return sine_3_8 start
3436                    ; line_number = 451
3437                    ;info   451, 177
3438 00b1 348e          retlw   142
3439                    ; line_number = 451
3440                    ; return sine_3_8 done
3441                    ; line_number = 453
3442                    ; return sine_2_8 start
3443                    ; line_number = 453
3444                    ;info   453, 178
3445 00b2 3462          retlw   98
3446                    ; line_number = 453
3447                    ; return sine_2_8 done
3448                    ; line_number = 455
3449                    ; return sine_1_8 start
3450                    ; line_number = 455
3451                    ;info   455, 179
3452 00b3 3432          retlw   50
3453                    ; line_number = 455
3454                    ; return sine_1_8 done
3455            
3456            
3457   00b4 :   sine__146:
3458                    ; line_number = 159
3459                    ;  switch angle done
3460                    ; delay after procedure statements=non-uniform
3461                    ; Exiting procedure with no return(s); infinite loop fail
3462   00b4 :   sine__147:
3463 00b4 28b4          goto    sine__147
3464            
3465            
3466            
3467            
3468                    ; line_number = 458
3469                    ;info   458, 181
3470                    ; procedure test_mode
3471   00b5 :   test_mode:
3472                    ; arguments_none
3473                    ; line_number = 460
3474                    ;  returns_nothing
3475            
3476                    ; # This procedure is used for testing only.
3477            
3478                    ; line_number = 464
3479                    ;  local command byte
3480 00000038 = test_mode__command equ globals___0+24
3481                    ; line_number = 465
3482                    ;  local high byte
3483 00000039 = test_mode__high equ globals___0+25
3484                    ; line_number = 466
3485                    ;  local low byte
3486 0000003a = test_mode__low equ globals___0+26
3487                    ; line_number = 467
3488                    ;  local voltage byte
3489 0000003b = test_mode__voltage equ globals___0+27
3490            
3491                    ; # Test 3: Verify that we can write to D/A chip:
3492                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
3493                    ; line_number = 470
3494                    ;  dac := 0
3495                    ;info   470, 181
3496 00b5 01a3          clrf    dac
3497                    ; line_number = 471
3498                    ;  low := 0
3499                    ;info   471, 182
3500 00b6 01ba          clrf    test_mode__low
3501                    ; line_number = 472
3502                    ;  high := 0
3503                    ;info   472, 183
3504 00b7 01b9          clrf    test_mode__high
3505                    ; line_number = 473
3506                    ;  dac_update := 0
3507                    ;info   473, 184
3508 00b8 01ae          clrf    dac_update
3509                    ; line_number = 474
3510                    ;  loop_forever start
3511                    ;info   474, 185
3512   00b9 :   test_mode__1:
3513                    ; #ldac := 0
3514                    ; line_number = 476
3515                    ;  ldac := _true
3516                    ;info   476, 185
3517 00b9 1607          bsf     ldac___byte, ldac___bit
3518                    ; line_number = 477
3519                    ;  load := _true
3520                    ;info   477, 186
3521 00ba 1507          bsf     load___byte, load___bit
3522                    ; line_number = 478
3523                    ;  call _uart_byte_put('>')
3524                    ;info   478, 187
3525 00bb 303e          movlw   62
3526 00bc 227f          call    _uart_byte_put
3527                    ; line_number = 479
3528                    ;  command := _uart_byte_get()
3529                    ;info   479, 189
3530 00bd 2260          call    _uart_byte_get
3531 00be 00b8          movwf   test_mode__command
3532                    ; line_number = 480
3533                    ;  call _uart_byte_put(command)
3534                    ;info   480, 191
3535 00bf 0838          movf    test_mode__command,w
3536 00c0 227f          call    _uart_byte_put
3537                    ; line_number = 481
3538                    ;  if '0' <= command && command <= '7' start
3539                    ;info   481, 193
3540 00c1 3030          movlw   48
3541 00c2 0238          subwf   test_mode__command,w
3542                    ; =>bit_code_emit@symbol(): sym=__c
3543                    ; No 1TEST: true.size=9 false.size=1
3544                    ; No 2TEST: true.size=9 false.size=1
3545                    ; 2GOTO: Single test with two GOTO's
3546 00c3 1c03          btfss   __c___byte, __c___bit
3547 00c4 28ce          goto    test_mode__2
3548                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3549 00c5 3037          movlw   55
3550 00c6 0238          subwf   test_mode__command,w
3551 00c7 1903          btfsc   __z___byte, __z___bit
3552 00c8 1003          bcf     __c___byte, __c___bit
3553                    ; =>bit_code_emit@symbol(): sym=__c
3554                    ; No 1TEST: true.size=0 false.size=3
3555                    ; No 2TEST: true.size=0 false.size=3
3556                    ; 1GOTO: Single test with GOTO
3557 00c9 1803          btfsc   __c___byte, __c___bit
3558 00ca 28ce          goto    test_mode__3
3559                    ; # Select a channel:
3560                    ; line_number = 483
3561                    ;  dac := command - '0'
3562                    ;info   483, 203
3563 00cb 30d0          movlw   208
3564 00cc 0738          addwf   test_mode__command,w
3565 00cd 00a3          movwf   dac
3566   00ce :   test_mode__3:
3567   00ce :   test_mode__2:
3568                    ; Recombine code1_bit_states != code2_bit_states
3569                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3570                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3571                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
3572                    ; Recombine code1_bit_states != code2_bit_states
3573                    ; 2GOTO: No goto needed; true= false=test_mode__2 true_size=9 false_size=1
3574                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
3575                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
3576                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
3577                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3578                    ; line_number = 481
3579                    ;  if '0' <= command && command <= '7' done
3580                    ; line_number = 484
3581                    ; if 'a' <= command && command <= 'p' start
3582                    ;info   484, 206
3583 00ce 3061          movlw   97
3584 00cf 0238          subwf   test_mode__command,w
3585                    ; =>bit_code_emit@symbol(): sym=__c
3586                    ; No 1TEST: true.size=9 false.size=1
3587                    ; No 2TEST: true.size=9 false.size=1
3588                    ; 2GOTO: Single test with two GOTO's
3589 00d0 1c03          btfss   __c___byte, __c___bit
3590 00d1 28db          goto    test_mode__4
3591                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3592 00d2 3070          movlw   112
3593 00d3 0238          subwf   test_mode__command,w
3594 00d4 1903          btfsc   __z___byte, __z___bit
3595 00d5 1003          bcf     __c___byte, __c___bit
3596                    ; =>bit_code_emit@symbol(): sym=__c
3597                    ; No 1TEST: true.size=0 false.size=3
3598                    ; No 2TEST: true.size=0 false.size=3
3599                    ; 1GOTO: Single test with GOTO
3600 00d6 1803          btfsc   __c___byte, __c___bit
3601 00d7 28db          goto    test_mode__5
3602                    ; line_number = 485
3603                    ; low := command - 'a'
3604                    ;info   485, 216
3605 00d8 309f          movlw   159
3606 00d9 0738          addwf   test_mode__command,w
3607 00da 00ba          movwf   test_mode__low
3608   00db :   test_mode__5:
3609   00db :   test_mode__4:
3610                    ; Recombine code1_bit_states != code2_bit_states
3611                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3612                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3613                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
3614                    ; Recombine code1_bit_states != code2_bit_states
3615                    ; 2GOTO: No goto needed; true= false=test_mode__4 true_size=9 false_size=1
3616                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
3617                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
3618                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
3619                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3620                    ; line_number = 484
3621                    ; if 'a' <= command && command <= 'p' done
3622                    ; line_number = 486
3623                    ; if 'A' <= command && command <= 'P' start
3624                    ;info   486, 219
3625 00db 3041          movlw   65
3626 00dc 0238          subwf   test_mode__command,w
3627                    ; =>bit_code_emit@symbol(): sym=__c
3628                    ; No 1TEST: true.size=9 false.size=1
3629                    ; No 2TEST: true.size=9 false.size=1
3630                    ; 2GOTO: Single test with two GOTO's
3631 00dd 1c03          btfss   __c___byte, __c___bit
3632 00de 28e8          goto    test_mode__6
3633                    ; &&||: index=1 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3634 00df 3050          movlw   80
3635 00e0 0238          subwf   test_mode__command,w
3636 00e1 1903          btfsc   __z___byte, __z___bit
3637 00e2 1003          bcf     __c___byte, __c___bit
3638                    ; =>bit_code_emit@symbol(): sym=__c
3639                    ; No 1TEST: true.size=0 false.size=3
3640                    ; No 2TEST: true.size=0 false.size=3
3641                    ; 1GOTO: Single test with GOTO
3642 00e3 1803          btfsc   __c___byte, __c___bit
3643 00e4 28e8          goto    test_mode__7
3644                    ; # Set a voltage:
3645                    ; line_number = 488
3646                    ;  high := command - 'A'
3647                    ;info   488, 229
3648 00e5 30bf          movlw   191
3649 00e6 0738          addwf   test_mode__command,w
3650 00e7 00b9          movwf   test_mode__high
3651   00e8 :   test_mode__7:
3652   00e8 :   test_mode__6:
3653                    ; Recombine code1_bit_states != code2_bit_states
3654                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3655                    ; &&||: index=0 true_delay=4294967295 false_delay=4294967295 goto_delay=4294967295
3656                    ; &&||:: index=0 new_delay=4294967295 goto_delay=4294967295
3657                    ; Recombine code1_bit_states != code2_bit_states
3658                    ; 2GOTO: No goto needed; true= false=test_mode__6 true_size=9 false_size=1
3659                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:00=>00)
3660                    ; 2GOTO: code2 final bitstates:(data:XX=>XX code:00=>00)
3661                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
3662                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
3663                    ; line_number = 486
3664                    ; if 'A' <= command && command <= 'P' done
3665                    ; line_number = 489
3666                    ; if command = 's' start
3667                    ;info   489, 232
3668                    ; Left minus Right
3669 00e8 308d          movlw   141
3670 00e9 0738          addwf   test_mode__command,w
3671                    ; =>bit_code_emit@symbol(): sym=__z
3672                    ; No 1TEST: true.size=23 false.size=0
3673                    ; No 2TEST: true.size=23 false.size=0
3674                    ; 1GOTO: Single test with GOTO
3675 00ea 1d03          btfss   __z___byte, __z___bit
3676 00eb 2903          goto    test_mode__11
3677                    ; # Set voltage:
3678                    ; line_number = 491
3679                    ;  call _uart_crlf_put()
3680                    ;info   491, 236
3681 00ec 227a          call    _uart_crlf_put
3682                    ; line_number = 492
3683                    ;  voltage := (high << 4) | low
3684                    ;info   492, 237
3685 00000046 = test_mode__8 equ globals___0+38
3686 00ed 0e39          swapf   test_mode__high,w
3687 00ee 39f0          andlw   240
3688 00ef 043a          iorwf   test_mode__low,w
3689 00f0 00bb          movwf   test_mode__voltage
3690            
3691                    ; line_number = 494
3692                    ;  call _uart_hex_put(dac)
3693                    ;info   494, 241
3694 00f1 0823          movf    dac,w
3695 00f2 2264          call    _uart_hex_put
3696                    ; line_number = 495
3697                    ;  call _uart_hex_put(voltage)
3698                    ;info   495, 243
3699 00f3 083b          movf    test_mode__voltage,w
3700 00f4 2264          call    _uart_hex_put
3701                    ; line_number = 496
3702                    ;  call _uart_space_put()
3703                    ;info   496, 245
3704 00f5 2277          call    _uart_space_put
3705            
3706                    ; # Select the DAC to output to:
3707                    ; line_number = 499
3708                    ;  call spi_send(dac << 1)
3709                    ;info   499, 246
3710 00000046 = test_mode__9 equ globals___0+38
3711 00f6 0d23          rlf     dac,w
3712 00f7 39fe          andlw   254
3713 00f8 2249          call    spi_send
3714                    ; line_number = 500
3715                    ;  call spi_send(voltage)
3716                    ;info   500, 249
3717 00f9 083b          movf    test_mode__voltage,w
3718 00fa 2249          call    spi_send
3719            
3720                    ; # Wait until the command is finished sending:
3721                    ; line_number = 503
3722                    ;  while !_bf start
3723   00fb :   test_mode__10:
3724                    ;info   503, 251
3725                    ; =>bit_code_emit@symbol(): sym=_bf
3726                    ; 1TEST: Single test with code in skip slot
3727 00fb 1683          bsf     __rp0___byte, __rp0___bit
3728 00fc 1c14          btfss   _bf___byte, _bf___bit
3729                    ; line_number = 504
3730                    ; do_nothing
3731                    ;info   504, 253
3732            
3733 00fd 28fb          goto    test_mode__10
3734                    ; Recombine size1 = 0 || size2 = 0
3735                    ; <=bit_code_emit@symbol; sym=_bf (data:00=>01 code:00=>00)
3736                    ; line_number = 503
3737                    ;  while !_bf done
3738                    ; # Load the command into the DAC chip:
3739                    ; line_number = 507
3740                    ;  load := _false
3741                    ;info   507, 254
3742 00fe 1283          bcf     __rp0___byte, __rp0___bit
3743 00ff 1107          bcf     load___byte, load___bit
3744                    ; line_number = 508
3745                    ;  load := _true
3746                    ;info   508, 256
3747 0100 1507          bsf     load___byte, load___bit
3748            
3749                    ; # Force the DAC values out:
3750                    ; line_number = 511
3751                    ;  ldac := _false
3752                    ;info   511, 257
3753 0101 1207          bcf     ldac___byte, ldac___bit
3754                    ; line_number = 512
3755                    ;  ldac := _true
3756                    ;info   512, 258
3757 0102 1607          bsf     ldac___byte, ldac___bit
3758                    ; Recombine size1 = 0 || size2 = 0
3759   0103 :   test_mode__11:
3760                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3761                    ; line_number = 489
3762                    ; if command = 's' done
3763                    ; line_number = 513
3764                    ; if command = 't' start
3765                    ;info   513, 259
3766                    ; Left minus Right
3767 0103 308c          movlw   140
3768 0104 0738          addwf   test_mode__command,w
3769                    ; =>bit_code_emit@symbol(): sym=__z
3770                    ; No 1TEST: true.size=28 false.size=0
3771                    ; No 2TEST: true.size=28 false.size=0
3772                    ; 1GOTO: Single test with GOTO
3773 0105 1d03          btfss   __z___byte, __z___bit
3774 0106 2923          goto    test_mode__12
3775                    ; line_number = 514
3776                    ; call _uart_byte_put('s')
3777                    ;info   514, 263
3778 0107 3073          movlw   115
3779 0108 227f          call    _uart_byte_put
3780                    ; line_number = 515
3781                    ;  call _uart_hex_put(_sspstat)
3782                    ;info   515, 265
3783 0109 1683          bsf     __rp0___byte, __rp0___bit
3784 010a 0814          movf    _sspstat,w
3785 010b 1283          bcf     __rp0___byte, __rp0___bit
3786 010c 2264          call    _uart_hex_put
3787                    ; line_number = 516
3788                    ;  call _uart_hex_put(_sspcon)
3789                    ;info   516, 269
3790 010d 0814          movf    _sspcon,w
3791 010e 2264          call    _uart_hex_put
3792                    ; line_number = 517
3793                    ;  call _uart_byte_put('t')
3794                    ;info   517, 271
3795 010f 3074          movlw   116
3796 0110 227f          call    _uart_byte_put
3797                    ; line_number = 518
3798                    ;  call _uart_hex_put(_trisa)
3799                    ;info   518, 273
3800 0111 1683          bsf     __rp0___byte, __rp0___bit
3801 0112 0805          movf    _trisa,w
3802 0113 1283          bcf     __rp0___byte, __rp0___bit
3803 0114 2264          call    _uart_hex_put
3804                    ; line_number = 519
3805                    ;  call _uart_hex_put(_trisc)
3806                    ;info   519, 277
3807 0115 1683          bsf     __rp0___byte, __rp0___bit
3808 0116 0807          movf    _trisc,w
3809 0117 1283          bcf     __rp0___byte, __rp0___bit
3810 0118 2264          call    _uart_hex_put
3811                    ; line_number = 520
3812                    ;  call _uart_byte_put('m')
3813                    ;info   520, 281
3814 0119 306d          movlw   109
3815 011a 227f          call    _uart_byte_put
3816                    ; line_number = 521
3817                    ;  call _uart_hex_put(_tmr0)
3818                    ;info   521, 283
3819 011b 0801          movf    _tmr0,w
3820 011c 2264          call    _uart_hex_put
3821                    ; line_number = 522
3822                    ;  call _uart_hex_put(_option_reg)
3823                    ;info   522, 285
3824 011d 1683          bsf     __rp0___byte, __rp0___bit
3825 011e 0801          movf    _option_reg,w
3826 011f 1283          bcf     __rp0___byte, __rp0___bit
3827 0120 2264          call    _uart_hex_put
3828                    ; line_number = 523
3829                    ;  call _uart_hex_put(_intcon)
3830                    ;info   523, 289
3831 0121 080b          movf    _intcon,w
3832 0122 2264          call    _uart_hex_put
3833                    ; Recombine size1 = 0 || size2 = 0
3834   0123 :   test_mode__12:
3835                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3836                    ; line_number = 513
3837                    ; if command = 't' done
3838                    ; line_number = 524
3839                    ; if command = 'T' start
3840                    ;info   524, 291
3841                    ; Left minus Right
3842 0123 30ac          movlw   172
3843 0124 0738          addwf   test_mode__command,w
3844                    ; =>bit_code_emit@symbol(): sym=__z
3845                    ; No 1TEST: true.size=10 false.size=0
3846                    ; No 2TEST: true.size=10 false.size=0
3847                    ; 1GOTO: Single test with GOTO
3848 0125 1d03          btfss   __z___byte, __z___bit
3849 0126 2931          goto    test_mode__13
3850                    ; line_number = 525
3851                    ; call _uart_byte_put('d')
3852                    ;info   525, 295
3853 0127 3064          movlw   100
3854 0128 227f          call    _uart_byte_put
3855                    ; line_number = 526
3856                    ;  call _uart_hex_put(port_d)
3857                    ;info   526, 297
3858 0129 0825          movf    port_d,w
3859 012a 2264          call    _uart_hex_put
3860                    ; line_number = 527
3861                    ;  call _uart_byte_put('_')
3862                    ;info   527, 299
3863 012b 3024          movlw   36
3864 012c 227f          call    _uart_byte_put
3865                    ; line_number = 528
3866                    ;  call _uart_byte_put('d')
3867                    ;info   528, 301
3868 012d 3064          movlw   100
3869 012e 227f          call    _uart_byte_put
3870                    ; line_number = 529
3871                    ;  call _uart_hex_put(_portd)
3872                    ;info   529, 303
3873 012f 0808          movf    _portd,w
3874 0130 2264          call    _uart_hex_put
3875                    ; Recombine size1 = 0 || size2 = 0
3876   0131 :   test_mode__13:
3877                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3878                    ; line_number = 524
3879                    ; if command = 'T' done
3880                    ; line_number = 530
3881                    ; if command = 'u' start
3882                    ;info   530, 305
3883                    ; Left minus Right
3884 0131 308b          movlw   139
3885 0132 0738          addwf   test_mode__command,w
3886                    ; =>bit_code_emit@symbol(): sym=__z
3887                    ; No 1TEST: true.size=4 false.size=0
3888                    ; No 2TEST: true.size=4 false.size=0
3889                    ; 1GOTO: Single test with GOTO
3890 0133 1d03          btfss   __z___byte, __z___bit
3891 0134 2939          goto    test_mode__15
3892                    ; line_number = 531
3893                    ; _portd := (high << 4) | low
3894                    ;info   531, 309
3895 00000046 = test_mode__14 equ globals___0+38
3896 0135 0e39          swapf   test_mode__high,w
3897 0136 39f0          andlw   240
3898 0137 043a          iorwf   test_mode__low,w
3899 0138 0088          movwf   _portd
3900                    ; Recombine size1 = 0 || size2 = 0
3901   0139 :   test_mode__15:
3902                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3903                    ; line_number = 530
3904                    ; if command = 'u' done
3905                    ; line_number = 532
3906                    ; if command = 'U' start
3907                    ;info   532, 313
3908                    ; Left minus Right
3909 0139 30ab          movlw   171
3910 013a 0738          addwf   test_mode__command,w
3911                    ; =>bit_code_emit@symbol(): sym=__z
3912                    ; No 1TEST: true.size=4 false.size=0
3913                    ; No 2TEST: true.size=4 false.size=0
3914                    ; 1GOTO: Single test with GOTO
3915 013b 1d03          btfss   __z___byte, __z___bit
3916 013c 2941          goto    test_mode__17
3917                    ; line_number = 533
3918                    ; port_d := (high << 4) | low
3919                    ;info   533, 317
3920 00000046 = test_mode__16 equ globals___0+38
3921 013d 0e39          swapf   test_mode__high,w
3922 013e 39f0          andlw   240
3923 013f 043a          iorwf   test_mode__low,w
3924 0140 00a5          movwf   port_d
3925                    ; Recombine size1 = 0 || size2 = 0
3926   0141 :   test_mode__17:
3927                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3928                    ; line_number = 532
3929                    ; if command = 'U' done
3930                    ; line_number = 534
3931                    ; if command = 'v' start
3932                    ;info   534, 321
3933                    ; Left minus Right
3934 0141 308a          movlw   138
3935 0142 0738          addwf   test_mode__command,w
3936                    ; =>bit_code_emit@symbol(): sym=__z
3937                    ; No 1TEST: true.size=2 false.size=0
3938                    ; No 2TEST: true.size=2 false.size=0
3939                    ; 1GOTO: Single test with GOTO
3940 0143 1d03          btfss   __z___byte, __z___bit
3941 0144 2947          goto    test_mode__18
3942                    ; line_number = 535
3943                    ; _gie := _true
3944                    ;info   535, 325
3945 0145 178b          bsf     _gie___byte, _gie___bit
3946                    ; line_number = 536
3947                    ;  _tmr0ie := _true
3948                    ;info   536, 326
3949 0146 168b          bsf     _tmr0ie___byte, _tmr0ie___bit
3950                    ; Recombine size1 = 0 || size2 = 0
3951   0147 :   test_mode__18:
3952                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3953                    ; line_number = 534
3954                    ; if command = 'v' done
3955                    ; line_number = 537
3956                    ; if command = 'V' start
3957                    ;info   537, 327
3958                    ; Left minus Right
3959 0147 30aa          movlw   170
3960 0148 0738          addwf   test_mode__command,w
3961                    ; =>bit_code_emit@symbol(): sym=__z
3962                    ; No 1TEST: true.size=2 false.size=0
3963                    ; No 2TEST: true.size=2 false.size=0
3964                    ; 1GOTO: Single test with GOTO
3965 0149 1d03          btfss   __z___byte, __z___bit
3966 014a 294d          goto    test_mode__19
3967                    ; line_number = 538
3968                    ; _gie := _false
3969                    ;info   538, 331
3970 014b 138b          bcf     _gie___byte, _gie___bit
3971                    ; line_number = 539
3972                    ;  _tmr0ie := _false
3973                    ;info   539, 332
3974 014c 128b          bcf     _tmr0ie___byte, _tmr0ie___bit
3975                    ; Recombine size1 = 0 || size2 = 0
3976   014d :   test_mode__19:
3977                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
3978                    ; line_number = 537
3979                    ; if command = 'V' done
3980                    ; line_number = 540
3981                    ; if command = 'w' start
3982                    ;info   540, 333
3983                    ; Left minus Right
3984 014d 3089          movlw   137
3985 014e 0738          addwf   test_mode__command,w
3986                    ; =>bit_code_emit@symbol(): sym=__z
3987                    ; No 1TEST: true.size=3 false.size=0
3988                    ; No 2TEST: true.size=3 false.size=0
3989                    ; 1GOTO: Single test with GOTO
3990 014f 1d03          btfss   __z___byte, __z___bit
3991 0150 2954          goto    test_mode__20
3992                    ; line_number = 541
3993                    ; a_angle := a_angle + a_amount
3994                    ;info   541, 337
3995 0151 082a          movf    a_amount,w
3996 0152 07a6          addwf   a_angle,f
3997                    ; line_number = 542
3998                    ;  a_dac_update := _true
3999                    ;info   542, 339
4000 0153 15ae          bsf     a_dac_update___byte, a_dac_update___bit
4001                    ; Recombine size1 = 0 || size2 = 0
4002   0154 :   test_mode__20:
4003                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4004                    ; line_number = 540
4005                    ; if command = 'w' done
4006                    ; line_number = 543
4007                    ; if command = 'W' start
4008                    ;info   543, 340
4009                    ; Left minus Right
4010 0154 30a9          movlw   169
4011 0155 0738          addwf   test_mode__command,w
4012                    ; =>bit_code_emit@symbol(): sym=__z
4013                    ; No 1TEST: true.size=3 false.size=0
4014                    ; No 2TEST: true.size=3 false.size=0
4015                    ; 1GOTO: Single test with GOTO
4016 0156 1d03          btfss   __z___byte, __z___bit
4017 0157 295b          goto    test_mode__21
4018                    ; line_number = 544
4019                    ; a_angle := a_angle - a_amount
4020                    ;info   544, 344
4021 0158 082a          movf    a_amount,w
4022 0159 02a6          subwf   a_angle,f
4023                    ; line_number = 545
4024                    ;  a_dac_update := _true
4025                    ;info   545, 346
4026 015a 15ae          bsf     a_dac_update___byte, a_dac_update___bit
4027                    ; Recombine size1 = 0 || size2 = 0
4028   015b :   test_mode__21:
4029                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4030                    ; line_number = 543
4031                    ; if command = 'W' done
4032                    ; line_number = 546
4033                    ; if command = 'x' start
4034                    ;info   546, 347
4035                    ; Left minus Right
4036 015b 3088          movlw   136
4037 015c 0738          addwf   test_mode__command,w
4038                    ; =>bit_code_emit@symbol(): sym=__z
4039                    ; No 1TEST: true.size=3 false.size=0
4040                    ; No 2TEST: true.size=3 false.size=0
4041                    ; 1GOTO: Single test with GOTO
4042 015d 1d03          btfss   __z___byte, __z___bit
4043 015e 2962          goto    test_mode__22
4044                    ; line_number = 547
4045                    ; x_angle := x_angle + x_amount
4046                    ;info   547, 351
4047 015f 082b          movf    x_amount,w
4048 0160 07a7          addwf   x_angle,f
4049                    ; line_number = 548
4050                    ;  x_dac_update := _true
4051                    ;info   548, 353
4052 0161 142e          bsf     x_dac_update___byte, x_dac_update___bit
4053                    ; Recombine size1 = 0 || size2 = 0
4054   0162 :   test_mode__22:
4055                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4056                    ; line_number = 546
4057                    ; if command = 'x' done
4058                    ; line_number = 549
4059                    ; if command = 'X' start
4060                    ;info   549, 354
4061                    ; Left minus Right
4062 0162 30a8          movlw   168
4063 0163 0738          addwf   test_mode__command,w
4064                    ; =>bit_code_emit@symbol(): sym=__z
4065                    ; No 1TEST: true.size=3 false.size=0
4066                    ; No 2TEST: true.size=3 false.size=0
4067                    ; 1GOTO: Single test with GOTO
4068 0164 1d03          btfss   __z___byte, __z___bit
4069 0165 2969          goto    test_mode__23
4070                    ; line_number = 550
4071                    ; x_angle := x_angle - x_amount
4072                    ;info   550, 358
4073 0166 082b          movf    x_amount,w
4074 0167 02a7          subwf   x_angle,f
4075                    ; line_number = 551
4076                    ;  x_dac_update := _true
4077                    ;info   551, 360
4078 0168 142e          bsf     x_dac_update___byte, x_dac_update___bit
4079                    ; Recombine size1 = 0 || size2 = 0
4080   0169 :   test_mode__23:
4081                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4082                    ; line_number = 549
4083                    ; if command = 'X' done
4084                    ; line_number = 552
4085                    ; if command = 'y' start
4086                    ;info   552, 361
4087                    ; Left minus Right
4088 0169 3087          movlw   135
4089 016a 0738          addwf   test_mode__command,w
4090                    ; =>bit_code_emit@symbol(): sym=__z
4091                    ; No 1TEST: true.size=3 false.size=0
4092                    ; No 2TEST: true.size=3 false.size=0
4093                    ; 1GOTO: Single test with GOTO
4094 016b 1d03          btfss   __z___byte, __z___bit
4095 016c 2970          goto    test_mode__24
4096                    ; line_number = 553
4097                    ; y_angle := y_angle + y_amount
4098                    ;info   553, 365
4099 016d 082c          movf    y_amount,w
4100 016e 07a8          addwf   y_angle,f
4101                    ; line_number = 554
4102                    ;  y_dac_update := _true
4103                    ;info   554, 367
4104 016f 14ae          bsf     y_dac_update___byte, y_dac_update___bit
4105                    ; Recombine size1 = 0 || size2 = 0
4106   0170 :   test_mode__24:
4107                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4108                    ; line_number = 552
4109                    ; if command = 'y' done
4110                    ; line_number = 555
4111                    ; if command = 'Y' start
4112                    ;info   555, 368
4113                    ; Left minus Right
4114 0170 30a7          movlw   167
4115 0171 0738          addwf   test_mode__command,w
4116                    ; =>bit_code_emit@symbol(): sym=__z
4117                    ; No 1TEST: true.size=3 false.size=0
4118                    ; No 2TEST: true.size=3 false.size=0
4119                    ; 1GOTO: Single test with GOTO
4120 0172 1d03          btfss   __z___byte, __z___bit
4121 0173 2977          goto    test_mode__25
4122                    ; line_number = 556
4123                    ; y_angle := y_angle - y_amount
4124                    ;info   556, 372
4125 0174 082c          movf    y_amount,w
4126 0175 02a8          subwf   y_angle,f
4127                    ; line_number = 557
4128                    ;  y_dac_update := _true
4129                    ;info   557, 374
4130 0176 14ae          bsf     y_dac_update___byte, y_dac_update___bit
4131                    ; Recombine size1 = 0 || size2 = 0
4132   0177 :   test_mode__25:
4133                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4134                    ; line_number = 555
4135                    ; if command = 'Y' done
4136                    ; line_number = 558
4137                    ; if command = 'z' start
4138                    ;info   558, 375
4139                    ; Left minus Right
4140 0177 3086          movlw   134
4141 0178 0738          addwf   test_mode__command,w
4142                    ; =>bit_code_emit@symbol(): sym=__z
4143                    ; No 1TEST: true.size=3 false.size=0
4144                    ; No 2TEST: true.size=3 false.size=0
4145                    ; 1GOTO: Single test with GOTO
4146 0179 1d03          btfss   __z___byte, __z___bit
4147 017a 297e          goto    test_mode__26
4148                    ; line_number = 559
4149                    ; z_angle := z_angle + z_amount
4150                    ;info   559, 379
4151 017b 082d          movf    z_amount,w
4152 017c 07a9          addwf   z_angle,f
4153                    ; line_number = 560
4154                    ;  z_dac_update := _true
4155                    ;info   560, 381
4156 017d 152e          bsf     z_dac_update___byte, z_dac_update___bit
4157                    ; Recombine size1 = 0 || size2 = 0
4158   017e :   test_mode__26:
4159                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4160                    ; line_number = 558
4161                    ; if command = 'z' done
4162                    ; line_number = 561
4163                    ; if command = 'Z' start
4164                    ;info   561, 382
4165                    ; Left minus Right
4166 017e 30a6          movlw   166
4167 017f 0738          addwf   test_mode__command,w
4168                    ; =>bit_code_emit@symbol(): sym=__z
4169                    ; No 1TEST: true.size=3 false.size=0
4170                    ; No 2TEST: true.size=3 false.size=0
4171                    ; 1GOTO: Single test with GOTO
4172 0180 1d03          btfss   __z___byte, __z___bit
4173 0181 2985          goto    test_mode__27
4174                    ; line_number = 562
4175                    ; z_angle := z_angle - z_amount
4176                    ;info   562, 386
4177 0182 082d          movf    z_amount,w
4178 0183 02a9          subwf   z_angle,f
4179                    ; line_number = 563
4180                    ;  z_dac_update := _true
4181                    ;info   563, 388
4182 0184 152e          bsf     z_dac_update___byte, z_dac_update___bit
4183                    ; Recombine size1 = 0 || size2 = 0
4184   0185 :   test_mode__27:
4185                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4186                    ; line_number = 561
4187                    ; if command = 'Z' done
4188                    ; line_number = 564
4189                    ; call _uart_crlf_put()
4190                    ;info   564, 389
4191 0185 227a          call    _uart_crlf_put
4192            
4193                    ; # This is the code that forces the DAC's to be updated:
4194                    ; line_number = 567
4195                    ;  if dac_update != 0 start
4196                    ;info   567, 390
4197                    ; Left minus Right
4198 0186 082e          movf    dac_update,w
4199                    ; =>bit_code_emit@symbol(): sym=__z
4200                    ; No 1TEST: true.size=0 false.size=54
4201                    ; No 2TEST: true.size=0 false.size=54
4202                    ; 1GOTO: Single test with GOTO
4203 0187 1903          btfsc   __z___byte, __z___bit
4204 0188 29bf          goto    test_mode__32
4205                    ; line_number = 568
4206                    ; if a_dac_update start
4207                    ;info   568, 393
4208                    ; =>bit_code_emit@symbol(): sym=a_dac_update
4209                    ; No 1TEST: true.size=11 false.size=0
4210                    ; No 2TEST: true.size=11 false.size=0
4211                    ; 1GOTO: Single test with GOTO
4212 0189 1dae          btfss   a_dac_update___byte, a_dac_update___bit
4213 018a 2996          goto    test_mode__28
4214                    ; line_number = 569
4215                    ; a_dac_update := _false
4216                    ;info   569, 395
4217 018b 11ae          bcf     a_dac_update___byte, a_dac_update___bit
4218                    ; line_number = 570
4219                    ;  a_mask := dac_setup(a_angle, a_strength, 0) << 4
4220                    ;info   570, 396
4221 018c 0826          movf    a_angle,w
4222 018d 00bd          movwf   dac_setup__angle
4223 018e 0833          movf    a_strength,w
4224 018f 00be          movwf   dac_setup__strength
4225 0190 3000          movlw   0
4226 0191 2215          call    dac_setup
4227 0192 00af          movwf   a_mask
4228 0193 0eaf          swapf   a_mask,f
4229 0194 30f0          movlw   240
4230 0195 05af          andwf   a_mask,f
4231                    ; Recombine size1 = 0 || size2 = 0
4232   0196 :   test_mode__28:
4233                    ; <=bit_code_emit@symbol; sym=a_dac_update (data:00=>00 code:00=>00)
4234                    ; line_number = 568
4235                    ; if a_dac_update done
4236                    ; line_number = 571
4237                    ; if z_dac_update start
4238                    ;info   571, 406
4239                    ; =>bit_code_emit@symbol(): sym=z_dac_update
4240                    ; No 1TEST: true.size=8 false.size=0
4241                    ; No 2TEST: true.size=8 false.size=0
4242                    ; 1GOTO: Single test with GOTO
4243 0196 1d2e          btfss   z_dac_update___byte, z_dac_update___bit
4244 0197 29a0          goto    test_mode__29
4245                    ; line_number = 572
4246                    ; z_dac_update := _false
4247                    ;info   572, 408
4248 0198 112e          bcf     z_dac_update___byte, z_dac_update___bit
4249                    ; line_number = 573
4250                    ;  z_mask := dac_setup(z_angle, z_strength, 2)
4251                    ;info   573, 409
4252 0199 0829          movf    z_angle,w
4253 019a 00bd          movwf   dac_setup__angle
4254 019b 0836          movf    z_strength,w
4255 019c 00be          movwf   dac_setup__strength
4256 019d 3002          movlw   2
4257 019e 2215          call    dac_setup
4258 019f 00b0          movwf   z_mask
4259                    ; Recombine size1 = 0 || size2 = 0
4260   01a0 :   test_mode__29:
4261                    ; <=bit_code_emit@symbol; sym=z_dac_update (data:00=>00 code:00=>00)
4262                    ; line_number = 571
4263                    ; if z_dac_update done
4264                    ; line_number = 574
4265                    ; if y_dac_update start
4266                    ;info   574, 416
4267                    ; =>bit_code_emit@symbol(): sym=y_dac_update
4268                    ; No 1TEST: true.size=11 false.size=0
4269                    ; No 2TEST: true.size=11 false.size=0
4270                    ; 1GOTO: Single test with GOTO
4271 01a0 1cae          btfss   y_dac_update___byte, y_dac_update___bit
4272 01a1 29ad          goto    test_mode__30
4273                    ; line_number = 575
4274                    ; y_dac_update := _false
4275                    ;info   575, 418
4276 01a2 10ae          bcf     y_dac_update___byte, y_dac_update___bit
4277                    ; line_number = 576
4278                    ;  y_mask := dac_setup(y_angle, y_strength, 4) << 4
4279                    ;info   576, 419
4280 01a3 0828          movf    y_angle,w
4281 01a4 00bd          movwf   dac_setup__angle
4282 01a5 0835          movf    y_strength,w
4283 01a6 00be          movwf   dac_setup__strength
4284 01a7 3004          movlw   4
4285 01a8 2215          call    dac_setup
4286 01a9 00b1          movwf   y_mask
4287 01aa 0eb1          swapf   y_mask,f
4288 01ab 30f0          movlw   240
4289 01ac 05b1          andwf   y_mask,f
4290                    ; Recombine size1 = 0 || size2 = 0
4291   01ad :   test_mode__30:
4292                    ; <=bit_code_emit@symbol; sym=y_dac_update (data:00=>00 code:00=>00)
4293                    ; line_number = 574
4294                    ; if y_dac_update done
4295                    ; line_number = 577
4296                    ; if x_dac_update start
4297                    ;info   577, 429
4298                    ; =>bit_code_emit@symbol(): sym=x_dac_update
4299                    ; No 1TEST: true.size=8 false.size=0
4300                    ; No 2TEST: true.size=8 false.size=0
4301                    ; 1GOTO: Single test with GOTO
4302 01ad 1c2e          btfss   x_dac_update___byte, x_dac_update___bit
4303 01ae 29b7          goto    test_mode__31
4304                    ; line_number = 578
4305                    ; x_dac_update := _false
4306                    ;info   578, 431
4307 01af 102e          bcf     x_dac_update___byte, x_dac_update___bit
4308                    ; line_number = 579
4309                    ;  x_mask := dac_setup(x_angle, z_strength, 6)
4310                    ;info   579, 432
4311 01b0 0827          movf    x_angle,w
4312 01b1 00bd          movwf   dac_setup__angle
4313 01b2 0836          movf    z_strength,w
4314 01b3 00be          movwf   dac_setup__strength
4315 01b4 3006          movlw   6
4316 01b5 2215          call    dac_setup
4317 01b6 00b2          movwf   x_mask
4318                    ; Recombine size1 = 0 || size2 = 0
4319   01b7 :   test_mode__31:
4320                    ; <=bit_code_emit@symbol; sym=x_dac_update (data:00=>00 code:00=>00)
4321                    ; line_number = 577
4322                    ; if x_dac_update done
4323                    ; line_number = 580
4324                    ; port_b := a_mask | z_mask
4325                    ;info   580, 439
4326 01b7 082f          movf    a_mask,w
4327 01b8 0430          iorwf   z_mask,w
4328 01b9 00a4          movwf   port_b
4329                    ; line_number = 581
4330                    ;  port_d := y_mask | x_mask
4331                    ;info   581, 442
4332 01ba 0831          movf    y_mask,w
4333 01bb 0432          iorwf   x_mask,w
4334 01bc 00a5          movwf   port_d
4335            
4336                    ; #call _uart_byte_put('b')
4337                    ; #call _uart_hex_put(port_b)
4338                    ; #call _uart_byte_put('d')
4339                    ; #call _uart_hex_put(port_d)
4340            
4341                    ; # Force the DAC values out:
4342                    ; line_number = 589
4343                    ;  ldac := _false
4344                    ;info   589, 445
4345 01bd 1207          bcf     ldac___byte, ldac___bit
4346                    ; line_number = 590
4347                    ;  ldac := _true
4348                    ;info   590, 446
4349 01be 1607          bsf     ldac___byte, ldac___bit
4350            
4351            
4352   01bf :   test_mode__32:
4353                    ; Recombine size1 = 0 || size2 = 0
4354                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4355                    ; line_number = 567
4356                    ;  if dac_update != 0 done
4357                    ; line_number = 474
4358                    ;  loop_forever wrap-up
4359 01bf 28b9          goto    test_mode__1
4360                    ; line_number = 474
4361                    ;  loop_forever done
4362                    ; delay after procedure statements=non-uniform
4363            
4364            
4365            
4366            
4367                    ; line_number = 593
4368                    ;info   593, 448
4369                    ; procedure main
4370   01c0 :   main:
4371                    ; Initialize some registers
4372 01c0 019f          clrf    _adcon0
4373 01c1 300f          movlw   15
4374 01c2 1683          bsf     __rp0___byte, __rp0___bit
4375 01c3 009f          movwf   _adcon1
4376 01c4 303f          movlw   63
4377 01c5 0085          movwf   _trisa
4378 01c6 0186          clrf    _trisb
4379 01c7 3081          movlw   129
4380 01c8 0087          movwf   _trisc
4381 01c9 0188          clrf    _trisd
4382 01ca 3003          movlw   3
4383 01cb 0089          movwf   _trise
4384                    ; arguments_none
4385                    ; line_number = 595
4386                    ;  returns_nothing
4387            
4388                    ; # Turn off general interrupts:
4389                    ; before procedure statements delay=non-uniform, bit states=(data:00=>01 code:00=>00)
4390                    ; line_number = 598
4391                    ;  _gie := _false
4392                    ;info   598, 460
4393 01cc 138b          bcf     _gie___byte, _gie___bit
4394            
4395                    ; # The {strobe} line is actually an output.  It *must* be
4396                    ; # left high pretty much all the time.  It only gets strobed
4397                    ; # low for small number of cycles (currently 4uS) every
4398                    ; # 1/{refresh_rate}'th  of a second.  If {strobe} is left
4399                    ; # low for an extended period of time, it simply turns on
4400                    ; # the H-bridges and overrides the current limit detection
4401                    ; # circuitry.  This can cause the H-bridges to burn out.
4402                    ; # I know this from very painful experience.  The solution is to
4403                    ; # define {strobe} as a input and then switch it over to being
4404                    ; # an output in the initialization code:
4405            
4406                    ; # Step 1: Set {strobe} high first:
4407                    ; line_number = 612
4408                    ;  strobe := _true
4409                    ;info   612, 461
4410 01cd 1283          bcf     __rp0___byte, __rp0___bit
4411 01ce 1407          bsf     strobe___byte, strobe___bit
4412                    ; # Step 2: Set {_portb} and {_portd} to 0 so that the H-bridges are
4413                    ; # set not to conduct any current even if they are turned on.
4414                    ; line_number = 615
4415                    ;  _portb := 0
4416                    ;info   615, 463
4417 01cf 0186          clrf    _portb
4418                    ; line_number = 616
4419                    ;  _portd := 0
4420                    ;info   616, 464
4421 01d0 0188          clrf    _portd
4422                    ; # Step 3: Enable {strobe} as an output by setting {_trisc}@0 to 0:
4423                    ; line_number = 618
4424                    ;  _trisc@0 := _false
4425                    ;info   618, 465
4426 00000087 = main__select__1___byte equ _trisc
4427 00000000 = main__select__1___bit equ 0
4428 01d1 1683          bsf     __rp0___byte, __rp0___bit
4429 01d2 1007          bcf     main__select__1___byte, main__select__1___bit
4430            
4431                    ; # Initilize serial port:
4432            
4433                    ; # Do Baud Rate selection and asynch. serial port enable:
4434                    ; # Prescaler = low:
4435                    ; line_number = 624
4436                    ;  _brgh := _true
4437                    ;info   624, 467
4438 01d3 1518          bsf     _brgh___byte, _brgh___bit
4439                    ; # Baud rate = 19200 Baud:
4440                    ; line_number = 626
4441                    ;  _spbrg := 64
4442                    ;info   626, 468
4443 01d4 3040          movlw   64
4444 01d5 0099          movwf   _spbrg
4445                    ; # Asynchronous mode:
4446                    ; line_number = 628
4447                    ;  _sync := _false
4448                    ;info   628, 470
4449 01d6 1218          bcf     _sync___byte, _sync___bit
4450                    ; # Serial port enable:
4451                    ; line_number = 630
4452                    ;  _spen := _true
4453                    ;info   630, 471
4454 01d7 1283          bcf     __rp0___byte, __rp0___bit
4455 01d8 1798          bsf     _spen___byte, _spen___bit
4456                    ; line_number = 631
4457                    ;  _txif := _false
4458                    ;info   631, 473
4459 01d9 120c          bcf     _txif___byte, _txif___bit
4460            
4461                    ; # Enable the transmitter:
4462                    ; # 8-bit mode:
4463                    ; line_number = 635
4464                    ;  _tx9 := _false
4465                    ;info   635, 474
4466 01da 1683          bsf     __rp0___byte, __rp0___bit
4467 01db 1318          bcf     _tx9___byte, _tx9___bit
4468                    ; # Enable transmitter:
4469                    ; line_number = 637
4470                    ;  _txen := _true
4471                    ;info   637, 476
4472 01dc 1698          bsf     _txen___byte, _txen___bit
4473            
4474                    ; # Enable the receiver:
4475                    ; # 8-bit mode:
4476                    ; line_number = 641
4477                    ;  _rx9 := _false
4478                    ;info   641, 477
4479 01dd 1283          bcf     __rp0___byte, __rp0___bit
4480 01de 1318          bcf     _rx9___byte, _rx9___bit
4481                    ; # Disable address:
4482                    ; line_number = 643
4483                    ;  _adden := _false
4484                    ;info   643, 479
4485 01df 1198          bcf     _adden___byte, _adden___bit
4486                    ; # Continuous receive enable:
4487                    ; line_number = 645
4488                    ;  _cren := _true
4489                    ;info   645, 480
4490 01e0 1618          bsf     _cren___byte, _cren___bit
4491                    ; # Serial receive enable:
4492                    ; line_number = 647
4493                    ;  _sren := _true
4494                    ;info   647, 481
4495 01e1 1698          bsf     _sren___byte, _sren___bit
4496            
4497                    ; # Test 1: Say "Hi!":
4498                    ; #loop_forever
4499                    ; #	call _uart_byte_put('H')
4500                    ; #	call _uart_byte_put('i')
4501                    ; #	call _uart_byte_put('!')
4502                    ; #	call _uart_crlf_put()
4503            
4504                    ; # Test 2: Double Echo:
4505                    ; #loop_forever
4506                    ; #	dac := _uart_byte_get()
4507                    ; #	call _uart_byte_put(dac)
4508                    ; #	call _uart_byte_put(dac)
4509            
4510                    ; # Initialize TMR0:
4511                    ; # Set OPTION_REG<2:0> to {tmr0_prescale_power}:
4512                    ; line_number = 664
4513                    ;  _option_reg := tmr0_prescale_power
4514                    ;info   664, 482
4515 01e2 1683          bsf     __rp0___byte, __rp0___bit
4516 01e3 0181          clrf    _option_reg
4517                    ; # Prescaler assigned to TMR0 module
4518                    ; line_number = 666
4519                    ;  _psa := _false
4520                    ;info   666, 484
4521 01e4 1181          bcf     _psa___byte, _psa___bit
4522                    ; # TMR0 runs of system clock
4523                    ; line_number = 668
4524                    ;  _t0cs := _false
4525                    ;info   668, 485
4526 01e5 1281          bcf     _t0cs___byte, _t0cs___bit
4527            
4528                    ; # The synchronous serial port can be run in master mode at three
4529                    ; # different clock rates:
4530                    ; #
4531                    ; #    Fosc/4 - SSPM<3:0> = 0000   = 5MHz @ Fosc=20MHz
4532                    ; #    Fosc/16 - SSPM<3:0> = 0001  = 1.25MHz @ Fosc=20MHz
4533                    ; #    Fosc/64 - SSPM<3:0> = 0010  = .3125MHz @ Fosc=20Mhz
4534                    ; #
4535                    ; # Technically, the specifications for the TLC5628 8-channel DAC
4536                    ; # specify the following:
4537                    ; #
4538                    ; #    Maximum clock rate = 1 MHz suggesting Fosc/64
4539                    ; #    Minimum setup times = 50ns sugessing Fosc/16
4540                    ; #    Mininum pulse widths = 250ns suggesting Fosc/16
4541                    ; #
4542                    ; # In practice, everything seems to work just fine with Fosc/4.
4543                    ; # Go figure.
4544            
4545                    ; # Initialize {_sspcon}:
4546                    ; line_number = 688
4547                    ;  _sspcon := 0
4548                    ;info   688, 486
4549 01e6 1283          bcf     __rp0___byte, __rp0___bit
4550 01e7 0194          clrf    _sspcon
4551                    ; # Transmit on idle to active:
4552                    ; line_number = 690
4553                    ;  _cke := _false
4554                    ;info   690, 488
4555 01e8 1683          bsf     __rp0___byte, __rp0___bit
4556 01e9 1314          bcf     _cke___byte, _cke___bit
4557            
4558                    ; # Initialize {_sspstat}:
4559                    ; line_number = 693
4560                    ;  _sspstat := 0
4561                    ;info   693, 490
4562 01ea 0194          clrf    _sspstat
4563                    ; # Idle SCK is low:
4564                    ; line_number = 695
4565                    ;  _ckp := _false
4566                    ;info   695, 491
4567 01eb 1283          bcf     __rp0___byte, __rp0___bit
4568 01ec 1214          bcf     _ckp___byte, _ckp___bit
4569                    ; # Ensure that SDO is an output:
4570                    ; line_number = 697
4571                    ;  _trisc5 := _false
4572                    ;info   697, 493
4573 01ed 1683          bsf     __rp0___byte, __rp0___bit
4574 01ee 1287          bcf     _trisc5___byte, _trisc5___bit
4575                    ; # Ensure that SCK is an output:
4576                    ; line_number = 699
4577                    ;  _trisc3 := _false
4578                    ;info   699, 495
4579 01ef 1187          bcf     _trisc3___byte, _trisc3___bit
4580                    ; # {load} is active low, so it idles at high:
4581                    ; line_number = 701
4582                    ;  load := _true
4583                    ;info   701, 496
4584 01f0 1283          bcf     __rp0___byte, __rp0___bit
4585 01f1 1507          bsf     load___byte, load___bit
4586                    ; # {ldac} is active low, so it idles at high:
4587                    ; line_number = 703
4588                    ;  ldac := _true
4589                    ;info   703, 498
4590 01f2 1607          bsf     ldac___byte, ldac___bit
4591                    ; # Enable Synchronous Serial Port:
4592                    ; line_number = 705
4593                    ;  _sspen := _true
4594                    ;info   705, 499
4595 01f3 1694          bsf     _sspen___byte, _sspen___bit
4596            
4597                    ; # The _bf (buffer full) bit is read-only and it initializes to 0.
4598                    ; # We need to get it set.  This is done by causing the synchronous
4599                    ; # serial port to write (and read) 8 bits:
4600                    ; line_number = 710
4601                    ;  _sspbuf := 0
4602                    ;info   710, 500
4603 01f4 0193          clrf    _sspbuf
4604                    ; # In about 8 cycles {_bf} should be 1:
4605            
4606                    ; # Now initialize the axis angles:
4607                    ; line_number = 714
4608                    ;  a_angle := 0
4609                    ;info   714, 501
4610 01f5 01a6          clrf    a_angle
4611                    ; line_number = 715
4612                    ;  x_angle := 0
4613                    ;info   715, 502
4614 01f6 01a7          clrf    x_angle
4615                    ; line_number = 716
4616                    ;  y_angle := 0
4617                    ;info   716, 503
4618 01f7 01a8          clrf    y_angle
4619                    ; line_number = 717
4620                    ;  z_angle := 0
4621                    ;info   717, 504
4622 01f8 01a9          clrf    z_angle
4623            
4624                    ; # Now intiialize the axis offsets:
4625                    ; # 1 = 11.25 degrees
4626                    ; # 2 = 22.5 degrees
4627                    ; # 4 = 45 degrees (Half Step)
4628                    ; # 8 = 90 degrees (Wave Step)
4629                    ; line_number = 724
4630                    ;  a_amount := 1
4631                    ;info   724, 505
4632 01f9 3001          movlw   1
4633 01fa 00aa          movwf   a_amount
4634                    ; line_number = 725
4635                    ;  x_amount := 1
4636                    ;info   725, 507
4637 01fb 3001          movlw   1
4638 01fc 00ab          movwf   x_amount
4639                    ; line_number = 726
4640                    ;  y_amount := 1
4641                    ;info   726, 509
4642 01fd 3001          movlw   1
4643 01fe 00ac          movwf   y_amount
4644                    ; line_number = 727
4645                    ;  z_amount := 1
4646                    ;info   727, 511
4647 01ff 3001          movlw   1
4648 0200 00ad          movwf   z_amount
4649            
4650                    ; # Clear any previous states:
4651                    ; line_number = 730
4652                    ;  a_step_previous := _false
4653                    ;info   730, 513
4654 0201 106f          bcf     a_step_previous___byte, a_step_previous___bit
4655                    ; line_number = 731
4656                    ;  x_step_previous := _false
4657                    ;info   731, 514
4658 0202 10ef          bcf     x_step_previous___byte, x_step_previous___bit
4659                    ; line_number = 732
4660                    ;  y_step_previous := _false
4661                    ;info   732, 515
4662 0203 116f          bcf     y_step_previous___byte, y_step_previous___bit
4663                    ; line_number = 733
4664                    ;  z_step_previous := _false
4665                    ;info   733, 516
4666 0204 11ef          bcf     z_step_previous___byte, z_step_previous___bit
4667                    ; line_number = 734
4668                    ;  dac_update := 0
4669                    ;info   734, 517
4670 0205 01ae          clrf    dac_update
4671            
4672                    ; # Clear out the mask values:
4673                    ; line_number = 737
4674                    ;  a_mask := 0
4675                    ;info   737, 518
4676 0206 01af          clrf    a_mask
4677                    ; line_number = 738
4678                    ;  x_mask := 0
4679                    ;info   738, 519
4680 0207 01b2          clrf    x_mask
4681                    ; line_number = 739
4682                    ;  y_mask := 0
4683                    ;info   739, 520
4684 0208 01b1          clrf    y_mask
4685                    ; line_number = 740
4686                    ;  z_mask := 0
4687                    ;info   740, 521
4688 0209 01b0          clrf    z_mask
4689            
4690                    ; # Set the initial strength values:
4691                    ; line_number = 743
4692                    ;  a_strength := 0x70
4693                    ;info   743, 522
4694 020a 3070          movlw   112
4695 020b 00b3          movwf   a_strength
4696                    ; line_number = 744
4697                    ;  x_strength := 0x70
4698                    ;info   744, 524
4699 020c 3070          movlw   112
4700 020d 00b4          movwf   x_strength
4701                    ; line_number = 745
4702                    ;  y_strength := 0x70
4703                    ;info   745, 526
4704 020e 3070          movlw   112
4705 020f 00b5          movwf   y_strength
4706                    ; line_number = 746
4707                    ;  z_strength := 0x70
4708                    ;info   746, 528
4709 0210 3070          movlw   112
4710 0211 00b6          movwf   z_strength
4711            
4712                    ; # This causes us to enter test mode:
4713                    ; line_number = 749
4714                    ;  call test_mode()
4715                    ;info   749, 530
4716 0212 20b5          call    test_mode
4717            
4718            
4719                    ; delay after procedure statements=non-uniform
4720                    ; Implied return
4721 0213 3400          retlw   0
4722            
4723            
4724            
4725            
4726                    ; line_number = 752
4727                    ;info   752, 532
4728                    ; procedure step_check
4729   0214 :   step_check:
4730                    ; arguments_none
4731                    ; line_number = 754
4732                    ;  returns_nothing
4733            
4734                    ; # This procedure is reponsible for checking to see whether
4735                    ; # a step pulse occurred.
4736            
4737                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
4738                    ; line_number = 759
4739                    ;  do_nothing
4740                    ;info   759, 532
4741            
4742            
4743                    ; delay after procedure statements=non-uniform
4744                    ; Implied return
4745 0214 3400          retlw   0
4746            
4747            
4748            
4749            
4750                    ; line_number = 762
4751                    ;info   762, 533
4752                    ; procedure dac_setup
4753   0215 :   dac_setup:
4754                    ; Last argument is sitting in W; save into argument variable
4755 0215 00bf          movwf   dac_setup__dac_base
4756                    ; delay=4294967295
4757                    ; line_number = 763
4758                    ; argument angle byte
4759 0000003d = dac_setup__angle equ globals___0+29
4760                    ; line_number = 764
4761                    ; argument strength byte
4762 0000003e = dac_setup__strength equ globals___0+30
4763                    ; line_number = 765
4764                    ; argument dac_base byte
4765 0000003f = dac_setup__dac_base equ globals___0+31
4766                    ; line_number = 766
4767                    ;  returns byte
4768            
4769                    ; # This procedure will send the appropriate DAC value for {angle}
4770                    ; # out the two DAC channels numbered {dac_base} and {dac_base}+1.
4771                    ; # The  returned value is used to set the direction of both H-bridge
4772                    ; # coils.
4773            
4774                    ; line_number = 773
4775                    ;  local result byte
4776 0000003c = dac_setup__result equ globals___0+28
4777            
4778                    ; #call _uart_byte_put('a')
4779                    ; #call _uart_hex_put(angle)
4780                    ; #call _uart_byte_put('d')
4781                    ; #call _uart_hex_put(dac_base)
4782            
4783                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
4784                    ; line_number = 780
4785                    ;  result := dac_helper(angle, strength, dac_base) | dac_helper(angle + 8, strength, dac_base + 1) << 2 
4786                    ;info   780, 534
4787 00000047 = dac_setup__1 equ globals___0+39
4788 0216 083d          movf    dac_setup__angle,w
4789 0217 00c1          movwf   dac_helper__angle
4790 0218 083e          movf    dac_setup__strength,w
4791 0219 00c2          movwf   dac_helper__strength
4792 021a 083f          movf    dac_setup__dac_base,w
4793 021b 222c          call    dac_helper
4794 021c 00c7          movwf   dac_setup__1
4795 00000048 = dac_setup__2 equ globals___0+40
4796 021d 3008          movlw   8
4797 021e 073d          addwf   dac_setup__angle,w
4798 021f 00c1          movwf   dac_helper__angle
4799 0220 083e          movf    dac_setup__strength,w
4800 0221 00c2          movwf   dac_helper__strength
4801 0222 0a3f          incf    dac_setup__dac_base,w
4802 0223 222c          call    dac_helper
4803 0224 00c8          movwf   dac_setup__2
4804 0225 0dc8          rlf     dac_setup__2,f
4805 0226 0d48          rlf     dac_setup__2,w
4806 0227 39fc          andlw   252
4807 0228 0447          iorwf   dac_setup__1,w
4808 0229 00bc          movwf   dac_setup__result
4809            
4810                    ; #call _uart_byte_put('r')
4811                    ; #call _uart_hex_put(result)
4812            
4813                    ; line_number = 786
4814                    ;  return result start
4815                    ; line_number = 786
4816                    ;info   786, 554
4817 022a 083c          movf    dac_setup__result,w
4818 022b 0008          return  
4819                    ; line_number = 786
4820                    ;  return result done
4821            
4822            
4823                    ; delay after procedure statements=non-uniform
4824            
4825            
4826            
4827            
4828                    ; line_number = 789
4829                    ;info   789, 556
4830                    ; procedure dac_helper
4831   022c :   dac_helper:
4832                    ; Last argument is sitting in W; save into argument variable
4833 022c 00c3          movwf   dac_helper__dac
4834                    ; delay=4294967295
4835                    ; line_number = 790
4836                    ; argument angle byte
4837 00000041 = dac_helper__angle equ globals___0+33
4838                    ; line_number = 791
4839                    ; argument strength byte
4840 00000042 = dac_helper__strength equ globals___0+34
4841                    ; line_number = 792
4842                    ; argument dac byte
4843 00000043 = dac_helper__dac equ globals___0+35
4844                    ; line_number = 793
4845                    ;  returns byte
4846            
4847                    ; # This procedure will output the DAC value for {angle} to DAC
4848                    ; # channel {dac}.
4849            
4850                    ; line_number = 798
4851                    ;  local result byte
4852 00000040 = dac_helper__result equ globals___0+32
4853            
4854                    ; # Select the DAC to output to:
4855                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
4856                    ; line_number = 801
4857                    ;  call spi_send(dac << 1)
4858                    ;info   801, 557
4859 00000049 = dac_helper__1 equ globals___0+41
4860 022d 0d43          rlf     dac_helper__dac,w
4861 022e 39fe          andlw   254
4862 022f 2249          call    spi_send
4863                    ; line_number = 802
4864                    ;  call spi_send(sine(strength | (angle & 0xf)))
4865                    ;info   802, 560
4866 0230 300f          movlw   15
4867 0231 0541          andwf   dac_helper__angle,w
4868 0232 0442          iorwf   dac_helper__strength,w
4869 0233 201e          call    sine
4870 0234 2249          call    spi_send
4871            
4872                    ; line_number = 804
4873                    ;  call step_check()
4874                    ;info   804, 565
4875 0235 2214          call    step_check
4876            
4877                    ; # Wait for data to flush:
4878                    ; line_number = 807
4879                    ;  while !_bf start
4880   0236 :   dac_helper__2:
4881                    ;info   807, 566
4882                    ; =>bit_code_emit@symbol(): sym=_bf
4883                    ; 1TEST: Single test with code in skip slot
4884 0236 1683          bsf     __rp0___byte, __rp0___bit
4885 0237 1c14          btfss   _bf___byte, _bf___bit
4886                    ; line_number = 808
4887                    ; do_nothing
4888                    ;info   808, 568
4889            
4890 0238 2a36          goto    dac_helper__2
4891                    ; Recombine size1 = 0 || size2 = 0
4892                    ; <=bit_code_emit@symbol; sym=_bf (data:00=>01 code:00=>00)
4893                    ; line_number = 807
4894                    ;  while !_bf done
4895                    ; # Load it in:
4896                    ; line_number = 811
4897                    ;  load := _false
4898                    ;info   811, 569
4899 0239 1283          bcf     __rp0___byte, __rp0___bit
4900 023a 1107          bcf     load___byte, load___bit
4901                    ; line_number = 812
4902                    ;  load := _true
4903                    ;info   812, 571
4904 023b 1507          bsf     load___byte, load___bit
4905            
4906                    ; line_number = 814
4907                    ;  if angle & 15 = 0 start
4908                    ;info   814, 572
4909                    ; Left minus Right
4910 023c 300f          movlw   15
4911 023d 0541          andwf   dac_helper__angle,w
4912                    ; =>bit_code_emit@symbol(): sym=__z
4913                    ; No 1TEST: true.size=1 false.size=5
4914                    ; No 2TEST: true.size=1 false.size=5
4915                    ; 2GOTO: Single test with two GOTO's
4916 023e 1d03          btfss   __z___byte, __z___bit
4917 023f 2a42          goto    dac_helper__4
4918                    ; # Turn the coil entirely off:
4919                    ; line_number = 816
4920                    ;  result := 0
4921                    ;info   816, 576
4922 0240 01c0          clrf    dac_helper__result
4923 0241 2a47          goto    dac_helper__5
4924                    ; 2GOTO: Starting code 2
4925   0242 :   dac_helper__4:
4926                    ; line_number = 817
4927                    ;info   817, 578
4928 00000041 = dac_helper__select__3___byte equ dac_helper__angle
4929 00000004 = dac_helper__select__3___bit equ 4
4930                    ; =>bit_code_emit@symbol(): sym=dac_helper__select__3
4931                    ; No 1TEST: true.size=1 false.size=1
4932                    ; 2TEST: two tests with code in both delay slots
4933 0242 1a41          btfsc   dac_helper__select__3___byte, dac_helper__select__3___bit
4934                    ; # Coil goes in one direction ...
4935                    ; line_number = 819
4936                    ;  result := 2
4937                    ;info   819, 579
4938 0243 3002          movlw   2
4939 0244 1e41          btfss   dac_helper__select__3___byte, dac_helper__select__3___bit
4940                    ; # ... or the other direction.
4941                    ; line_number = 822
4942                    ;  result := 1
4943                    ;info   822, 581
4944 0245 3001          movlw   1
4945 0246 00c0          movwf   dac_helper__result
4946            
4947                    ; <=bit_code_emit@symbol; sym=dac_helper__select__3 (data:00=>00 code:XX=>XX)
4948   0247 :   dac_helper__5:
4949                    ; 2GOTO: code1 final bitstates:(data:00=>00 code:XX=>XX)
4950                    ; 2GOTO: code2 final bitstates:(data:00=>00 code:XX=>XX)
4951                    ; 2GOTO: code final bitstates:(data:00=>00 code:00=>00)
4952                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
4953                    ; line_number = 814
4954                    ;  if angle & 15 = 0 done
4955                    ; #call _uart_byte_put('p')
4956                    ; #call _uart_hex_put(result)
4957            
4958                    ; line_number = 827
4959                    ;  return result start
4960                    ; line_number = 827
4961                    ;info   827, 583
4962 0247 0840          movf    dac_helper__result,w
4963 0248 0008          return  
4964                    ; line_number = 827
4965                    ;  return result done
4966            
4967            
4968                    ; delay after procedure statements=non-uniform
4969            
4970            
4971            
4972            
4973                    ; line_number = 830
4974                    ;info   830, 585
4975                    ; procedure spi_send
4976   0249 :   spi_send:
4977                    ; Last argument is sitting in W; save into argument variable
4978 0249 00c5          movwf   spi_send__command
4979                    ; delay=4294967295
4980                    ; line_number = 831
4981                    ; argument command byte
4982 00000045 = spi_send__command equ globals___0+37
4983                    ; line_number = 832
4984                    ;  returns_nothing
4985            
4986                    ; # This procedure will stuff {command} into the SPI transmitter.
4987            
4988                    ; line_number = 836
4989                    ;  local zilch byte
4990 00000044 = spi_send__zilch equ globals___0+36
4991            
4992                    ; # For debugging:
4993                    ; #call _uart_byte_put('#')
4994                    ; #call _uart_hex_put(command)
4995            
4996                    ; # The code in the specification sheet is a little misleading
4997                    ; # since it does not point out that {_bf} is in {_sspstat} which
4998                    ; # is in data bank 1 and {_sspbuf} is in data bank 0.  They do
4999                    ; # not show any of the data bank switching.  Luckily, the uCL
5000                    ; # compiler keeps track of all of that.
5001            
5002                    ; # Wait until the command is finished sending:
5003                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5004                    ; line_number = 849
5005                    ;  while !_bf start
5006   024a :   spi_send__1:
5007                    ;info   849, 586
5008                    ; =>bit_code_emit@symbol(): sym=_bf
5009                    ; 1TEST: Single test with code in skip slot
5010 024a 1683          bsf     __rp0___byte, __rp0___bit
5011 024b 1c14          btfss   _bf___byte, _bf___bit
5012                    ; line_number = 850
5013                    ; do_nothing
5014                    ;info   850, 588
5015            
5016 024c 2a4a          goto    spi_send__1
5017                    ; Recombine size1 = 0 || size2 = 0
5018                    ; <=bit_code_emit@symbol; sym=_bf (data:00=>01 code:00=>00)
5019                    ; line_number = 849
5020                    ;  while !_bf done
5021                    ; # Read contents of receive buffer {_sspbuf} and throw it away.
5022                    ; # This should cause {_bf} to clear:
5023                    ; line_number = 854
5024                    ;  zilch := _sspbuf
5025                    ;info   854, 589
5026 024d 1283          bcf     __rp0___byte, __rp0___bit
5027 024e 0813          movf    _sspbuf,w
5028 024f 00c4          movwf   spi_send__zilch
5029            
5030                    ; # Initiate command sending by writing {command} to {_sspbuf}:
5031                    ; line_number = 857
5032                    ;  _sspbuf := command
5033                    ;info   857, 592
5034 0250 0845          movf    spi_send__command,w
5035 0251 0093          movwf   _sspbuf
5036            
5037                    ; delay after procedure statements=non-uniform
5038                    ; Implied return
5039 0252 3400          retlw   0
5040            
5041            
5042            
5043            
5044                    ; #    # This is some bit bang code that gets the job done:
5045                    ; #
5046                    ; #    loop_exactly 8
5047                    ; #	if command@7
5048                    ; #	    data := 1
5049                    ; #	else
5050                    ; #	    data := 0
5051                    ; #	clock := 1
5052                    ; #	#delay 1
5053                    ; #	#    do_nothing
5054                    ; #	clock := 0
5055                    ; #	#delay 1
5056                    ; #	#    do_nothing
5057                    ; #	command := command << 1
5058            
5059            
5060                    ; Appending 7 delayed procedures to code bank 0
5061                    ; buffer = '_uart'
5062                    ; line_number = 7
5063                    ;info   7, 595
5064                    ; procedure _uart_byte_safe_get
5065   0253 :   _uart_byte_safe_get:
5066                    ; arguments_none
5067                    ; line_number = 9
5068                    ;  returns byte
5069            
5070                    ; # This procedure will the next byte from UART.  If no byte
5071                    ; # received in a reasonable time, 0xfc is returned.
5072            
5073                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5074                    ; line_number = 14
5075                    ;  loop_exactly 255 start
5076                    ;info   14, 595
5077 0000004a = _uart_byte_safe_get__1 equ globals___0+42
5078 0253 30ff          movlw   255
5079 0254 00ca          movwf   _uart_byte_safe_get__1
5080   0255 :   _uart_byte_safe_get__2:
5081                    ; line_number = 15
5082                    ; loop_exactly 255 start
5083                    ;info   15, 597
5084 0000004b = _uart_byte_safe_get__3 equ globals___0+43
5085 0255 30ff          movlw   255
5086 0256 00cb          movwf   _uart_byte_safe_get__3
5087   0257 :   _uart_byte_safe_get__4:
5088                    ; line_number = 16
5089                    ; if _rcif start
5090                    ;info   16, 599
5091                    ; =>bit_code_emit@symbol(): sym=_rcif
5092                    ; No 1TEST: true.size=2 false.size=0
5093                    ; No 2TEST: true.size=2 false.size=0
5094                    ; 1GOTO: Single test with GOTO
5095 0257 1e8c          btfss   _rcif___byte, _rcif___bit
5096 0258 2a5b          goto    _uart_byte_safe_get__5
5097                    ; line_number = 17
5098                    ; return _rcreg start
5099                    ; line_number = 17
5100                    ;info   17, 601
5101 0259 081a          movf    _rcreg,w
5102 025a 0008          return  
5103                    ; line_number = 17
5104                    ; return _rcreg done
5105                    ; Recombine size1 = 0 || size2 = 0
5106   025b :   _uart_byte_safe_get__5:
5107                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
5108                    ; line_number = 16
5109                    ; if _rcif done
5110                    ; line_number = 15
5111                    ; loop_exactly 255 wrap-up
5112 025b 0bcb          decfsz  _uart_byte_safe_get__3,f
5113 025c 2a57          goto    _uart_byte_safe_get__4
5114                    ; line_number = 15
5115                    ; loop_exactly 255 done
5116                    ; line_number = 14
5117                    ;  loop_exactly 255 wrap-up
5118 025d 0bca          decfsz  _uart_byte_safe_get__1,f
5119 025e 2a55          goto    _uart_byte_safe_get__2
5120                    ; line_number = 14
5121                    ;  loop_exactly 255 done
5122                    ; line_number = 18
5123                    ; return 0xfc start
5124                    ; line_number = 18
5125                    ;info   18, 607
5126 025f 34fc          retlw   252
5127                    ; line_number = 18
5128                    ; return 0xfc done
5129            
5130            
5131                    ; delay after procedure statements=non-uniform
5132            
5133            
5134            
5135            
5136                    ; line_number = 21
5137                    ;info   21, 608
5138                    ; procedure _uart_byte_get
5139   0260 :   _uart_byte_get:
5140                    ; arguments_none
5141                    ; line_number = 23
5142                    ;  returns byte
5143            
5144                    ; # This procedure will return the next byte from the UART.
5145            
5146                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5147                    ; line_number = 27
5148                    ;  while !_rcif start
5149   0260 :   _uart_byte_get__1:
5150                    ;info   27, 608
5151                    ; =>bit_code_emit@symbol(): sym=_rcif
5152                    ; 1TEST: Single test with code in skip slot
5153 0260 1e8c          btfss   _rcif___byte, _rcif___bit
5154                    ; line_number = 28
5155                    ; do_nothing
5156                    ;info   28, 609
5157 0261 2a60          goto    _uart_byte_get__1
5158                    ; Recombine size1 = 0 || size2 = 0
5159                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
5160                    ; line_number = 27
5161                    ;  while !_rcif done
5162                    ; line_number = 29
5163                    ; return _rcreg start
5164                    ; line_number = 29
5165                    ;info   29, 610
5166 0262 081a          movf    _rcreg,w
5167 0263 0008          return  
5168                    ; line_number = 29
5169                    ; return _rcreg done
5170            
5171            
5172                    ; delay after procedure statements=non-uniform
5173            
5174            
5175            
5176            
5177                    ; line_number = 32
5178                    ;info   32, 612
5179                    ; procedure _uart_hex_put
5180   0264 :   _uart_hex_put:
5181                    ; Last argument is sitting in W; save into argument variable
5182 0264 00a0          movwf   _uart_hex_put__value
5183                    ; delay=4294967295
5184                    ; line_number = 33
5185                    ; argument value byte
5186 00000020 = _uart_hex_put__value equ globals___0
5187                    ; line_number = 34
5188                    ;  returns_nothing
5189            
5190                    ; # This procedure will output {value} to the UART as a 2-digit
5191                    ; # hexadecimal number.
5192            
5193                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5194                    ; line_number = 39
5195                    ;  call _uart_nibble_put(value >> 4)
5196                    ;info   39, 613
5197 0000004c = _uart_hex_put__1 equ globals___0+44
5198 0265 0e20          swapf   _uart_hex_put__value,w
5199 0266 390f          andlw   15
5200 0267 226c          call    _uart_nibble_put
5201                    ; line_number = 40
5202                    ;  call _uart_nibble_put(value & 0xf)
5203                    ;info   40, 616
5204 0268 300f          movlw   15
5205 0269 0520          andwf   _uart_hex_put__value,w
5206 026a 226c          call    _uart_nibble_put
5207            
5208            
5209                    ; delay after procedure statements=non-uniform
5210                    ; Implied return
5211 026b 3400          retlw   0
5212            
5213            
5214            
5215            
5216                    ; line_number = 43
5217                    ;info   43, 620
5218                    ; procedure _uart_nibble_put
5219   026c :   _uart_nibble_put:
5220                    ; Last argument is sitting in W; save into argument variable
5221 026c 00a1          movwf   _uart_nibble_put__nibble
5222                    ; delay=4294967295
5223                    ; line_number = 44
5224                    ; argument nibble byte
5225 00000021 = _uart_nibble_put__nibble equ globals___0+1
5226                    ; line_number = 45
5227                    ;  returns_nothing
5228            
5229                    ; # This procedure will output {value} to UART as a 1 digit
5230                    ; # hexadecimal number.
5231            
5232                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5233                    ; line_number = 50
5234                    ;  if nibble < 10 start
5235                    ;info   50, 621
5236 026d 300a          movlw   10
5237 026e 0221          subwf   _uart_nibble_put__nibble,w
5238                    ; =>bit_code_emit@symbol(): sym=__c
5239                    ; No 1TEST: true.size=1 false.size=1
5240                    ; 2TEST: two tests with code in both delay slots
5241 026f 1803          btfsc   __c___byte, __c___bit
5242                    ; line_number = 53
5243                    ; nibble := nibble - 10 + 'A'
5244                    ;info   53, 624
5245 0270 3037          movlw   55
5246 0271 1c03          btfss   __c___byte, __c___bit
5247                    ; line_number = 51
5248                    ; nibble := nibble + '0'
5249                    ;info   51, 626
5250 0272 3030          movlw   48
5251 0273 07a1          addwf   _uart_nibble_put__nibble,f
5252                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
5253                    ; line_number = 50
5254                    ;  if nibble < 10 done
5255                    ; line_number = 54
5256                    ; call _uart_byte_put(nibble)
5257                    ;info   54, 628
5258 0274 0821          movf    _uart_nibble_put__nibble,w
5259 0275 227f          call    _uart_byte_put
5260            
5261            
5262                    ; delay after procedure statements=non-uniform
5263                    ; Implied return
5264 0276 3400          retlw   0
5265            
5266            
5267            
5268            
5269                    ; line_number = 57
5270                    ;info   57, 631
5271                    ; procedure _uart_space_put
5272   0277 :   _uart_space_put:
5273                    ; arguments_none
5274                    ; line_number = 59
5275                    ;  returns_nothing
5276            
5277                    ; # This procedure will output a space to the UART.
5278            
5279                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5280                    ; line_number = 63
5281                    ;  call _uart_byte_put(' ')
5282                    ;info   63, 631
5283 0277 3020          movlw   32
5284 0278 227f          call    _uart_byte_put
5285            
5286            
5287                    ; delay after procedure statements=non-uniform
5288                    ; Implied return
5289 0279 3400          retlw   0
5290            
5291            
5292            
5293            
5294                    ; line_number = 66
5295                    ;info   66, 634
5296                    ; procedure _uart_crlf_put
5297   027a :   _uart_crlf_put:
5298                    ; arguments_none
5299                    ; line_number = 68
5300                    ;  returns_nothing
5301            
5302                    ; # This procedure will output a carriage return line feed sequecne to
5303                    ; # the UART.
5304            
5305                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5306                    ; line_number = 73
5307                    ;  call _uart_byte_put('\cr\')
5308                    ;info   73, 634
5309 027a 300d          movlw   13
5310 027b 227f          call    _uart_byte_put
5311                    ; line_number = 74
5312                    ;  call _uart_byte_put('\lf\')
5313                    ;info   74, 636
5314 027c 300a          movlw   10
5315 027d 227f          call    _uart_byte_put
5316            
5317            
5318                    ; delay after procedure statements=non-uniform
5319                    ; Implied return
5320 027e 3400          retlw   0
5321            
5322            
5323            
5324            
5325                    ; line_number = 77
5326                    ;info   77, 639
5327                    ; procedure _uart_byte_put
5328   027f :   _uart_byte_put:
5329                    ; Last argument is sitting in W; save into argument variable
5330 027f 00a2          movwf   _uart_byte_put__byte
5331                    ; delay=4294967295
5332                    ; line_number = 78
5333                    ; argument byte byte
5334 00000022 = _uart_byte_put__byte equ globals___0+2
5335                    ; line_number = 79
5336                    ;  returns_nothing
5337            
5338                    ; # This procedure will send {byte} out using to the UART.
5339            
5340                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
5341                    ; line_number = 83
5342                    ;  while !_txif start
5343   0280 :   _uart_byte_put__1:
5344                    ;info   83, 640
5345                    ; =>bit_code_emit@symbol(): sym=_txif
5346                    ; 1TEST: Single test with code in skip slot
5347 0280 1e0c          btfss   _txif___byte, _txif___bit
5348                    ; line_number = 84
5349                    ; do_nothing
5350                    ;info   84, 641
5351 0281 2a80          goto    _uart_byte_put__1
5352                    ; Recombine size1 = 0 || size2 = 0
5353                    ; <=bit_code_emit@symbol; sym=_txif (data:00=>00 code:00=>00)
5354                    ; line_number = 83
5355                    ;  while !_txif done
5356                    ; line_number = 85
5357                    ; _txreg := byte
5358                    ;info   85, 642
5359 0282 0822          movf    _uart_byte_put__byte,w
5360 0283 0099          movwf   _txreg
5361            
5362            
5363                    ; delay after procedure statements=non-uniform
5364                    ; Implied return
5365 0284 3400          retlw   0
5366            
5367            
5368            
5369            
5370                    ; Code bank 1; Start address: 2048; End address: 4095
5371   0800 :           org     2048
5372                    ; Code bank 2; Start address: 4096; End address: 6143
5373   1000 :           org     4096
5374                    ; Code bank 3; Start address: 6144; End address: 8191
5375   1800 :           org     6144
5376                    ; Configuration bits
5377                    ; address = 0x2007, fill = 0x600
5378                    ; cp = off (0x2000)
5379                    ; cpmx = rc1 (0x1000)
5380                    ; debug = off (0x800)
5381                    ; borv = borv00 (0x0)
5382                    ; boren = off (0x0)
5383                    ; mclre = off (0x0)
5384                    ; pwrten = off (0x8)
5385                    ; wdten = off (0x0)
5386                    ; fosc = hs (0x2)
5387                    ; 15882 = 0x3e0a
5388                    ; 8199 = 0x2007
5389   3e0a =           __config 8199, 15882
5390                    ; Configuration bits
5391                    ; address = 0x2008, fill = 0x33bc
5392                    ; borsen = off (0x0)
5393                    ; ieso = off (0x2)
5394                    ; fcmen = off (0x0)
5395                    ; 13246 = 0x33be
5396                    ; 8200 = 0x2008
5397   33be =           __config 8200, 13246
5398                    ; Define start addresses for data regions
5399                    ; Region="shared___globals" Address=112" Size=16 Bytes=2 Bits=0 Available=14
5400                    ; Region="globals___0" Address=32" Size=80 Bytes=45 Bits=4 Available=34
5401                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
5402                    ; Region="globals___2" Address=272" Size=96 Bytes=0 Bits=0 Available=96
5403                    ; Region="globals___3" Address=400" Size=112 Bytes=0 Bits=0 Available=112
5404                    end
