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) 2006 by Wayne C. Gramlich.
32                      ; # All rights reserved.
33              
34                      ; buffer = 'shaft2'
35                      ; line_number = 6
36                      ; library _pic16f767 entered
37              
38                      ; # Copyright (c) 2004-2007 by Wayne C. Gramlich
39                      ; # All rights reserved.
40              
41                      ; buffer = '_pic16f767'
42                      ; line_number = 6
43                      ; processor pic16f767
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 0x3fbc
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 = 0x0000
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 = 28
149                     ; line_number = 61
150                     ;  pin mclr, vpp, thv, mclr_unused
151                     ; line_number = 62
152                     ; pin_bindings pdip = 1
153                     ; line_number = 63
154                     ; pin ra0_in, ra0_out, an0, ra0_unused
155                     ; line_number = 64
156                     ; pin_bindings pdip = 2
157                     ; line_number = 65
158                     ;  bind_to _porta@0
159                     ; line_number = 66
160                     ;  or_if ra0_in _trisa 1
161                     ; line_number = 67
162                     ;  or_if ra0_in _adcon1 15
163                     ; line_number = 68
164                     ;  or_if ra0_in _adcon0 0
165                     ; line_number = 69
166                     ;  or_if ra0_out _trisa 0
167                     ; line_number = 70
168                     ;  or_if ra0_out _adcon1 15
169                     ; line_number = 71
170                     ;  or_if ra0_out _adcon0 0
171                     ; line_number = 72
172                     ; pin ra1_in, ra1_out, an1, ra1_unused
173                     ; line_number = 73
174                     ; pin_bindings pdip = 3
175                     ; line_number = 74
176                     ;  bind_to _porta@1
177                     ; line_number = 75
178                     ;  or_if ra1_in _trisa 2
179                     ; line_number = 76
180                     ;  or_if ra1_in _adcon1 15
181                     ; line_number = 77
182                     ;  or_if ra1_in _adcon0 0
183                     ; line_number = 78
184                     ;  or_if ra1_out _trisa 0
185                     ; line_number = 79
186                     ;  or_if ra1_out _adcon1 15
187                     ; line_number = 80
188                     ;  or_if ra1_out _adcon0 0
189                     ; line_number = 81
190                     ; pin ra2_in, ra2_out, an2, vref_minus, ra2_unused
191                     ; line_number = 82
192                     ; pin_bindings pdip = 4
193                     ; line_number = 83
194                     ;  bind_to _porta@2
195                     ; line_number = 84
196                     ;  or_if ra2_in _trisa 4
197                     ; line_number = 85
198                     ;  or_if ra2_in _adcon1 15
199                     ; line_number = 86
200                     ;  or_if ra2_in _adcon0 0
201                     ; line_number = 87
202                     ;  or_if ra2_out _trisa 0
203                     ; line_number = 88
204                     ;  or_if ra2_out _adcon1 15
205                     ; line_number = 89
206                     ;  or_if ra2_out _adcon0 0
207                     ; line_number = 90
208                     ; pin ra3_in, ra3_out, an3, vrev_plus, ra3_unused
209                     ; line_number = 91
210                     ; pin_bindings pdip = 5
211                     ; line_number = 92
212                     ;  bind_to _porta@3
213                     ; line_number = 93
214                     ;  or_if ra3_in _trisa 8
215                     ; line_number = 94
216                     ;  or_if ra3_in _adcon1 15
217                     ; line_number = 95
218                     ;  or_if ra3_in _adcon0 0
219                     ; line_number = 96
220                     ;  or_if ra3_out _trisa 0
221                     ; line_number = 97
222                     ;  or_if ra3_out _adcon1 15
223                     ; line_number = 98
224                     ;  or_if ra3_out _adcon0 0
225                     ; line_number = 99
226                     ; pin ra4_in, ra4_out, t0cki, ra4_unused
227                     ; line_number = 100
228                     ; pin_bindings pdip = 6
229                     ; line_number = 101
230                     ;  bind_to _porta@4
231                     ; line_number = 102
232                     ;  or_if ra4_in _trisa 16
233                     ; line_number = 103
234                     ;  or_if ra4_in _adcon1 15
235                     ; line_number = 104
236                     ;  or_if ra4_in _adcon0 0
237                     ; line_number = 105
238                     ;  or_if ra4_out _trisa 0
239                     ; line_number = 106
240                     ;  or_if ra4_out _adcon1 15
241                     ; line_number = 107
242                     ;  or_if ra4_out _adcon0 0
243                     ; line_number = 108
244                     ; pin ra5_in, ra5_out, an4, ra5_unused
245                     ; line_number = 109
246                     ; pin_bindings pdip = 7
247                     ; line_number = 110
248                     ;  bind_to _porta@5
249                     ; line_number = 111
250                     ;  or_if ra5_in _trisa 32
251                     ; line_number = 112
252                     ;  or_if ra5_in _adcon1 15
253                     ; line_number = 113
254                     ;  or_if ra5_in _adcon1 0
255                     ; line_number = 114
256                     ;  or_if ra5_out _trisa 0
257                     ; line_number = 115
258                     ;  or_if ra5_out _adcon1 15
259                     ; line_number = 116
260                     ;  or_if ra5_out _adcon0 0
261                     ; line_number = 117
262                     ; pin vss, ground
263                     ; line_number = 118
264                     ; pin_bindings pdip = 8
265                     ; line_number = 119
266                     ; pin osc1, clkin
267                     ; line_number = 120
268                     ; pin_bindings pdip = 9
269                     ; line_number = 121
270                     ; pin osc2, clkout
271                     ; line_number = 122
272                     ; pin_bindings pdip = 10
273                     ; line_number = 123
274                     ; pin rc0_in, rc0_out, t1oso, t1cki, rc0_unused
275                     ; line_number = 124
276                     ; pin_bindings pdip = 11
277                     ; line_number = 125
278                     ;  bind_to _portc@0
279                     ; line_number = 126
280                     ;  or_if rc0_in _trisc 1
281                     ; line_number = 127
282                     ;  or_if rc0_in _adcon1 15
283                     ; line_number = 128
284                     ;  or_if rc0_in _adcon0 0
285                     ; line_number = 129
286                     ;  or_if rc0_out _trisc 0
287                     ; line_number = 130
288                     ;  or_if rc0_out _adcon1 15
289                     ; line_number = 131
290                     ;  or_if rc0_out _adcon0 0
291                     ; line_number = 132
292                     ;  or_if rc0_unused _trisc 1
293                     ; line_number = 133
294                     ;  or_if rc0_unused _adcon1 15
295                     ; line_number = 134
296                     ;  or_if rc0_unused _adcon0 0
297                     ; line_number = 135
298                     ; pin rc1_in, rc1_out, t1osi, ccp2, rc1_unused
299                     ; line_number = 136
300                     ; pin_bindings pdip = 12
301                     ; line_number = 137
302                     ;  bind_to _portc@1
303                     ; line_number = 138
304                     ;  or_if rc1_in _trisc 2
305                     ; line_number = 139
306                     ;  or_if rc1_in _adcon1 15
307                     ; line_number = 140
308                     ;  or_if rc1_in _adcon0 0
309                     ; line_number = 141
310                     ;  or_if rc1_out _trisc 0
311                     ; line_number = 142
312                     ;  or_if rc1_out _adcon1 15
313                     ; line_number = 143
314                     ;  or_if rc1_out _adcon0 0
315                     ; line_number = 144
316                     ;  or_if rc1_unused _trisc 2
317                     ; line_number = 145
318                     ;  or_if rc1_unused _adcon1 15
319                     ; line_number = 146
320                     ;  or_if rc1_unused _adcon0 0
321                     ; line_number = 147
322                     ; pin rc2_in, rc2_out, ccp1, rc2_unused
323                     ; line_number = 148
324                     ; pin_bindings pdip = 13
325                     ; line_number = 149
326                     ;  bind_to _portc@2
327                     ; line_number = 150
328                     ;  or_if rc2_in _trisc 4
329                     ; line_number = 151
330                     ;  or_if rc2_in _adcon1 15
331                     ; line_number = 152
332                     ;  or_if rc2_in _adcon0 0
333                     ; line_number = 153
334                     ;  or_if rc2_out _trisc 0
335                     ; line_number = 154
336                     ;  or_if rc2_out _adcon1 15
337                     ; line_number = 155
338                     ;  or_if rc2_out _adcon0 0
339                     ; line_number = 156
340                     ;  or_if rc2_unused _trisc 4
341                     ; line_number = 157
342                     ;  or_if rc2_unused _adcon1 15
343                     ; line_number = 158
344                     ;  or_if rc2_unused _adcon0 0
345                     ; line_number = 159
346                     ; pin rc3_in, rc3_out, sck_master, sck_slave, scl, rc3_unused
347                     ; line_number = 160
348                     ; pin_bindings pdip = 14
349                     ; line_number = 161
350                     ;  bind_to _portc@3
351                     ; line_number = 162
352                     ;  or_if rc3_in _trisc 8
353                     ; line_number = 163
354                     ;  or_if rc3_in _adcon1 15
355                     ; line_number = 164
356                     ;  or_if rc3_in _adcon0 0
357                     ; line_number = 165
358                     ;  or_if rc3_out _trisc 0
359                     ; line_number = 166
360                     ;  or_if rc3_out _adcon1 15
361                     ; line_number = 167
362                     ;  or_if rc3_out _adcon0 0
363                     ; line_number = 168
364                     ;  or_if sck_master _trisc 0
365                     ; line_number = 169
366                     ;  or_if sck_master _adcon1 15
367                     ; line_number = 170
368                     ;  or_if sck_master _adcon0 0
369                     ; line_number = 171
370                     ;  or_if sck_slave _trisc 8
371                     ; line_number = 172
372                     ;  or_if sck_slave _adcon1 15
373                     ; line_number = 173
374                     ;  or_if sck_slave _adcon0 0
375                     ; line_number = 174
376                     ;  or_if rc3_unused _trisc 8
377                     ; line_number = 175
378                     ;  or_if rc3_unused _adcon1 15
379                     ; line_number = 176
380                     ;  or_if rc3_unused _adcon0 0
381                     ; line_number = 177
382                     ; pin rc4_in, rc4_out, sdi, sda, rc4_unused
383                     ; line_number = 178
384                     ; pin_bindings pdip = 15
385                     ; line_number = 179
386                     ;  bind_to _portc@4
387                     ; line_number = 180
388                     ;  or_if rc4_in _trisc 16
389                     ; line_number = 181
390                     ;  or_if rc4_in _adcon1 15
391                     ; line_number = 182
392                     ;  or_if rc4_in _adcon0 0
393                     ; line_number = 183
394                     ;  or_if rc4_out _trisc 0
395                     ; line_number = 184
396                     ;  or_if rc4_out _adcon1 15
397                     ; line_number = 185
398                     ;  or_if rc4_out _adcon0 0
399                     ; line_number = 186
400                     ;  or_if sdi _trisc 16
401                     ; line_number = 187
402                     ;  or_if sdi _adcon1 15
403                     ; line_number = 188
404                     ;  or_if sdi _adcon0 0
405                     ; line_number = 189
406                     ;  or_if rc4_unused _trisc 16
407                     ; line_number = 190
408                     ;  or_if rc4_unused _adcon1 15
409                     ; line_number = 191
410                     ;  or_if rc4_unused _adcon0 0
411                     ; line_number = 192
412                     ; pin rc5_in, rc5_out, sdo, rc5_unused
413                     ; line_number = 193
414                     ; pin_bindings pdip = 16
415                     ; line_number = 194
416                     ;  bind_to _portc@5
417                     ; line_number = 195
418                     ;  or_if rc5_in _trisc 32
419                     ; line_number = 196
420                     ;  or_if rc5_in _adcon1 15
421                     ; line_number = 197
422                     ;  or_if rc5_in _adcon0 0
423                     ; line_number = 198
424                     ;  or_if rc5_out _trisc 0
425                     ; line_number = 199
426                     ;  or_if rc5_out _adcon1 15
427                     ; line_number = 200
428                     ;  or_if rc5_out _adcon0 0
429                     ; line_number = 201
430                     ;  or_if sdo _trisc 0
431                     ; line_number = 202
432                     ;  or_if sdo _adcon1 15
433                     ; line_number = 203
434                     ;  or_if sdo _adcon0 0
435                     ; line_number = 204
436                     ;  or_if rc5_unused _trisc 32
437                     ; line_number = 205
438                     ;  or_if rc5_unused _adcon1 15
439                     ; line_number = 206
440                     ;  or_if rc5_unused _adcon0 0
441                     ; line_number = 207
442                     ; pin rc6_in, rc6_out, tx, ck, rc6_unused
443                     ; line_number = 208
444                     ; pin_bindings pdip = 17
445                     ; line_number = 209
446                     ;  bind_to _portc@6
447                     ; line_number = 210
448                     ;  or_if rc6_in _trisc 64
449                     ; line_number = 211
450                     ;  or_if rc6_in _adcon1 15
451                     ; line_number = 212
452                     ;  or_if rc6_in _adcon0 0
453                     ; line_number = 213
454                     ;  or_if rc6_out _trisc 0
455                     ; line_number = 214
456                     ;  or_if rc6_out _adcon1 15
457                     ; line_number = 215
458                     ;  or_if rc6_out _adcon0 0
459                     ; # Note: for TX, configure {_trisc} as input (as per spec. sheet):
460                     ; line_number = 217
461                     ;  or_if tx _trisc 0
462                     ; line_number = 218
463                     ;  or_if tx _adcon1 15
464                     ; line_number = 219
465                     ;  or_if tx _adcon0 0
466                     ; line_number = 220
467                     ;  or_if rc6_unused _trisc 64
468                     ; line_number = 221
469                     ;  or_if rc6_unused _adcon1 15
470                     ; line_number = 222
471                     ;  or_if rc6_unused _adcon0 0
472                     ; line_number = 223
473                     ; pin rc7_in, rc7_out, rx, dt, rc7_unused
474                     ; line_number = 224
475                     ; pin_bindings pdip = 18
476                     ; line_number = 225
477                     ;  bind_to _portc@7
478                     ; line_number = 226
479                     ;  or_if rc7_in _trisc 128
480                     ; line_number = 227
481                     ;  or_if rc7_in _adcon1 15
482                     ; line_number = 228
483                     ;  or_if rc7_in _adcon0 0
484                     ; line_number = 229
485                     ;  or_if rx _trisc 128
486                     ; line_number = 230
487                     ;  or_if rx _adcon1 15
488                     ; line_number = 231
489                     ;  or_if rx _adcon0 0
490                     ; line_number = 232
491                     ;  or_if rc7_out _trisc 0
492                     ; line_number = 233
493                     ;  or_if rc7_out _adcon1 15
494                     ; line_number = 234
495                     ;  or_if rc7_out _adcon0 0
496                     ; line_number = 235
497                     ;  or_if rc7_unused _trisc 128
498                     ; line_number = 236
499                     ;  or_if rc7_unused _adcon1 15
500                     ; line_number = 237
501                     ;  or_if rc7_unused _adcon0 0
502                     ; line_number = 238
503                     ; pin vss2, ground2
504                     ; line_number = 239
505                     ; pin_bindings pdip = 19
506                     ; line_number = 240
507                     ; pin vdd, power_supply
508                     ; line_number = 241
509                     ; pin_bindings pdip = 20
510                     ; line_number = 242
511                     ; pin rb0_in, rb0_out, int, rb0_unused
512                     ; line_number = 243
513                     ; pin_bindings pdip = 21
514                     ; line_number = 244
515                     ;  bind_to _portb@0
516                     ; line_number = 245
517                     ;  or_if rb0_in _trisb 1
518                     ; line_number = 246
519                     ;  or_if rb0_in _adcon1 15
520                     ; line_number = 247
521                     ;  or_if rb0_in _adcon0 0
522                     ; line_number = 248
523                     ;  or_if rb0_out _trisb 0
524                     ; line_number = 249
525                     ;  or_if rb0_out _adcon1 15
526                     ; line_number = 250
527                     ;  or_if rb0_out _adcon0 0
528                     ; line_number = 251
529                     ;  or_if rb0_unused _trisb 1
530                     ; line_number = 252
531                     ;  or_if rb0_unused _adcon1 15
532                     ; line_number = 253
533                     ;  or_if rb0_unused _adcon0 0
534                     ; line_number = 254
535                     ; pin rb1_in, rb1_out, rb1_unused
536                     ; line_number = 255
537                     ; pin_bindings pdip = 22
538                     ; line_number = 256
539                     ;  bind_to _portb@1
540                     ; line_number = 257
541                     ;  or_if rb1_in _trisb 2
542                     ; line_number = 258
543                     ;  or_if rb1_in _adcon1 15
544                     ; line_number = 259
545                     ;  or_if rb1_in _adcon0 0
546                     ; line_number = 260
547                     ;  or_if rb1_out _trisb 0
548                     ; line_number = 261
549                     ;  or_if rb1_out _adcon1 15
550                     ; line_number = 262
551                     ;  or_if rb1_out _adcon0 0
552                     ; line_number = 263
553                     ;  or_if rb1_unused _trisb 2
554                     ; line_number = 264
555                     ;  or_if rb1_unused _adcon1 15
556                     ; line_number = 265
557                     ;  or_if rb1_unused _adcon0 0
558                     ; line_number = 266
559                     ; pin rb2_in, rb2_out, rb2_unused
560                     ; line_number = 267
561                     ; pin_bindings pdip = 23
562                     ; line_number = 268
563                     ;  bind_to _portb@2
564                     ; line_number = 269
565                     ;  or_if rb2_in _trisb 4
566                     ; line_number = 270
567                     ;  or_if rb2_in _adcon1 15
568                     ; line_number = 271
569                     ;  or_if rb2_in _adcon0 0
570                     ; line_number = 272
571                     ;  or_if rb2_out _trisb 0
572                     ; line_number = 273
573                     ;  or_if rb2_out _adcon1 15
574                     ; line_number = 274
575                     ;  or_if rb2_out _adcon0 0
576                     ; line_number = 275
577                     ;  or_if rb2_unused _trisb 4
578                     ; line_number = 276
579                     ;  or_if rb2_unused _adcon1 15
580                     ; line_number = 277
581                     ;  or_if rb2_unused _adcon0 0
582                     ; line_number = 278
583                     ; pin rb3_in, rb3_out, pgm, rb3_unused
584                     ; line_number = 279
585                     ; pin_bindings pdip = 24
586                     ; line_number = 280
587                     ;  bind_to _portb@3
588                     ; line_number = 281
589                     ;  or_if rb3_in _trisb 8
590                     ; line_number = 282
591                     ;  or_if rb3_in _adcon1 15
592                     ; line_number = 283
593                     ;  or_if rb3_in _adcon0 0
594                     ; line_number = 284
595                     ;  or_if rb3_out _trisb 0
596                     ; line_number = 285
597                     ;  or_if rb3_out _adcon1 15
598                     ; line_number = 286
599                     ;  or_if rb3_out _adcon0 0
600                     ; line_number = 287
601                     ;  or_if rb3_unused _trisb 8
602                     ; line_number = 288
603                     ;  or_if rb3_unused _adcon1 15
604                     ; line_number = 289
605                     ;  or_if rb3_unused _adcon0 0
606                     ; line_number = 290
607                     ; pin rb4_in, rb4_out, rb4_unused
608                     ; line_number = 291
609                     ; pin_bindings pdip = 25
610                     ; line_number = 292
611                     ;  bind_to _portb@4
612                     ; line_number = 293
613                     ;  or_if rb4_in _trisb 16
614                     ; line_number = 294
615                     ;  or_if rb4_in _adcon1 15
616                     ; line_number = 295
617                     ;  or_if rb4_in _adcon0 0
618                     ; line_number = 296
619                     ;  or_if rb4_out _trisb 0
620                     ; line_number = 297
621                     ;  or_if rb4_out _adcon1 15
622                     ; line_number = 298
623                     ;  or_if rb4_out _adcon0 0
624                     ; line_number = 299
625                     ;  or_if rb4_unused _trisb 16
626                     ; line_number = 300
627                     ;  or_if rb4_unused _adcon1 15
628                     ; line_number = 301
629                     ;  or_if rb4_unused _adcon0 0
630                     ; line_number = 302
631                     ; pin rb5_in, rb5_out, rb5_unused
632                     ; line_number = 303
633                     ; pin_bindings pdip = 26
634                     ; line_number = 304
635                     ;  bind_to _portb@5
636                     ; line_number = 305
637                     ;  or_if rb5_in _trisb 32
638                     ; line_number = 306
639                     ;  or_if rb5_in _adcon1 15
640                     ; line_number = 307
641                     ;  or_if rb5_in _adcon0 0
642                     ; line_number = 308
643                     ;  or_if rb5_out _trisb 0
644                     ; line_number = 309
645                     ;  or_if rb5_out _adcon1 15
646                     ; line_number = 310
647                     ;  or_if rb5_out _adcon0 0
648                     ; line_number = 311
649                     ;  or_if rb5_unused _trisb 32
650                     ; line_number = 312
651                     ;  or_if rb5_unused _adcon1 15
652                     ; line_number = 313
653                     ;  or_if rb5_unused _adcon0 0
654                     ; line_number = 314
655                     ; pin rb6_in, rb6_out, pgc, rb6_unused
656                     ; line_number = 315
657                     ; pin_bindings pdip = 27
658                     ; line_number = 316
659                     ;  bind_to _portb@6
660                     ; line_number = 317
661                     ;  or_if rb6_in _trisb 64
662                     ; line_number = 318
663                     ;  or_if rb6_in _adcon1 15
664                     ; line_number = 319
665                     ;  or_if rb6_in _adcon0 0
666                     ; line_number = 320
667                     ;  or_if rb6_out _trisb 0
668                     ; line_number = 321
669                     ;  or_if rb6_out _adcon1 15
670                     ; line_number = 322
671                     ;  or_if rb6_out _adcon0 0
672                     ; line_number = 323
673                     ;  or_if rb6_unused _trisb 64
674                     ; line_number = 324
675                     ;  or_if rb6_unused _adcon1 15
676                     ; line_number = 325
677                     ;  or_if rb6_unused _adcon0 0
678                     ; line_number = 326
679                     ; pin rb7_in, rb7_out, pgd, rb7_unused
680                     ; line_number = 327
681                     ; pin_bindings pdip = 28
682                     ; line_number = 328
683                     ;  bind_to _portb@7
684                     ; line_number = 329
685                     ;  or_if rb7_in _trisb 128
686                     ; line_number = 330
687                     ;  or_if rb7_in _adcon1 15
688                     ; line_number = 331
689                     ;  or_if rb7_in _adcon0 0
690                     ; line_number = 332
691                     ;  or_if rb7_out _trisb 0
692                     ; line_number = 333
693                     ;  or_if rb7_out _adcon1 15
694                     ; line_number = 334
695                     ;  or_if rb7_out _adcon0 0
696                     ; line_number = 335
697                     ;  or_if rb7_unused _trisb 128
698                     ; line_number = 336
699                     ;  or_if rb7_unused _adcon1 15
700                     ; line_number = 337
701                     ;  or_if rb7_unused _adcon0 0
702             
703                     ; # Register and pin definitions:
704             
705                     ; line_number = 341
706                     ; library _pic16f7x7 entered
707             
708                     ; # Copyright (c) 2004-2006 by Wayne C. Gramlich
709                     ; # All rights reserved.
710             
711                     ; buffer = '_pic16f7x7'
712                     ; line_number = 6
713                     ; library _standard entered
714             
715                     ; # Copyright (c) 2006 by Wayne C. Gramlich
716                     ; # All rights reserved.
717             
718                     ; # Standard definition for uCL:
719             
720                     ; buffer = '_standard'
721                     ; line_number = 8
722                     ; constant _true = (1 = 1)
723  00000001 = _true equ 1
724                     ; line_number = 9
725                     ; constant _false = (0 != 0)
726  00000000 = _false equ 0
727             
728             
729                     ; buffer = '_pic16f7x7'
730                     ; line_number = 6
731                     ; library _standard exited
732             
733                     ; # Common declarations for PIC16F7x7 series microcontrollers:
734             
735                     ; # Register and pin definitions:
736             
737                     ; # Bank 0:
738             
739                     ; line_number = 14
740                     ; register _indf = 
741  00000000 = _indf equ 0
742             
743                     ; line_number = 16
744                     ; register _tmr0 = 
745  00000001 = _tmr0 equ 1
746             
747                     ; line_number = 18
748                     ; register _pcl = 
749  00000002 = _pcl equ 2
750             
751                     ; line_number = 20
752                     ; register _status = 
753  00000003 = _status equ 3
754                     ; line_number = 21
755                     ; bind _irp = _status@7
756  00000003 = _irp___byte equ _status
757  00000007 = _irp___bit equ 7
758                     ; line_number = 22
759                     ; bind _rp1 = _status@6
760  00000003 = _rp1___byte equ _status
761  00000006 = _rp1___bit equ 6
762                     ; line_number = 23
763                     ; bind _rp0 = _status@5
764  00000003 = _rp0___byte equ _status
765  00000005 = _rp0___bit equ 5
766                     ; line_number = 24
767                     ; bind _to = _status@4
768  00000003 = _to___byte equ _status
769  00000004 = _to___bit equ 4
770                     ; line_number = 25
771                     ; bind _pd = _status@3
772  00000003 = _pd___byte equ _status
773  00000003 = _pd___bit equ 3
774                     ; line_number = 26
775                     ; bind _z = _status@2
776  00000003 = _z___byte equ _status
777  00000002 = _z___bit equ 2
778                     ; line_number = 27
779                     ; bind _dc = _status@1
780  00000003 = _dc___byte equ _status
781  00000001 = _dc___bit equ 1
782                     ; line_number = 28
783                     ; bind _c = _status@0
784  00000003 = _c___byte equ _status
785  00000000 = _c___bit equ 0
786             
787                     ; line_number = 30
788                     ; register _fsr = 
789  00000004 = _fsr equ 4
790             
791                     ; line_number = 32
792                     ; register _porta = 
793  00000005 = _porta equ 5
794             
795                     ; line_number = 34
796                     ; register _portb = 
797  00000006 = _portb equ 6
798             
799                     ; line_number = 36
800                     ; register _portc = 
801  00000007 = _portc equ 7
802             
803                     ; line_number = 38
804                     ; register _pclath = 
805  0000000a = _pclath equ 10
806             
807                     ; line_number = 40
808                     ; register _intcon = 
809  0000000b = _intcon equ 11
810                     ; line_number = 41
811                     ; bind _gie = _intcon@7
812  0000000b = _gie___byte equ _intcon
813  00000007 = _gie___bit equ 7
814                     ; line_number = 42
815                     ; bind _peie = _intcon@6
816  0000000b = _peie___byte equ _intcon
817  00000006 = _peie___bit equ 6
818                     ; line_number = 43
819                     ; bind _tmr0ie = _intcon@5
820  0000000b = _tmr0ie___byte equ _intcon
821  00000005 = _tmr0ie___bit equ 5
822                     ; line_number = 44
823                     ; bind _int0ie = _intcon@4
824  0000000b = _int0ie___byte equ _intcon
825  00000004 = _int0ie___bit equ 4
826                     ; line_number = 45
827                     ; bind _rbie = _intcon@3
828  0000000b = _rbie___byte equ _intcon
829  00000003 = _rbie___bit equ 3
830                     ; line_number = 46
831                     ; bind _tmr0if = _intcon@2
832  0000000b = _tmr0if___byte equ _intcon
833  00000002 = _tmr0if___bit equ 2
834                     ; line_number = 47
835                     ; bind _int0if = _intcon@1
836  0000000b = _int0if___byte equ _intcon
837  00000001 = _int0if___bit equ 1
838                     ; line_number = 48
839                     ; bind _rbif = _intcon@0
840  0000000b = _rbif___byte equ _intcon
841  00000000 = _rbif___bit equ 0
842             
843                     ; line_number = 50
844                     ; register _pir1 = 
845  0000000c = _pir1 equ 12
846                     ; line_number = 51
847                     ; bind _pspif = _pir1@7
848  0000000c = _pspif___byte equ _pir1
849  00000007 = _pspif___bit equ 7
850                     ; line_number = 52
851                     ; bind _adif = _pir1@6
852  0000000c = _adif___byte equ _pir1
853  00000006 = _adif___bit equ 6
854                     ; line_number = 53
855                     ; bind _rcif = _pir1@5
856  0000000c = _rcif___byte equ _pir1
857  00000005 = _rcif___bit equ 5
858                     ; line_number = 54
859                     ; bind _txif = _pir1@4
860  0000000c = _txif___byte equ _pir1
861  00000004 = _txif___bit equ 4
862                     ; line_number = 55
863                     ; bind _sspif = _pir1@3
864  0000000c = _sspif___byte equ _pir1
865  00000003 = _sspif___bit equ 3
866                     ; line_number = 56
867                     ; bind _ccp1if = _pir1@2
868  0000000c = _ccp1if___byte equ _pir1
869  00000002 = _ccp1if___bit equ 2
870                     ; line_number = 57
871                     ; bind _tmr2if = _pir1@1
872  0000000c = _tmr2if___byte equ _pir1
873  00000001 = _tmr2if___bit equ 1
874                     ; line_number = 58
875                     ; bind _tmr1if = _pir1@0
876  0000000c = _tmr1if___byte equ _pir1
877  00000000 = _tmr1if___bit equ 0
878             
879                     ; line_number = 60
880                     ; register _pir2 = 
881  0000000d = _pir2 equ 13
882                     ; line_number = 61
883                     ; bind _osif = _pir2@7
884  0000000d = _osif___byte equ _pir2
885  00000007 = _osif___bit equ 7
886                     ; line_number = 62
887                     ; bind _cmif = _pir2@6
888  0000000d = _cmif___byte equ _pir2
889  00000006 = _cmif___bit equ 6
890                     ; line_number = 63
891                     ; bind _lvif = _pir2@5
892  0000000d = _lvif___byte equ _pir2
893  00000005 = _lvif___bit equ 5
894                     ; line_number = 64
895                     ; bind _bclif = _pir2@3
896  0000000d = _bclif___byte equ _pir2
897  00000003 = _bclif___bit equ 3
898                     ; line_number = 65
899                     ; bind _ccp3if = _pir2@1
900  0000000d = _ccp3if___byte equ _pir2
901  00000001 = _ccp3if___bit equ 1
902                     ; line_number = 66
903                     ; bind _ccp2if = _pir2@0
904  0000000d = _ccp2if___byte equ _pir2
905  00000000 = _ccp2if___bit equ 0
906             
907                     ; line_number = 68
908                     ; register _tmr1l = 
909  0000000e = _tmr1l equ 14
910             
911                     ; line_number = 70
912                     ; register _tmr1h = 
913  0000000f = _tmr1h equ 15
914             
915                     ; line_number = 72
916                     ; register _t1con = 
917  00000010 = _t1con equ 16
918                     ; line_number = 73
919                     ; bind _t1run = _t1con@6
920  00000010 = _t1run___byte equ _t1con
921  00000006 = _t1run___bit equ 6
922                     ; line_number = 74
923                     ; bind _t1ckps1 = _t1con@5
924  00000010 = _t1ckps1___byte equ _t1con
925  00000005 = _t1ckps1___bit equ 5
926                     ; line_number = 75
927                     ; bind _t1ckps0 = _t1con@4
928  00000010 = _t1ckps0___byte equ _t1con
929  00000004 = _t1ckps0___bit equ 4
930                     ; line_number = 76
931                     ; bind _t1oscen = _t1con@3
932  00000010 = _t1oscen___byte equ _t1con
933  00000003 = _t1oscen___bit equ 3
934                     ; line_number = 77
935                     ; bind _t1sync = _t1con@2
936  00000010 = _t1sync___byte equ _t1con
937  00000002 = _t1sync___bit equ 2
938                     ; line_number = 78
939                     ; bind _tmr1cs = _t1con@1
940  00000010 = _tmr1cs___byte equ _t1con
941  00000001 = _tmr1cs___bit equ 1
942                     ; line_number = 79
943                     ; bind _tmr1on = _t1con@0
944  00000010 = _tmr1on___byte equ _t1con
945  00000000 = _tmr1on___bit equ 0
946             
947                     ; line_number = 81
948                     ; register _tmr2 = 
949  00000011 = _tmr2 equ 17
950             
951                     ; line_number = 83
952                     ; register _t2con = 
953  00000012 = _t2con equ 18
954                     ; line_number = 84
955                     ; bind _toutps3 = _t2con@6
956  00000012 = _toutps3___byte equ _t2con
957  00000006 = _toutps3___bit equ 6
958                     ; line_number = 85
959                     ; bind _toutps2 = _t2con@5
960  00000012 = _toutps2___byte equ _t2con
961  00000005 = _toutps2___bit equ 5
962                     ; line_number = 86
963                     ; bind _toutps1 = _t2con@4
964  00000012 = _toutps1___byte equ _t2con
965  00000004 = _toutps1___bit equ 4
966                     ; line_number = 87
967                     ; bind _toutps0 = _t2con@3
968  00000012 = _toutps0___byte equ _t2con
969  00000003 = _toutps0___bit equ 3
970                     ; line_number = 88
971                     ; bind _tmr2on = _t2con@2
972  00000012 = _tmr2on___byte equ _t2con
973  00000002 = _tmr2on___bit equ 2
974                     ; line_number = 89
975                     ; bind _t2ckps1 = _t2con@1
976  00000012 = _t2ckps1___byte equ _t2con
977  00000001 = _t2ckps1___bit equ 1
978                     ; line_number = 90
979                     ; bind _t2ckps0 = _t2con@0
980  00000012 = _t2ckps0___byte equ _t2con
981  00000000 = _t2ckps0___bit equ 0
982             
983                     ; line_number = 92
984                     ; register _sspbuf = 
985  00000013 = _sspbuf equ 19
986             
987                     ; line_number = 94
988                     ; register _sspcon = 
989  00000014 = _sspcon equ 20
990                     ; line_number = 95
991                     ; bind _wcol = _sspcon@7
992  00000014 = _wcol___byte equ _sspcon
993  00000007 = _wcol___bit equ 7
994                     ; line_number = 96
995                     ; bind _sspov = _sspcon@6
996  00000014 = _sspov___byte equ _sspcon
997  00000006 = _sspov___bit equ 6
998                     ; line_number = 97
999                     ; bind _sspen = _sspcon@5
1000 00000014 = _sspen___byte equ _sspcon
1001 00000005 = _sspen___bit equ 5
1002                    ; line_number = 98
1003                    ; bind _ckp = _sspcon@4
1004 00000014 = _ckp___byte equ _sspcon
1005 00000004 = _ckp___bit equ 4
1006                    ; line_number = 99
1007                    ; bind _sspm3 = _sspcon@3
1008 00000014 = _sspm3___byte equ _sspcon
1009 00000003 = _sspm3___bit equ 3
1010                    ; line_number = 100
1011                    ; bind _sspm2 = _sspcon@2
1012 00000014 = _sspm2___byte equ _sspcon
1013 00000002 = _sspm2___bit equ 2
1014                    ; line_number = 101
1015                    ; bind _sspm1 = _sspcon@1
1016 00000014 = _sspm1___byte equ _sspcon
1017 00000001 = _sspm1___bit equ 1
1018                    ; line_number = 102
1019                    ; bind _sspm0 = _sspcon@0
1020 00000014 = _sspm0___byte equ _sspcon
1021 00000000 = _sspm0___bit equ 0
1022            
1023                    ; line_number = 104
1024                    ; register _ccpr1l = 
1025 00000015 = _ccpr1l equ 21
1026            
1027                    ; line_number = 106
1028                    ; register _ccpr1h = 
1029 00000016 = _ccpr1h equ 22
1030            
1031                    ; line_number = 108
1032                    ; register _ccp1con = 
1033 00000017 = _ccp1con equ 23
1034                    ; line_number = 109
1035                    ; bind _ccp1x = _ccp1con@5
1036 00000017 = _ccp1x___byte equ _ccp1con
1037 00000005 = _ccp1x___bit equ 5
1038                    ; line_number = 110
1039                    ; bind _ccp1y = _ccp1con@4
1040 00000017 = _ccp1y___byte equ _ccp1con
1041 00000004 = _ccp1y___bit equ 4
1042                    ; line_number = 111
1043                    ; bind _ccp1m3 = _ccp1con@3
1044 00000017 = _ccp1m3___byte equ _ccp1con
1045 00000003 = _ccp1m3___bit equ 3
1046                    ; line_number = 112
1047                    ; bind _ccp1m2 = _ccp1con@2
1048 00000017 = _ccp1m2___byte equ _ccp1con
1049 00000002 = _ccp1m2___bit equ 2
1050                    ; line_number = 113
1051                    ; bind _ccp1m1 = _ccp1con@1
1052 00000017 = _ccp1m1___byte equ _ccp1con
1053 00000001 = _ccp1m1___bit equ 1
1054                    ; line_number = 114
1055                    ; bind _ccp1m0 = _ccp1con@0
1056 00000017 = _ccp1m0___byte equ _ccp1con
1057 00000000 = _ccp1m0___bit equ 0
1058            
1059                    ; line_number = 116
1060                    ; register _rcsta = 
1061 00000018 = _rcsta equ 24
1062                    ; line_number = 117
1063                    ; bind _spen = _rcsta@7
1064 00000018 = _spen___byte equ _rcsta
1065 00000007 = _spen___bit equ 7
1066                    ; line_number = 118
1067                    ; bind _rx9 = _rcsta@6
1068 00000018 = _rx9___byte equ _rcsta
1069 00000006 = _rx9___bit equ 6
1070                    ; line_number = 119
1071                    ; bind _sren = _rcsta@5
1072 00000018 = _sren___byte equ _rcsta
1073 00000005 = _sren___bit equ 5
1074                    ; line_number = 120
1075                    ; bind _cren = _rcsta@4
1076 00000018 = _cren___byte equ _rcsta
1077 00000004 = _cren___bit equ 4
1078                    ; line_number = 121
1079                    ; bind _adden = _rcsta@3
1080 00000018 = _adden___byte equ _rcsta
1081 00000003 = _adden___bit equ 3
1082                    ; line_number = 122
1083                    ; bind _ferr = _rcsta@2
1084 00000018 = _ferr___byte equ _rcsta
1085 00000002 = _ferr___bit equ 2
1086                    ; line_number = 123
1087                    ; bind _oerr = _rcsta@1
1088 00000018 = _oerr___byte equ _rcsta
1089 00000001 = _oerr___bit equ 1
1090                    ; line_number = 124
1091                    ; bind _rx9d = _rcsta@0
1092 00000018 = _rx9d___byte equ _rcsta
1093 00000000 = _rx9d___bit equ 0
1094            
1095                    ; line_number = 126
1096                    ; register _txreg = 
1097 00000019 = _txreg equ 25
1098            
1099                    ; line_number = 128
1100                    ; register _rcreg = 
1101 0000001a = _rcreg equ 26
1102            
1103                    ; line_number = 130
1104                    ; register _ccpr2l = 
1105 0000001b = _ccpr2l equ 27
1106            
1107                    ; line_number = 132
1108                    ; register _ccpr2h = 
1109 0000001c = _ccpr2h equ 28
1110            
1111                    ; line_number = 134
1112                    ; register _ccp2con = 
1113 0000001d = _ccp2con equ 29
1114                    ; line_number = 135
1115                    ; bind _ccp2x = _ccp2con@5
1116 0000001d = _ccp2x___byte equ _ccp2con
1117 00000005 = _ccp2x___bit equ 5
1118                    ; line_number = 136
1119                    ; bind _ccp2y = _ccp2con@4
1120 0000001d = _ccp2y___byte equ _ccp2con
1121 00000004 = _ccp2y___bit equ 4
1122                    ; line_number = 137
1123                    ; bind _ccp2m3 = _ccp2con@3
1124 0000001d = _ccp2m3___byte equ _ccp2con
1125 00000003 = _ccp2m3___bit equ 3
1126                    ; line_number = 138
1127                    ; bind _ccp2m2 = _ccp2con@2
1128 0000001d = _ccp2m2___byte equ _ccp2con
1129 00000002 = _ccp2m2___bit equ 2
1130                    ; line_number = 139
1131                    ; bind _ccp2m1 = _ccp2con@1
1132 0000001d = _ccp2m1___byte equ _ccp2con
1133 00000001 = _ccp2m1___bit equ 1
1134                    ; line_number = 140
1135                    ; bind _ccp2m0 = _ccp2con@0
1136 0000001d = _ccp2m0___byte equ _ccp2con
1137 00000000 = _ccp2m0___bit equ 0
1138            
1139                    ; line_number = 142
1140                    ; register _adresh = 
1141 0000001e = _adresh equ 30
1142            
1143                    ; line_number = 144
1144                    ; register _adcon0 = 
1145 0000001f = _adcon0 equ 31
1146                    ; line_number = 145
1147                    ; bind _adcs1 = _adcon0@7
1148 0000001f = _adcs1___byte equ _adcon0
1149 00000007 = _adcs1___bit equ 7
1150                    ; line_number = 146
1151                    ; bind _adcs0 = _adcon0@6
1152 0000001f = _adcs0___byte equ _adcon0
1153 00000006 = _adcs0___bit equ 6
1154                    ; line_number = 147
1155                    ; bind _chs2 = _adcon0@5
1156 0000001f = _chs2___byte equ _adcon0
1157 00000005 = _chs2___bit equ 5
1158                    ; line_number = 148
1159                    ; bind _chs1 = _adcon0@4
1160 0000001f = _chs1___byte equ _adcon0
1161 00000004 = _chs1___bit equ 4
1162                    ; line_number = 149
1163                    ; bind _chs0 = _adcon0@3
1164 0000001f = _chs0___byte equ _adcon0
1165 00000003 = _chs0___bit equ 3
1166                    ; line_number = 150
1167                    ; bind _go_done = _adcon0@2
1168 0000001f = _go_done___byte equ _adcon0
1169 00000002 = _go_done___bit equ 2
1170                    ; line_number = 151
1171                    ; bind _adon = _adcon0@0
1172 0000001f = _adon___byte equ _adcon0
1173 00000000 = _adon___bit equ 0
1174            
1175                    ; # Bank 1:
1176            
1177                    ; line_number = 155
1178                    ; register _option_reg = 
1179 00000081 = _option_reg equ 129
1180                    ; line_number = 156
1181                    ; bind _rbpu = _option_reg@7
1182 00000081 = _rbpu___byte equ _option_reg
1183 00000007 = _rbpu___bit equ 7
1184                    ; line_number = 157
1185                    ; bind _intedg = _option_reg@6
1186 00000081 = _intedg___byte equ _option_reg
1187 00000006 = _intedg___bit equ 6
1188                    ; line_number = 158
1189                    ; bind _t0cs = _option_reg@5
1190 00000081 = _t0cs___byte equ _option_reg
1191 00000005 = _t0cs___bit equ 5
1192                    ; line_number = 159
1193                    ; bind _t0se = _option_reg@4
1194 00000081 = _t0se___byte equ _option_reg
1195 00000004 = _t0se___bit equ 4
1196                    ; line_number = 160
1197                    ; bind _psa = _option_reg@3
1198 00000081 = _psa___byte equ _option_reg
1199 00000003 = _psa___bit equ 3
1200                    ; line_number = 161
1201                    ; bind _ps2 = _option_reg@2
1202 00000081 = _ps2___byte equ _option_reg
1203 00000002 = _ps2___bit equ 2
1204                    ; line_number = 162
1205                    ; bind _ps1 = _option_reg@1
1206 00000081 = _ps1___byte equ _option_reg
1207 00000001 = _ps1___bit equ 1
1208                    ; line_number = 163
1209                    ; bind _ps0 = _option_reg@0
1210 00000081 = _ps0___byte equ _option_reg
1211 00000000 = _ps0___bit equ 0
1212            
1213                    ; line_number = 165
1214                    ; register _trisa = 
1215 00000085 = _trisa equ 133
1216                    ; line_number = 166
1217                    ; bind _trisa7 = _trisa@7
1218 00000085 = _trisa7___byte equ _trisa
1219 00000007 = _trisa7___bit equ 7
1220                    ; line_number = 167
1221                    ; bind _trisa6 = _trisa@6
1222 00000085 = _trisa6___byte equ _trisa
1223 00000006 = _trisa6___bit equ 6
1224                    ; line_number = 168
1225                    ; bind _trisa5 = _trisa@5
1226 00000085 = _trisa5___byte equ _trisa
1227 00000005 = _trisa5___bit equ 5
1228                    ; line_number = 169
1229                    ; bind _trisa4 = _trisa@4
1230 00000085 = _trisa4___byte equ _trisa
1231 00000004 = _trisa4___bit equ 4
1232                    ; line_number = 170
1233                    ; bind _trisa3 = _trisa@3
1234 00000085 = _trisa3___byte equ _trisa
1235 00000003 = _trisa3___bit equ 3
1236                    ; line_number = 171
1237                    ; bind _trisa2 = _trisa@2
1238 00000085 = _trisa2___byte equ _trisa
1239 00000002 = _trisa2___bit equ 2
1240                    ; line_number = 172
1241                    ; bind _trisa1 = _trisa@1
1242 00000085 = _trisa1___byte equ _trisa
1243 00000001 = _trisa1___bit equ 1
1244                    ; line_number = 173
1245                    ; bind _trisa0 = _trisa@0
1246 00000085 = _trisa0___byte equ _trisa
1247 00000000 = _trisa0___bit equ 0
1248            
1249                    ; line_number = 175
1250                    ; register _trisb = 
1251 00000086 = _trisb equ 134
1252            
1253                    ; line_number = 177
1254                    ; register _trisc = 
1255 00000087 = _trisc equ 135
1256                    ; line_number = 178
1257                    ; bind _trisc7 = _trisc@7
1258 00000087 = _trisc7___byte equ _trisc
1259 00000007 = _trisc7___bit equ 7
1260                    ; line_number = 179
1261                    ; bind _trisc6 = _trisc@6
1262 00000087 = _trisc6___byte equ _trisc
1263 00000006 = _trisc6___bit equ 6
1264                    ; line_number = 180
1265                    ; bind _trisc5 = _trisc@5
1266 00000087 = _trisc5___byte equ _trisc
1267 00000005 = _trisc5___bit equ 5
1268                    ; line_number = 181
1269                    ; bind _trisc4 = _trisc@4
1270 00000087 = _trisc4___byte equ _trisc
1271 00000004 = _trisc4___bit equ 4
1272                    ; line_number = 182
1273                    ; bind _trisc3 = _trisc@3
1274 00000087 = _trisc3___byte equ _trisc
1275 00000003 = _trisc3___bit equ 3
1276                    ; line_number = 183
1277                    ; bind _trisc2 = _trisc@2
1278 00000087 = _trisc2___byte equ _trisc
1279 00000002 = _trisc2___bit equ 2
1280                    ; line_number = 184
1281                    ; bind _trisc1 = _trisc@1
1282 00000087 = _trisc1___byte equ _trisc
1283 00000001 = _trisc1___bit equ 1
1284                    ; line_number = 185
1285                    ; bind _trisc0 = _trisc@0
1286 00000087 = _trisc0___byte equ _trisc
1287 00000000 = _trisc0___bit equ 0
1288            
1289                    ; line_number = 187
1290                    ; register _pie1 = 
1291 0000008c = _pie1 equ 140
1292                    ; line_number = 188
1293                    ; bind _pspie = _pie1@7
1294 0000008c = _pspie___byte equ _pie1
1295 00000007 = _pspie___bit equ 7
1296                    ; line_number = 189
1297                    ; bind _adie = _pie1@6
1298 0000008c = _adie___byte equ _pie1
1299 00000006 = _adie___bit equ 6
1300                    ; line_number = 190
1301                    ; bind _rcie = _pie1@5
1302 0000008c = _rcie___byte equ _pie1
1303 00000005 = _rcie___bit equ 5
1304                    ; line_number = 191
1305                    ; bind _txie = _pie1@4
1306 0000008c = _txie___byte equ _pie1
1307 00000004 = _txie___bit equ 4
1308                    ; line_number = 192
1309                    ; bind _sspie = _pie1@3
1310 0000008c = _sspie___byte equ _pie1
1311 00000003 = _sspie___bit equ 3
1312                    ; line_number = 193
1313                    ; bind _ccp1ie = _pie1@2
1314 0000008c = _ccp1ie___byte equ _pie1
1315 00000002 = _ccp1ie___bit equ 2
1316                    ; line_number = 194
1317                    ; bind _tmr2ie = _pie1@1
1318 0000008c = _tmr2ie___byte equ _pie1
1319 00000001 = _tmr2ie___bit equ 1
1320                    ; line_number = 195
1321                    ; bind _tmr1ie = _pie1@0
1322 0000008c = _tmr1ie___byte equ _pie1
1323 00000000 = _tmr1ie___bit equ 0
1324            
1325                    ; line_number = 197
1326                    ; register _pie2 = 
1327 0000008d = _pie2 equ 141
1328                    ; line_number = 198
1329                    ; bind _osfie = _pie2@7
1330 0000008d = _osfie___byte equ _pie2
1331 00000007 = _osfie___bit equ 7
1332                    ; line_number = 199
1333                    ; bind _cmie = _pie2@6
1334 0000008d = _cmie___byte equ _pie2
1335 00000006 = _cmie___bit equ 6
1336                    ; line_number = 200
1337                    ; bind _lvdie = _pie2@5
1338 0000008d = _lvdie___byte equ _pie2
1339 00000005 = _lvdie___bit equ 5
1340                    ; line_number = 201
1341                    ; bind _bclie = _pie2@3
1342 0000008d = _bclie___byte equ _pie2
1343 00000003 = _bclie___bit equ 3
1344                    ; line_number = 202
1345                    ; bind _ccp3ie = _pie2@1
1346 0000008d = _ccp3ie___byte equ _pie2
1347 00000001 = _ccp3ie___bit equ 1
1348                    ; line_number = 203
1349                    ; bind _ccp2ie = _pie2@0
1350 0000008d = _ccp2ie___byte equ _pie2
1351 00000000 = _ccp2ie___bit equ 0
1352            
1353                    ; line_number = 205
1354                    ; register _pcon = 
1355 0000008e = _pcon equ 142
1356                    ; line_number = 206
1357                    ; bind _sboren = _pcon@2
1358 0000008e = _sboren___byte equ _pcon
1359 00000002 = _sboren___bit equ 2
1360                    ; line_number = 207
1361                    ; bind _por = _pcon@1
1362 0000008e = _por___byte equ _pcon
1363 00000001 = _por___bit equ 1
1364                    ; line_number = 208
1365                    ; bind _bor = _pcon@0
1366 0000008e = _bor___byte equ _pcon
1367 00000000 = _bor___bit equ 0
1368            
1369                    ; line_number = 210
1370                    ; register _osccon = 
1371 0000008f = _osccon equ 143
1372                    ; line_number = 211
1373                    ; bind _ircf2 = _osccon@6
1374 0000008f = _ircf2___byte equ _osccon
1375 00000006 = _ircf2___bit equ 6
1376                    ; line_number = 212
1377                    ; bind _ircf1 = _osccon@5
1378 0000008f = _ircf1___byte equ _osccon
1379 00000005 = _ircf1___bit equ 5
1380                    ; line_number = 213
1381                    ; bind _ircf0 = _osccon@4
1382 0000008f = _ircf0___byte equ _osccon
1383 00000004 = _ircf0___bit equ 4
1384                    ; line_number = 214
1385                    ; bind _osts = _osccon@3
1386 0000008f = _osts___byte equ _osccon
1387 00000003 = _osts___bit equ 3
1388                    ; line_number = 215
1389                    ; bind _iofs = _osccon@2
1390 0000008f = _iofs___byte equ _osccon
1391 00000002 = _iofs___bit equ 2
1392                    ; line_number = 216
1393                    ; bind _scs1 = _osccon@1
1394 0000008f = _scs1___byte equ _osccon
1395 00000001 = _scs1___bit equ 1
1396                    ; line_number = 217
1397                    ; bind _scs0 = _osccon@0
1398 0000008f = _scs0___byte equ _osccon
1399 00000000 = _scs0___bit equ 0
1400            
1401                    ; line_number = 219
1402                    ; register _osctune = 
1403 00000090 = _osctune equ 144
1404                    ; line_number = 220
1405                    ; bind _tun5 = _osctune@5
1406 00000090 = _tun5___byte equ _osctune
1407 00000005 = _tun5___bit equ 5
1408                    ; line_number = 221
1409                    ; bind _tun4 = _osctune@4
1410 00000090 = _tun4___byte equ _osctune
1411 00000004 = _tun4___bit equ 4
1412                    ; line_number = 222
1413                    ; bind _tun3 = _osctune@3
1414 00000090 = _tun3___byte equ _osctune
1415 00000003 = _tun3___bit equ 3
1416                    ; line_number = 223
1417                    ; bind _tun2 = _osctune@2
1418 00000090 = _tun2___byte equ _osctune
1419 00000002 = _tun2___bit equ 2
1420                    ; line_number = 224
1421                    ; bind _tun1 = _osctune@1
1422 00000090 = _tun1___byte equ _osctune
1423 00000001 = _tun1___bit equ 1
1424                    ; line_number = 225
1425                    ; bind _tun0 = _osctune@0
1426 00000090 = _tun0___byte equ _osctune
1427 00000000 = _tun0___bit equ 0
1428            
1429                    ; line_number = 227
1430                    ; register _sspcon2 = 
1431 00000091 = _sspcon2 equ 145
1432                    ; line_number = 228
1433                    ; bind _gcen = _sspcon2@7
1434 00000091 = _gcen___byte equ _sspcon2
1435 00000007 = _gcen___bit equ 7
1436                    ; line_number = 229
1437                    ; bind _ackstat = _sspcon2@6
1438 00000091 = _ackstat___byte equ _sspcon2
1439 00000006 = _ackstat___bit equ 6
1440                    ; line_number = 230
1441                    ; bind _ackdt = _sspcon2@5
1442 00000091 = _ackdt___byte equ _sspcon2
1443 00000005 = _ackdt___bit equ 5
1444                    ; line_number = 231
1445                    ; bind _acken = _sspcon2@4
1446 00000091 = _acken___byte equ _sspcon2
1447 00000004 = _acken___bit equ 4
1448                    ; line_number = 232
1449                    ; bind _rcen = _sspcon2@3
1450 00000091 = _rcen___byte equ _sspcon2
1451 00000003 = _rcen___bit equ 3
1452                    ; line_number = 233
1453                    ; bind _pen = _sspcon2@2
1454 00000091 = _pen___byte equ _sspcon2
1455 00000002 = _pen___bit equ 2
1456                    ; line_number = 234
1457                    ; bind _rsen = _sspcon2@1
1458 00000091 = _rsen___byte equ _sspcon2
1459 00000001 = _rsen___bit equ 1
1460                    ; line_number = 235
1461                    ; bind _sen = _sspcon2@0
1462 00000091 = _sen___byte equ _sspcon2
1463 00000000 = _sen___bit equ 0
1464            
1465                    ; line_number = 237
1466                    ; register _pr2 = 
1467 00000092 = _pr2 equ 146
1468            
1469                    ; line_number = 239
1470                    ; register _sspadd = 
1471 00000093 = _sspadd equ 147
1472            
1473                    ; line_number = 241
1474                    ; register _sspstat = 
1475 00000094 = _sspstat equ 148
1476                    ; line_number = 242
1477                    ; bind _smp = _sspstat@7
1478 00000094 = _smp___byte equ _sspstat
1479 00000007 = _smp___bit equ 7
1480                    ; line_number = 243
1481                    ; bind _cke = _sspstat@6
1482 00000094 = _cke___byte equ _sspstat
1483 00000006 = _cke___bit equ 6
1484                    ; line_number = 244
1485                    ; bind _da = _sspstat@5
1486 00000094 = _da___byte equ _sspstat
1487 00000005 = _da___bit equ 5
1488                    ; line_number = 245
1489                    ; bind _p = _sspstat@4
1490 00000094 = _p___byte equ _sspstat
1491 00000004 = _p___bit equ 4
1492                    ; line_number = 246
1493                    ; bind _s = _sspstat@3
1494 00000094 = _s___byte equ _sspstat
1495 00000003 = _s___bit equ 3
1496                    ; line_number = 247
1497                    ; bind _rw = _sspstat@2
1498 00000094 = _rw___byte equ _sspstat
1499 00000002 = _rw___bit equ 2
1500                    ; line_number = 248
1501                    ; bind _ua = _sspstat@1
1502 00000094 = _ua___byte equ _sspstat
1503 00000001 = _ua___bit equ 1
1504                    ; line_number = 249
1505                    ; bind _bf = _sspstat@0
1506 00000094 = _bf___byte equ _sspstat
1507 00000000 = _bf___bit equ 0
1508            
1509                    ; line_number = 251
1510                    ; register _ccpr3l = 
1511 00000095 = _ccpr3l equ 149
1512            
1513                    ; line_number = 253
1514                    ; register _ccpr3h = 
1515 00000096 = _ccpr3h equ 150
1516            
1517                    ; line_number = 255
1518                    ; register _ccp3con = 
1519 00000096 = _ccp3con equ 150
1520                    ; line_number = 256
1521                    ; bind _ccp3x = _ccp3con@5
1522 00000096 = _ccp3x___byte equ _ccp3con
1523 00000005 = _ccp3x___bit equ 5
1524                    ; line_number = 257
1525                    ; bind _ccp3y = _ccp3con@4
1526 00000096 = _ccp3y___byte equ _ccp3con
1527 00000004 = _ccp3y___bit equ 4
1528                    ; line_number = 258
1529                    ; bind _ccp3m3 = _ccp3con@3
1530 00000096 = _ccp3m3___byte equ _ccp3con
1531 00000003 = _ccp3m3___bit equ 3
1532                    ; line_number = 259
1533                    ; bind _ccp3m2 = _ccp3con@2
1534 00000096 = _ccp3m2___byte equ _ccp3con
1535 00000002 = _ccp3m2___bit equ 2
1536                    ; line_number = 260
1537                    ; bind _ccp3m1 = _ccp3con@1
1538 00000096 = _ccp3m1___byte equ _ccp3con
1539 00000001 = _ccp3m1___bit equ 1
1540                    ; line_number = 261
1541                    ; bind _ccp3m0 = _ccp3con@0
1542 00000096 = _ccp3m0___byte equ _ccp3con
1543 00000000 = _ccp3m0___bit equ 0
1544            
1545                    ; line_number = 263
1546                    ; register _txsta = 
1547 00000098 = _txsta equ 152
1548                    ; line_number = 264
1549                    ; bind _csrc = _txsta@7
1550 00000098 = _csrc___byte equ _txsta
1551 00000007 = _csrc___bit equ 7
1552                    ; line_number = 265
1553                    ; bind _tx9 = _txsta@6
1554 00000098 = _tx9___byte equ _txsta
1555 00000006 = _tx9___bit equ 6
1556                    ; line_number = 266
1557                    ; bind _txen = _txsta@5
1558 00000098 = _txen___byte equ _txsta
1559 00000005 = _txen___bit equ 5
1560                    ; line_number = 267
1561                    ; bind _sync = _txsta@4
1562 00000098 = _sync___byte equ _txsta
1563 00000004 = _sync___bit equ 4
1564                    ; line_number = 268
1565                    ; bind _brgh = _txsta@2
1566 00000098 = _brgh___byte equ _txsta
1567 00000002 = _brgh___bit equ 2
1568                    ; line_number = 269
1569                    ; bind _trmt = _txsta@1
1570 00000098 = _trmt___byte equ _txsta
1571 00000001 = _trmt___bit equ 1
1572                    ; line_number = 270
1573                    ; bind _tx9d = _txsta@0
1574 00000098 = _tx9d___byte equ _txsta
1575 00000000 = _tx9d___bit equ 0
1576            
1577                    ; line_number = 272
1578                    ; register _spbrg = 
1579 00000099 = _spbrg equ 153
1580            
1581                    ; line_number = 274
1582                    ; register _adcon2 = 
1583 0000009b = _adcon2 equ 155
1584                    ; line_number = 275
1585                    ; bind _acqt2 = _adcon2@5
1586 0000009b = _acqt2___byte equ _adcon2
1587 00000005 = _acqt2___bit equ 5
1588                    ; line_number = 276
1589                    ; bind _acqt1 = _adcon2@4
1590 0000009b = _acqt1___byte equ _adcon2
1591 00000004 = _acqt1___bit equ 4
1592                    ; line_number = 277
1593                    ; bind _acqt0 = _adcon2@3
1594 0000009b = _acqt0___byte equ _adcon2
1595 00000003 = _acqt0___bit equ 3
1596            
1597                    ; line_number = 279
1598                    ; register _cmcon = 
1599 0000009c = _cmcon equ 156
1600                    ; line_number = 280
1601                    ; bind _c2out = _cmcon@7
1602 0000009c = _c2out___byte equ _cmcon
1603 00000007 = _c2out___bit equ 7
1604                    ; line_number = 281
1605                    ; bind _c1out = _cmcon@6
1606 0000009c = _c1out___byte equ _cmcon
1607 00000006 = _c1out___bit equ 6
1608                    ; line_number = 282
1609                    ; bind _c2inv = _cmcon@5
1610 0000009c = _c2inv___byte equ _cmcon
1611 00000005 = _c2inv___bit equ 5
1612                    ; line_number = 283
1613                    ; bind _c1inv = _cmcon@4
1614 0000009c = _c1inv___byte equ _cmcon
1615 00000004 = _c1inv___bit equ 4
1616                    ; line_number = 284
1617                    ; bind _cis = _cmcon@3
1618 0000009c = _cis___byte equ _cmcon
1619 00000003 = _cis___bit equ 3
1620                    ; line_number = 285
1621                    ; bind _cm2 = _cmcon@2
1622 0000009c = _cm2___byte equ _cmcon
1623 00000002 = _cm2___bit equ 2
1624                    ; line_number = 286
1625                    ; bind _cm1 = _cmcon@1
1626 0000009c = _cm1___byte equ _cmcon
1627 00000001 = _cm1___bit equ 1
1628                    ; line_number = 287
1629                    ; bind _cm0 = _cmcon@0
1630 0000009c = _cm0___byte equ _cmcon
1631 00000000 = _cm0___bit equ 0
1632            
1633                    ; line_number = 289
1634                    ; register _cvrcon = 
1635 0000009d = _cvrcon equ 157
1636                    ; line_number = 290
1637                    ; bind _cvren = _cvrcon@7
1638 0000009d = _cvren___byte equ _cvrcon
1639 00000007 = _cvren___bit equ 7
1640                    ; line_number = 291
1641                    ; bind _cvroe = _cvrcon@6
1642 0000009d = _cvroe___byte equ _cvrcon
1643 00000006 = _cvroe___bit equ 6
1644                    ; line_number = 292
1645                    ; bind _cvrr = _cvrcon@5
1646 0000009d = _cvrr___byte equ _cvrcon
1647 00000005 = _cvrr___bit equ 5
1648                    ; line_number = 293
1649                    ; bind _cvr3 = _cvrcon@3
1650 0000009d = _cvr3___byte equ _cvrcon
1651 00000003 = _cvr3___bit equ 3
1652                    ; line_number = 294
1653                    ; bind _cvr2 = _cvrcon@2
1654 0000009d = _cvr2___byte equ _cvrcon
1655 00000002 = _cvr2___bit equ 2
1656                    ; line_number = 295
1657                    ; bind _cvr1 = _cvrcon@1
1658 0000009d = _cvr1___byte equ _cvrcon
1659 00000001 = _cvr1___bit equ 1
1660                    ; line_number = 296
1661                    ; bind _cvr0 = _cvrcon@0
1662 0000009d = _cvr0___byte equ _cvrcon
1663 00000000 = _cvr0___bit equ 0
1664            
1665                    ; line_number = 298
1666                    ; register _adresl = 
1667 0000009e = _adresl equ 158
1668            
1669                    ; line_number = 300
1670                    ; register _adcon1 = 
1671 0000009f = _adcon1 equ 159
1672                    ; line_number = 301
1673                    ; bind _adfm = _adcon1@7
1674 0000009f = _adfm___byte equ _adcon1
1675 00000007 = _adfm___bit equ 7
1676                    ; line_number = 302
1677                    ; bind _adcs2 = _adcon1@6
1678 0000009f = _adcs2___byte equ _adcon1
1679 00000006 = _adcs2___bit equ 6
1680                    ; line_number = 303
1681                    ; bind _vfg1 = _adcon1@5
1682 0000009f = _vfg1___byte equ _adcon1
1683 00000005 = _vfg1___bit equ 5
1684                    ; line_number = 304
1685                    ; bind _vfg0 = _adcon1@4
1686 0000009f = _vfg0___byte equ _adcon1
1687 00000004 = _vfg0___bit equ 4
1688                    ; line_number = 305
1689                    ; bind _pcfg3 = _adcon1@3
1690 0000009f = _pcfg3___byte equ _adcon1
1691 00000003 = _pcfg3___bit equ 3
1692                    ; line_number = 306
1693                    ; bind _pcfg2 = _adcon1@2
1694 0000009f = _pcfg2___byte equ _adcon1
1695 00000002 = _pcfg2___bit equ 2
1696                    ; line_number = 307
1697                    ; bind _pcfg1 = _adcon1@1
1698 0000009f = _pcfg1___byte equ _adcon1
1699 00000001 = _pcfg1___bit equ 1
1700                    ; line_number = 308
1701                    ; bind _pcfg0 = _adcon1@0
1702 0000009f = _pcfg0___byte equ _adcon1
1703 00000000 = _pcfg0___bit equ 0
1704            
1705                    ; # Bank 2:
1706            
1707                    ; line_number = 312
1708                    ; register _wdtcon = 
1709 00000105 = _wdtcon equ 261
1710                    ; line_number = 313
1711                    ; bind _wdtps3 = _wdtcon@4
1712 00000105 = _wdtps3___byte equ _wdtcon
1713 00000004 = _wdtps3___bit equ 4
1714                    ; line_number = 314
1715                    ; bind _wdtps2 = _wdtcon@3
1716 00000105 = _wdtps2___byte equ _wdtcon
1717 00000003 = _wdtps2___bit equ 3
1718                    ; line_number = 315
1719                    ; bind _wdtps1 = _wdtcon@2
1720 00000105 = _wdtps1___byte equ _wdtcon
1721 00000002 = _wdtps1___bit equ 2
1722                    ; line_number = 316
1723                    ; bind _wdtps0 = _wdtcon@1
1724 00000105 = _wdtps0___byte equ _wdtcon
1725 00000001 = _wdtps0___bit equ 1
1726                    ; line_number = 317
1727                    ; bind _swdten = _wdtcon@0
1728 00000105 = _swdten___byte equ _wdtcon
1729 00000000 = _swdten___bit equ 0
1730            
1731                    ; line_number = 319
1732                    ; register _lvdcon = 
1733 00000109 = _lvdcon equ 265
1734                    ; line_number = 320
1735                    ; bind _irvst = _lvdcon@5
1736 00000109 = _irvst___byte equ _lvdcon
1737 00000005 = _irvst___bit equ 5
1738                    ; line_number = 321
1739                    ; bind _lvden = _lvdcon@4
1740 00000109 = _lvden___byte equ _lvdcon
1741 00000004 = _lvden___bit equ 4
1742                    ; line_number = 322
1743                    ; bind _lvdl3 = _lvdcon@3
1744 00000109 = _lvdl3___byte equ _lvdcon
1745 00000003 = _lvdl3___bit equ 3
1746                    ; line_number = 323
1747                    ; bind _lvdl2 = _lvdcon@2
1748 00000109 = _lvdl2___byte equ _lvdcon
1749 00000002 = _lvdl2___bit equ 2
1750                    ; line_number = 324
1751                    ; bind _lvdl1 = _lvdcon@1
1752 00000109 = _lvdl1___byte equ _lvdcon
1753 00000001 = _lvdl1___bit equ 1
1754                    ; line_number = 325
1755                    ; bind _lvdl0 = _lvdcon@0
1756 00000109 = _lvdl0___byte equ _lvdcon
1757 00000000 = _lvdl0___bit equ 0
1758            
1759                    ; line_number = 327
1760                    ; register _pmdata = 
1761 0000010c = _pmdata equ 268
1762            
1763                    ; line_number = 329
1764                    ; register _pmadr = 
1765 0000010d = _pmadr equ 269
1766            
1767                    ; line_number = 331
1768                    ; register _pmdath = 
1769 0000010e = _pmdath equ 270
1770            
1771                    ; line_number = 333
1772                    ; register _pmadrh = 
1773 0000010f = _pmadrh equ 271
1774            
1775                    ; # Bank 3:
1776            
1777                    ; line_number = 337
1778                    ; register _pmcon1 = 
1779 0000018c = _pmcon1 equ 396
1780                    ; line_number = 338
1781                    ; bind _rd = _pmcon1@0
1782 0000018c = _rd___byte equ _pmcon1
1783 00000000 = _rd___bit equ 0
1784            
1785            
1786            
1787                    ; buffer = '_pic16f767'
1788                    ; line_number = 341
1789                    ; library _pic16f7x7 exited
1790            
1791            
1792                    ; buffer = 'shaft2'
1793                    ; line_number = 6
1794                    ; library _pic16f767 exited
1795                    ; line_number = 7
1796                    ; library clock20mhz entered
1797                    ; # Copyright (c) 2004 by Wayne C. Gramlich
1798                    ; # All rights reserved.
1799            
1800                    ; # This library defines the contstants {clock_rate}, {instruction_rate},
1801                    ; # and {clocks_per_instruction}.
1802            
1803                    ; # Define processor constants:
1804                    ; buffer = 'clock20mhz'
1805                    ; line_number = 9
1806                    ; constant clock_rate = 20000000
1807 01312d00 = clock_rate equ 20000000
1808                    ; line_number = 10
1809                    ; constant clocks_per_instruction = 4
1810 00000004 = clocks_per_instruction equ 4
1811                    ; line_number = 11
1812                    ; constant instruction_rate = clock_rate / clocks_per_instruction
1813 004c4b40 = instruction_rate equ 5000000
1814            
1815            
1816                    ; buffer = 'shaft2'
1817                    ; line_number = 7
1818                    ; library clock20mhz exited
1819                    ; line_number = 8
1820                    ; library _uart entered
1821                    ; # Copyright (c) 2004 by Wayne C. Gramlich.
1822                    ; # All rights reserved.
1823            
1824                    ; # This library contains some procedures for accessing the UART.
1825            
1826                    ; Delaying code generation for procedure  _uart_byte_safe_get
1827                    ; Delaying code generation for procedure  _uart_byte_get
1828                    ; Delaying code generation for procedure  _uart_hex_put
1829                    ; Delaying code generation for procedure  _uart_nibble_put
1830                    ; Delaying code generation for procedure  _uart_space_put
1831                    ; Delaying code generation for procedure  _uart_crlf_put
1832                    ; Delaying code generation for procedure  _uart_byte_put
1833            
1834                    ; line_number = 8
1835                    ; library _uart exited
1836            
1837                    ; # Pin definitions:
1838            
1839                    ; line_number = 12
1840                    ; package pdip
1841                    ; line_number = 13
1842                    ; pin 1 = mclr
1843                    ; line_number = 14
1844                    ;  pin 2 = ra0_unused
1845                    ; line_number = 15
1846                    ;  pin 3 = ra1_unused
1847                    ; line_number = 16
1848                    ;  pin 4 = ra2_unused
1849                    ; line_number = 17
1850                    ;  pin 5 = ra3_unused
1851                    ; line_number = 18
1852                    ;  pin 6 = ra4_unused
1853                    ; line_number = 19
1854                    ;  pin 7 = ra5_unused
1855                    ; line_number = 20
1856                    ;  pin 8 = ground
1857                    ; line_number = 21
1858                    ;  pin 9 = osc1
1859                    ; line_number = 22
1860                    ;  pin 10 = osc2
1861                    ; line_number = 23
1862                    ;  pin 11 = rc0_unused
1863                    ; line_number = 24
1864                    ;  pin 12 = rc1_unused
1865                    ; line_number = 25
1866                    ;  pin 13 = rc2_unused
1867                    ; line_number = 26
1868                    ;  pin 14 = rc3_unused
1869                    ; line_number = 27
1870                    ;  pin 15 = rc4_unused
1871                    ; line_number = 28
1872                    ;  pin 16 = rc5_unused
1873                    ; line_number = 29
1874                    ;  pin 17 = tx
1875                    ; line_number = 30
1876                    ;  pin 18 = rx
1877                    ; line_number = 31
1878                    ;  pin 19 = ground2
1879                    ; line_number = 32
1880                    ;  pin 20 = power_supply
1881                    ; line_number = 33
1882                    ;  pin 21 = rb0_unused
1883                    ; line_number = 34
1884                    ;  pin 22 = rb1_unused
1885                    ; line_number = 35
1886                    ;  pin 23 = rb2_unused
1887                    ; line_number = 36
1888                    ;  pin 24 = rb3_unused
1889                    ; line_number = 37
1890                    ;  pin 25 = rb4_unused
1891                    ; line_number = 38
1892                    ;  pin 26 = rb5_unused
1893                    ; line_number = 39
1894                    ;  pin 27 = rb6_unused
1895                    ; line_number = 40
1896                    ;  pin 28 = rb7_unused
1897            
1898                    ; line_number = 42
1899                    ; global module_address byte
1900 00000023 = module_address equ globals___0+3
1901                    ; line_number = 43
1902                    ; global rx9d bit
1903 0000006f = rx9d___byte equ globals___0+79
1904 00000000 = rx9d___bit equ 0
1905                    ; line_number = 44
1906                    ; global id_index byte
1907 00000024 = id_index equ globals___0+4
1908            
1909                    ; line_number = 46
1910                    ; origin 0
1911   0000 :           org     0
1912            
1913                    ; line_number = 48
1914                    ;info   48, 0
1915                    ; procedure main
1916   0000 :   main:
1917                    ; Initialize some registers
1918 0000 019f          clrf    _adcon0
1919 0001 300f          movlw   15
1920 0002 1683          bsf     __rp0___byte, __rp0___bit
1921 0003 009f          movwf   _adcon1
1922 0004 30ff          movlw   255
1923 0005 0086          movwf   _trisb
1924 0006 30bf          movlw   191
1925 0007 0087          movwf   _trisc
1926                    ; arguments_none
1927                    ; line_number = 50
1928                    ;  returns_nothing
1929            
1930                    ; line_number = 52
1931                    ;  local command byte
1932 00000025 = main__command equ globals___0+5
1933                    ; line_number = 53
1934                    ;  local transmit bit
1935 0000006f = main__transmit___byte equ globals___0+79
1936 00000001 = main__transmit___bit equ 1
1937                    ; line_number = 54
1938                    ;  local result byte
1939 00000026 = main__result equ globals___0+6
1940                    ; line_number = 55
1941                    ;  local mode byte
1942 00000027 = main__mode equ globals___0+7
1943            
1944                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>01 code:00=uu=>00)
1945                    ; line_number = 57
1946                    ;  module_address := 5
1947                    ;info   57, 8
1948 0008 3005          movlw   5
1949 0009 1283          bcf     __rp0___byte, __rp0___bit
1950 000a 00a3          movwf   module_address
1951            
1952                    ; # Warm up the UART:
1953                    ; line_number = 60
1954                    ;  _trisc@7 := _true
1955                    ;info   60, 11
1956 00000087 = main__select__1___byte equ _trisc
1957 00000007 = main__select__1___bit equ 7
1958 000b 1683          bsf     __rp0___byte, __rp0___bit
1959 000c 1787          bsf     main__select__1___byte, main__select__1___bit
1960                    ; line_number = 61
1961                    ;  _trisc@6 := _true
1962                    ;info   61, 13
1963 00000087 = main__select__2___byte equ _trisc
1964 00000006 = main__select__2___bit equ 6
1965 000d 1707          bsf     main__select__2___byte, main__select__2___bit
1966            
1967                    ; line_number = 63
1968                    ;  _txsta := 0
1969                    ;info   63, 14
1970 000e 0198          clrf    _txsta
1971                    ; line_number = 64
1972                    ;  _tx9 := _true
1973                    ;info   64, 15
1974 000f 1718          bsf     _tx9___byte, _tx9___bit
1975                    ; #_tx9 := _false
1976                    ; line_number = 66
1977                    ;  _txen := _true
1978                    ;info   66, 16
1979 0010 1698          bsf     _txen___byte, _txen___bit
1980                    ; line_number = 67
1981                    ;  _brgh := _true
1982                    ;info   67, 17
1983 0011 1518          bsf     _brgh___byte, _brgh___bit
1984            
1985                    ; line_number = 69
1986                    ;  _rcsta := 0
1987                    ;info   69, 18
1988 0012 1283          bcf     __rp0___byte, __rp0___bit
1989 0013 0198          clrf    _rcsta
1990                    ; line_number = 70
1991                    ;  _spen := _true
1992                    ;info   70, 20
1993 0014 1798          bsf     _spen___byte, _spen___bit
1994                    ; line_number = 71
1995                    ;  _rx9 := _true
1996                    ;info   71, 21
1997 0015 1718          bsf     _rx9___byte, _rx9___bit
1998                    ; #_rx9 := _false
1999                    ; line_number = 73
2000                    ;  _cren := _true
2001                    ;info   73, 22
2002 0016 1618          bsf     _cren___byte, _cren___bit
2003                    ; #_adden := _true
2004                    ; line_number = 75
2005                    ;  _adden := _false
2006                    ;info   75, 23
2007 0017 1198          bcf     _adden___byte, _adden___bit
2008            
2009                    ; # Baud rate = 625000 @ 20MHz.
2010                    ; line_number = 78
2011                    ;  _spbrg := 1
2012                    ;info   78, 24
2013 0018 3001          movlw   1
2014 0019 1683          bsf     __rp0___byte, __rp0___bit
2015 001a 0099          movwf   _spbrg
2016            
2017                    ; line_number = 80
2018                    ;  mode := 0
2019                    ;info   80, 27
2020 001b 1283          bcf     __rp0___byte, __rp0___bit
2021 001c 01a7          clrf    main__mode
2022                    ; line_number = 81
2023                    ;  id_index := 0
2024                    ;info   81, 29
2025 001d 01a4          clrf    id_index
2026            
2027                    ; #loop_forever
2028                    ; #	call _uart_byte_put(command)
2029                    ; #	loop_exactly 100
2030                    ; #	    delay 500
2031                    ; #		do_nothing
2032                    ; #	command := command + 1
2033            
2034                    ; #loop_forever
2035                    ; #	command := _uart_byte_get()
2036                    ; #	call _uart_byte_put(command + 1)
2037                    ; #	call _uart_byte_get()
2038            
2039                    ; line_number = 95
2040                    ;  loop_forever start
2041   001e :   main__3:
2042                    ; line_number = 96
2043                    ; transmit := _false
2044                    ;info   96, 30
2045 001e 10ef          bcf     main__transmit___byte, main__transmit___bit
2046                    ; line_number = 97
2047                    ;  rx9d := _false
2048                    ;info   97, 31
2049 001f 106f          bcf     rx9d___byte, rx9d___bit
2050                    ; line_number = 98
2051                    ;  while !_rcif start
2052   0020 :   main__4:
2053                    ;info   98, 32
2054                    ; =>bit_code_emit@symbol(): sym=_rcif
2055                    ; 1TEST: Single test with code in skip slot
2056 0020 1e8c          btfss   _rcif___byte, _rcif___bit
2057                    ; line_number = 99
2058                    ; do_nothing
2059                    ;info   99, 33
2060 0021 2820          goto    main__4
2061                    ; Recombine size1 = 0 || size2 = 0
2062                    ; line_number = 98
2063                    ;  while !_rcif done
2064                    ; line_number = 100
2065                    ; if _rx9d start
2066                    ;info   100, 34
2067                    ; =>bit_code_emit@symbol(): sym=_rx9d
2068                    ; 1TEST: Single test with code in skip slot
2069 0022 1818          btfsc   _rx9d___byte, _rx9d___bit
2070                    ; line_number = 101
2071                    ; rx9d := _true
2072                    ;info   101, 35
2073 0023 146f          bsf     rx9d___byte, rx9d___bit
2074                    ; Recombine size1 = 0 || size2 = 0
2075                    ; line_number = 100
2076                    ; if _rx9d done
2077                    ; line_number = 102
2078                    ; command := _rcreg
2079                    ;info   102, 36
2080 0024 081a          movf    _rcreg,w
2081 0025 00a5          movwf   main__command
2082            
2083                    ; line_number = 104
2084                    ;  if rx9d start
2085                    ;info   104, 38
2086                    ; =>bit_code_emit@symbol(): sym=rx9d
2087                    ; No 1TEST: true.size=11 false.size=69
2088                    ; No 2TEST: true.size=11 false.size=69
2089                    ; 2GOTO: Single test with two GOTO's
2090 0026 1c6f          btfss   rx9d___byte, rx9d___bit
2091 0027 2834          goto    main__25
2092                    ; # We have an address bit:
2093                    ; line_number = 106
2094                    ;  if command = module_address start
2095                    ;info   106, 40
2096                    ; Left minus Right
2097 0028 0823          movf    module_address,w
2098 0029 0225          subwf   main__command,w
2099                    ; =>bit_code_emit@symbol(): sym=__z
2100                    ; No 1TEST: true.size=4 false.size=1
2101                    ; No 2TEST: true.size=4 false.size=1
2102                    ; 2GOTO: Single test with two GOTO's
2103 002a 1d03          btfss   __z___byte, __z___bit
2104 002b 2831          goto    main__23
2105                    ; # We have a match:
2106                    ; line_number = 108
2107                    ;  _adden := _false
2108                    ;info   108, 44
2109 002c 1198          bcf     _adden___byte, _adden___bit
2110                    ; line_number = 109
2111                    ;  result := 0x5a
2112                    ;info   109, 45
2113 002d 305a          movlw   90
2114 002e 00a6          movwf   main__result
2115                    ; line_number = 110
2116                    ;  transmit := _true
2117                    ;info   110, 47
2118 002f 14ef          bsf     main__transmit___byte, main__transmit___bit
2119 0030 2832          goto    main__24
2120                    ; 2GOTO: Starting code 2
2121   0031 :   main__23:
2122                    ; # We need to disable non-address reception:
2123                    ; line_number = 113
2124                    ;  _adden := _true
2125                    ;info   113, 49
2126 0031 1598          bsf     _adden___byte, _adden___bit
2127   0032 :   main__24:
2128                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2129                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:XX=cc=>XX)
2130                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:00=uu=>00)
2131                    ; line_number = 106
2132                    ;  if command = module_address done
2133                    ; line_number = 114
2134                    ; mode := 0	
2135                    ;info   114, 50
2136 0032 01a7          clrf    main__mode
2137 0033 2879          goto    main__26
2138                    ; 2GOTO: Starting code 2
2139   0034 :   main__25:
2140                    ; # We have a command:
2141                    ; line_number = 117
2142                    ;  switch mode start
2143                    ;info   117, 52
2144                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2145 0034 3000          movlw   main__21>>8
2146 0035 008a          movwf   __pclath
2147 0036 0827          movf    main__mode,w
2148                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2149 0037 3e39          addlw   main__21
2150 0038 0082          movwf   __pcl
2151                    ; page_group 1
2152   0039 :   main__21:
2153 0039 283a          goto    main__20
2154                    ; line_number = 118
2155                    ; case 0
2156   003a :   main__20:
2157                    ; # Basic instruction decoding:
2158                    ; line_number = 120
2159                    ;  switch command >> 6 start
2160                    ;info   120, 58
2161                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2162 003a 3000          movlw   main__17>>8
2163 003b 008a          movwf   __pclath
2164 00000028 = main__18 equ globals___0+8
2165 003c 0e25          swapf   main__command,w
2166 003d 00a8          movwf   main__18
2167 003e 0ca8          rrf     main__18,f
2168 003f 0c28          rrf     main__18,w
2169 0040 3903          andlw   3
2170                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2171 0041 3e43          addlw   main__17
2172 0042 0082          movwf   __pcl
2173                    ; page_group 4
2174   0043 :   main__17:
2175 0043 2879          goto    main__19
2176 0044 2879          goto    main__19
2177 0045 2879          goto    main__19
2178 0046 2847          goto    main__16
2179                    ; line_number = 121
2180                    ; case 3
2181   0047 :   main__16:
2182                    ; # 11xx xxxx:
2183                    ; line_number = 123
2184                    ;  switch (command >> 3) & 7 start
2185                    ;info   123, 71
2186                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2187 0047 3000          movlw   main__13>>8
2188 0048 008a          movwf   __pclath
2189 00000028 = main__14 equ globals___0+8
2190 0049 0c25          rrf     main__command,w
2191 004a 00a8          movwf   main__14
2192 004b 0ca8          rrf     main__14,f
2193 004c 0c28          rrf     main__14,w
2194 004d 3907          andlw   7
2195                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2196 004e 3e50          addlw   main__13
2197 004f 0082          movwf   __pcl
2198                    ; page_group 8
2199   0050 :   main__13:
2200 0050 2879          goto    main__15
2201 0051 2879          goto    main__15
2202 0052 2879          goto    main__15
2203 0053 2879          goto    main__15
2204 0054 2879          goto    main__15
2205 0055 2879          goto    main__15
2206 0056 2879          goto    main__15
2207 0057 2858          goto    main__12
2208                    ; line_number = 124
2209                    ; case 7
2210   0058 :   main__12:
2211                    ; # 1111 1xxx:
2212                    ; line_number = 126
2213                    ;  switch command & 7 start
2214                    ;info   126, 88
2215                    ; switch_before:(data:XX=cc=>XX code:XX=cc=>XX) size=0
2216 0058 3000          movlw   main__10>>8
2217 0059 008a          movwf   __pclath
2218 005a 3007          movlw   7
2219 005b 0525          andwf   main__command,w
2220                    ; switch after expression:(data:00=uu=>00 code:XX=cc=>XX)
2221 005c 3e5e          addlw   main__10
2222 005d 0082          movwf   __pcl
2223                    ; page_group 8
2224   005e :   main__10:
2225 005e 2879          goto    main__11
2226 005f 2879          goto    main__11
2227 0060 2879          goto    main__11
2228 0061 2879          goto    main__11
2229 0062 2866          goto    main__6
2230 0063 2867          goto    main__7
2231 0064 2872          goto    main__8
2232 0065 2876          goto    main__9
2233                    ; line_number = 127
2234                    ; case 4
2235   0066 :   main__6:
2236                    ; # 1111 1100 (Address_Set)
2237 0066 2879          goto    main__11
2238                    ; line_number = 129
2239                    ; case 5
2240   0067 :   main__7:
2241                    ; # 1111 1101 (Id_Next)
2242                    ; line_number = 131
2243                    ;  transmit := _true
2244                    ;info   131, 103
2245 0067 14ef          bsf     main__transmit___byte, main__transmit___bit
2246                    ; line_number = 132
2247                    ;  result := 0
2248                    ;info   132, 104
2249 0068 01a6          clrf    main__result
2250                    ; line_number = 133
2251                    ;  if id_index < id.size start
2252                    ;info   133, 105
2253 0069 3016          movlw   22
2254 006a 0224          subwf   id_index,w
2255                    ; =>bit_code_emit@symbol(): sym=__c
2256                    ; No 1TEST: true.size=0 false.size=4
2257                    ; No 2TEST: true.size=0 false.size=4
2258                    ; 1GOTO: Single test with GOTO
2259 006b 1803          btfsc   __c___byte, __c___bit
2260 006c 2871          goto    main__5
2261                    ; line_number = 134
2262                    ; result := id[id_index]
2263                    ;info   134, 109
2264 006d 0824          movf    id_index,w
2265 006e 207f          call    id
2266 006f 00a6          movwf   main__result
2267                    ; line_number = 135
2268                    ;  id_index := id_index + 1
2269                    ;info   135, 112
2270 0070 0aa4          incf    id_index,f
2271   0071 :   main__5:
2272                    ; Recombine size1 = 0 || size2 = 0
2273                    ; line_number = 133
2274                    ;  if id_index < id.size done
2275                    ; #result := id_index
2276 0071 2879          goto    main__11
2277                    ; line_number = 137
2278                    ; case 6
2279   0072 :   main__8:
2280                    ; # 1111 1110 (Id_Start)
2281                    ; line_number = 139
2282                    ;  id_index := 0
2283                    ;info   139, 114
2284 0072 01a4          clrf    id_index
2285                    ; line_number = 140
2286                    ;  result := 0
2287                    ;info   140, 115
2288 0073 01a6          clrf    main__result
2289                    ; line_number = 141
2290                    ;  transmit := _true
2291                    ;info   141, 116
2292 0074 14ef          bsf     main__transmit___byte, main__transmit___bit
2293 0075 2879          goto    main__11
2294                    ; line_number = 142
2295                    ; case 7
2296   0076 :   main__9:
2297                    ; # 1111 1111 (Deselect):
2298                    ; line_number = 144
2299                    ;  result := 0
2300                    ;info   144, 118
2301 0076 01a6          clrf    main__result
2302                    ; line_number = 145
2303                    ;  transmit := _true
2304                    ;info   145, 119
2305 0077 14ef          bsf     main__transmit___byte, main__transmit___bit
2306                    ; line_number = 146
2307                    ;  _adden := _true
2308                    ;info   146, 120
2309 0078 1598          bsf     _adden___byte, _adden___bit
2310            
2311   0079 :   main__11:
2312                    ; line_number = 126
2313                    ;  switch command & 7 done
2314   0079 :   main__15:
2315                    ; line_number = 123
2316                    ;  switch (command >> 3) & 7 done
2317   0079 :   main__19:
2318                    ; line_number = 120
2319                    ;  switch command >> 6 done
2320   0079 :   main__22:
2321                    ; line_number = 117
2322                    ;  switch mode done
2323   0079 :   main__26:
2324                    ; 2GOTO: code1 final bitstates:(data:00=uu=>00 code:00=uu=>00)
2325                    ; 2GOTO: code2 final bitstates:(data:00=uu=>00 code:00=uu=>00)
2326                    ; 2GOTO: code final bitstates:(data:00=uu=>00 code:00=uu=>00)
2327                    ; line_number = 104
2328                    ;  if rx9d done
2329                    ; line_number = 148
2330                    ; if transmit start
2331                    ;info   148, 121
2332                    ; =>bit_code_emit@symbol(): sym=main__transmit
2333                    ; No 1TEST: true.size=3 false.size=0
2334                    ; No 2TEST: true.size=3 false.size=0
2335                    ; 1GOTO: Single test with GOTO
2336 0079 1cef          btfss   main__transmit___byte, main__transmit___bit
2337 007a 287e          goto    main__27
2338                    ; line_number = 149
2339                    ; call _uart_byte_put(result)
2340                    ;info   149, 123
2341 007b 0826          movf    main__result,w
2342 007c 20c7          call    _uart_byte_put
2343            
2344                    ; # Dispose of echoed command in buffer:
2345                    ; line_number = 152
2346                    ;  call _uart_byte_get()
2347                    ;info   152, 125
2348 007d 20a8          call    _uart_byte_get
2349            
2350            
2351                    ; Recombine size1 = 0 || size2 = 0
2352   007e :   main__27:
2353                    ; line_number = 148
2354                    ; if transmit done
2355                    ; line_number = 95
2356                    ;  loop_forever wrap-up
2357 007e 281e          goto    main__3
2358                    ; line_number = 95
2359                    ;  loop_forever done
2360                    ; delay after procedure statements=non-uniform
2361            
2362            
2363            
2364            
2365                    ; line_number = 155
2366                    ; string id = "\16,0,5,2,3,8\Shaft2-B\7\Gramson" start
2367                    ; id = '\16,0,5,2,3,8\Shaft2-B\7\Gramson'
2368   007f :   id:
2369                    ; Temporarily save index into FSR
2370 007f 0084          movwf   __fsr
2371                    ; Initialize PCLATH to point to this code page
2372 0080 3000          movlw   id___base>>8
2373 0081 008a          movwf   __pclath
2374                    ; Restore index from FSR
2375 0082 0804          movf    __fsr,w
2376 0083 3e85          addlw   id___base
2377                    ; Index to the correct return value
2378 0084 0082          movwf   __pcl
2379                    ; page_group 22
2380   0085 :   id___base:
2381 0085 3410          retlw   16
2382 0086 3400          retlw   0
2383 0087 3405          retlw   5
2384 0088 3402          retlw   2
2385 0089 3403          retlw   3
2386 008a 3408          retlw   8
2387 008b 3453          retlw   83
2388 008c 3468          retlw   104
2389 008d 3461          retlw   97
2390 008e 3466          retlw   102
2391 008f 3474          retlw   116
2392 0090 3432          retlw   50
2393 0091 342d          retlw   45
2394 0092 3442          retlw   66
2395 0093 3407          retlw   7
2396 0094 3447          retlw   71
2397 0095 3472          retlw   114
2398 0096 3461          retlw   97
2399 0097 346d          retlw   109
2400 0098 3473          retlw   115
2401 0099 346f          retlw   111
2402 009a 346e          retlw   110
2403                    ; line_number = 155
2404                    ; string id = "\16,0,5,2,3,8\Shaft2-B\7\Gramson" start
2405            
2406            
2407            
2408                    ; Appending 7 delayed procedures to code bank 0
2409                    ; buffer = '_uart'
2410                    ; line_number = 7
2411                    ;info   7, 155
2412                    ; procedure _uart_byte_safe_get
2413   009b :   _uart_byte_safe_get:
2414                    ; arguments_none
2415                    ; line_number = 9
2416                    ;  returns byte
2417            
2418                    ; # This procedure will the next byte from UART.  If no byte
2419                    ; # received in a reasonable time, 0xfc is returned.
2420            
2421                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2422                    ; line_number = 14
2423                    ;  loop_exactly 255 start
2424                    ;info   14, 155
2425 00000029 = _uart_byte_safe_get__1 equ globals___0+9
2426 009b 30ff          movlw   255
2427 009c 00a9          movwf   _uart_byte_safe_get__1
2428   009d :   _uart_byte_safe_get__2:
2429                    ; line_number = 15
2430                    ; loop_exactly 255 start
2431                    ;info   15, 157
2432 0000002a = _uart_byte_safe_get__3 equ globals___0+10
2433 009d 30ff          movlw   255
2434 009e 00aa          movwf   _uart_byte_safe_get__3
2435   009f :   _uart_byte_safe_get__4:
2436                    ; line_number = 16
2437                    ; if _rcif start
2438                    ;info   16, 159
2439                    ; =>bit_code_emit@symbol(): sym=_rcif
2440                    ; No 1TEST: true.size=2 false.size=0
2441                    ; No 2TEST: true.size=2 false.size=0
2442                    ; 1GOTO: Single test with GOTO
2443 009f 1e8c          btfss   _rcif___byte, _rcif___bit
2444 00a0 28a3          goto    _uart_byte_safe_get__5
2445                    ; line_number = 17
2446                    ; return _rcreg start
2447                    ; line_number = 17
2448                    ;info   17, 161
2449 00a1 081a          movf    _rcreg,w
2450 00a2 0008          return  
2451                    ; line_number = 17
2452                    ; return _rcreg done
2453                    ; Recombine size1 = 0 || size2 = 0
2454   00a3 :   _uart_byte_safe_get__5:
2455                    ; line_number = 16
2456                    ; if _rcif done
2457                    ; line_number = 15
2458                    ; loop_exactly 255 wrap-up
2459 00a3 0baa          decfsz  _uart_byte_safe_get__3,f
2460 00a4 289f          goto    _uart_byte_safe_get__4
2461                    ; line_number = 15
2462                    ; loop_exactly 255 done
2463                    ; line_number = 14
2464                    ;  loop_exactly 255 wrap-up
2465 00a5 0ba9          decfsz  _uart_byte_safe_get__1,f
2466 00a6 289d          goto    _uart_byte_safe_get__2
2467                    ; line_number = 14
2468                    ;  loop_exactly 255 done
2469                    ; line_number = 18
2470                    ; return 0xfc start
2471                    ; line_number = 18
2472                    ;info   18, 167
2473 00a7 34fc          retlw   252
2474                    ; line_number = 18
2475                    ; return 0xfc done
2476            
2477            
2478                    ; delay after procedure statements=non-uniform
2479            
2480            
2481            
2482            
2483                    ; line_number = 21
2484                    ;info   21, 168
2485                    ; procedure _uart_byte_get
2486   00a8 :   _uart_byte_get:
2487                    ; arguments_none
2488                    ; line_number = 23
2489                    ;  returns byte
2490            
2491                    ; # This procedure will return the next byte from the UART.
2492            
2493                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2494                    ; line_number = 27
2495                    ;  while !_rcif start
2496   00a8 :   _uart_byte_get__1:
2497                    ;info   27, 168
2498                    ; =>bit_code_emit@symbol(): sym=_rcif
2499                    ; 1TEST: Single test with code in skip slot
2500 00a8 1e8c          btfss   _rcif___byte, _rcif___bit
2501                    ; line_number = 28
2502                    ; do_nothing
2503                    ;info   28, 169
2504 00a9 28a8          goto    _uart_byte_get__1
2505                    ; Recombine size1 = 0 || size2 = 0
2506                    ; line_number = 27
2507                    ;  while !_rcif done
2508                    ; line_number = 29
2509                    ; return _rcreg start
2510                    ; line_number = 29
2511                    ;info   29, 170
2512 00aa 081a          movf    _rcreg,w
2513 00ab 0008          return  
2514                    ; line_number = 29
2515                    ; return _rcreg done
2516            
2517            
2518                    ; delay after procedure statements=non-uniform
2519            
2520            
2521            
2522            
2523                    ; line_number = 32
2524                    ;info   32, 172
2525                    ; procedure _uart_hex_put
2526   00ac :   _uart_hex_put:
2527                    ; Last argument is sitting in W; save into argument variable
2528 00ac 00a0          movwf   _uart_hex_put__value
2529                    ; delay=4294967295
2530                    ; line_number = 33
2531                    ; argument value byte
2532 00000020 = _uart_hex_put__value equ globals___0
2533                    ; line_number = 34
2534                    ;  returns_nothing
2535            
2536                    ; # This procedure will output {value} to the UART as a 2-digit
2537                    ; # hexadecimal number.
2538            
2539                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2540                    ; line_number = 39
2541                    ;  call _uart_nibble_put(value >> 4)
2542                    ;info   39, 173
2543 0000002b = _uart_hex_put__1 equ globals___0+11
2544 00ad 0e20          swapf   _uart_hex_put__value,w
2545 00ae 390f          andlw   15
2546 00af 20b4          call    _uart_nibble_put
2547                    ; line_number = 40
2548                    ;  call _uart_nibble_put(value & 0xf)
2549                    ;info   40, 176
2550 00b0 300f          movlw   15
2551 00b1 0520          andwf   _uart_hex_put__value,w
2552 00b2 20b4          call    _uart_nibble_put
2553            
2554            
2555                    ; delay after procedure statements=non-uniform
2556                    ; Implied return
2557 00b3 3400          retlw   0
2558            
2559            
2560            
2561            
2562                    ; line_number = 43
2563                    ;info   43, 180
2564                    ; procedure _uart_nibble_put
2565   00b4 :   _uart_nibble_put:
2566                    ; Last argument is sitting in W; save into argument variable
2567 00b4 00a1          movwf   _uart_nibble_put__nibble
2568                    ; delay=4294967295
2569                    ; line_number = 44
2570                    ; argument nibble byte
2571 00000021 = _uart_nibble_put__nibble equ globals___0+1
2572                    ; line_number = 45
2573                    ;  returns_nothing
2574            
2575                    ; # This procedure will output {value} to UART as a 1 digit
2576                    ; # hexadecimal number.
2577            
2578                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2579                    ; line_number = 50
2580                    ;  if nibble < 10 start
2581                    ;info   50, 181
2582 00b5 300a          movlw   10
2583 00b6 0221          subwf   _uart_nibble_put__nibble,w
2584                    ; =>bit_code_emit@symbol(): sym=__c
2585                    ; No 1TEST: true.size=1 false.size=1
2586                    ; 2TEST: two tests with code in both delay slots
2587 00b7 1803          btfsc   __c___byte, __c___bit
2588                    ; line_number = 53
2589                    ; nibble := nibble - 10 + 'A'
2590                    ;info   53, 184
2591 00b8 3037          movlw   55
2592 00b9 1c03          btfss   __c___byte, __c___bit
2593                    ; line_number = 51
2594                    ; nibble := nibble + '0'
2595                    ;info   51, 186
2596 00ba 3030          movlw   48
2597 00bb 07a1          addwf   _uart_nibble_put__nibble,f
2598                    ; line_number = 50
2599                    ;  if nibble < 10 done
2600                    ; line_number = 54
2601                    ; call _uart_byte_put(nibble)
2602                    ;info   54, 188
2603 00bc 0821          movf    _uart_nibble_put__nibble,w
2604 00bd 20c7          call    _uart_byte_put
2605            
2606            
2607                    ; delay after procedure statements=non-uniform
2608                    ; Implied return
2609 00be 3400          retlw   0
2610            
2611            
2612            
2613            
2614                    ; line_number = 57
2615                    ;info   57, 191
2616                    ; procedure _uart_space_put
2617   00bf :   _uart_space_put:
2618                    ; arguments_none
2619                    ; line_number = 59
2620                    ;  returns_nothing
2621            
2622                    ; # This procedure will output a space to the UART.
2623            
2624                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2625                    ; line_number = 63
2626                    ;  call _uart_byte_put(' ')
2627                    ;info   63, 191
2628 00bf 3020          movlw   32
2629 00c0 20c7          call    _uart_byte_put
2630            
2631            
2632                    ; delay after procedure statements=non-uniform
2633                    ; Implied return
2634 00c1 3400          retlw   0
2635            
2636            
2637            
2638            
2639                    ; line_number = 66
2640                    ;info   66, 194
2641                    ; procedure _uart_crlf_put
2642   00c2 :   _uart_crlf_put:
2643                    ; arguments_none
2644                    ; line_number = 68
2645                    ;  returns_nothing
2646            
2647                    ; # This procedure will output a carriage return line feed sequecne to
2648                    ; # the UART.
2649            
2650                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2651                    ; line_number = 73
2652                    ;  call _uart_byte_put('\cr\')
2653                    ;info   73, 194
2654 00c2 300d          movlw   13
2655 00c3 20c7          call    _uart_byte_put
2656                    ; line_number = 74
2657                    ;  call _uart_byte_put('\lf\')
2658                    ;info   74, 196
2659 00c4 300a          movlw   10
2660 00c5 20c7          call    _uart_byte_put
2661            
2662            
2663                    ; delay after procedure statements=non-uniform
2664                    ; Implied return
2665 00c6 3400          retlw   0
2666            
2667            
2668            
2669            
2670                    ; line_number = 77
2671                    ;info   77, 199
2672                    ; procedure _uart_byte_put
2673   00c7 :   _uart_byte_put:
2674                    ; Last argument is sitting in W; save into argument variable
2675 00c7 00a2          movwf   _uart_byte_put__byte
2676                    ; delay=4294967295
2677                    ; line_number = 78
2678                    ; argument byte byte
2679 00000022 = _uart_byte_put__byte equ globals___0+2
2680                    ; line_number = 79
2681                    ;  returns_nothing
2682            
2683                    ; # This procedure will send {byte} out using to the UART.
2684            
2685                    ; before procedure statements delay=non-uniform, bit states=(data:00=uu=>00 code:00=uu=>00)
2686                    ; line_number = 83
2687                    ;  while !_txif start
2688   00c8 :   _uart_byte_put__1:
2689                    ;info   83, 200
2690                    ; =>bit_code_emit@symbol(): sym=_txif
2691                    ; 1TEST: Single test with code in skip slot
2692 00c8 1e0c          btfss   _txif___byte, _txif___bit
2693                    ; line_number = 84
2694                    ; do_nothing
2695                    ;info   84, 201
2696 00c9 28c8          goto    _uart_byte_put__1
2697                    ; Recombine size1 = 0 || size2 = 0
2698                    ; line_number = 83
2699                    ;  while !_txif done
2700                    ; line_number = 85
2701                    ; _txreg := byte
2702                    ;info   85, 202
2703 00ca 0822          movf    _uart_byte_put__byte,w
2704 00cb 0099          movwf   _txreg
2705            
2706            
2707                    ; delay after procedure statements=non-uniform
2708                    ; Implied return
2709 00cc 3400          retlw   0
2710            
2711            
2712            
2713            
2714                    ; Code bank 1; Start address: 2048; End address: 4095
2715   0800 :           org     2048
2716                    ; Code bank 2; Start address: 4096; End address: 6143
2717   1000 :           org     4096
2718                    ; Code bank 3; Start address: 6144; End address: 8191
2719   1800 :           org     6144
2720                    ; Configuration bits
2721                    ; address = 0x2007, fill = 0x600
2722                    ; cp = off (0x2000)
2723                    ; cpmx = rc1 (0x1000)
2724                    ; debug = off (0x800)
2725                    ; borv = borv00 (0x0)
2726                    ; boren = off (0x0)
2727                    ; mclre = off (0x0)
2728                    ; pwrten = off (0x8)
2729                    ; wdten = off (0x0)
2730                    ; fosc = hs (0x2)
2731                    ; 15882 = 0x3e0a
2732                    ; 8199 = 0x2007
2733   3e0a =           __config 8199, 15882
2734                    ; Configuration bits
2735                    ; address = 0x2008, fill = 0x3fbc
2736                    ; borsen = off (0x0)
2737                    ; ieso = off (0x0)
2738                    ; fcmen = off (0x0)
2739                    ; 16316 = 0x3fbc
2740                    ; 8200 = 0x2008
2741   3fbc =           __config 8200, 16316
2742                    ; Define start addresses for data regions
2743                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2744                    ; Region="globals___0" Address=32" Size=80 Bytes=12 Bits=2 Available=67
2745                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
2746                    ; Region="globals___2" Address=272" Size=96 Bytes=0 Bits=0 Available=96
2747                    ; Region="globals___3" Address=400" Size=112 Bytes=0 Bits=0 Available=112
2748                    end
