1                       radix   dec
2                       ; Code bank 0; Start address: 0; End address: 2047
3      0000 :           org     0
4               
5                       ; Define start addresses for data regions
6    00000070 = shared___globals equ 112
7    00000020 = globals___0 equ 32
8    000000a0 = globals___1 equ 160
9    00000110 = globals___2 equ 272
10   00000190 = globals___3 equ 400
11   00000000 = __indf equ 0
12   00000002 = __pcl equ 2
13   00000003 = __status equ 3
14   00000004 = __fsr equ 4
15   00000003 = __c___byte equ 3
16   00000000 = __c___bit equ 0
17   00000003 = __z___byte equ 3
18   00000002 = __z___bit equ 2
19   00000003 = __rp0___byte equ 3
20   00000005 = __rp0___bit equ 5
21   00000003 = __rp1___byte equ 3
22   00000006 = __rp1___bit equ 6
23   00000003 = __irp___byte equ 3
24   00000007 = __irp___bit equ 7
25   0000000a = __pclath equ 10
26   0000000a = __cb0___byte equ 10
27   00000003 = __cb0___bit equ 3
28   0000000a = __cb1___byte equ 10
29   00000004 = __cb1___bit equ 4
30              
31                      ; # Copyright (c) 2005 by Wayne C. Gramlich
32                      ; # All rights reserved.
33              
34                      ; buffer = 'debug'
35                      ; line_number = 6
36                      ; library _pic16f876 entered
37              
38                      ; # Copyright (c) 2004 by Wayne C. Gramlich
39                      ; # All rights reserved.
40              
41                      ; buffer = '_pic16f876'
42                      ; line_number = 6
43                      ; processor pic16f876
44                      ; line_number = 7
45                      ; configure_address 0x2007
46                      ; line_number = 8
47                      ;  configure_fill 0x0400
48                      ; line_number = 9
49                      ;  configure_option cp: off = 0x3030
50                      ; line_number = 10
51                      ;  configure_option cp: quarter = 0x2020
52                      ; line_number = 11
53                      ;  configure_option cp: half = 0x1010
54                      ; line_number = 12
55                      ;  configure_option cp: on = 0x0000
56                      ; line_number = 13
57                      ;  configure_option debug: on = 0x000
58                      ; line_number = 14
59                      ;  configure_option debug: off = 0x800
60                      ; line_number = 15
61                      ;  configure_option wrt: on = 0x200
62                      ; line_number = 16
63                      ;  configure_option wrt: off = 0x000
64                      ; line_number = 17
65                      ;  configure_option cpd: on = 0x000
66                      ; line_number = 18
67                      ;  configure_option cpd: off = 0x100
68                      ; line_number = 19
69                      ;  configure_option lvp: on = 0x80
70                      ; line_number = 20
71                      ;  configure_option lvp: off = 0x00
72                      ; line_number = 21
73                      ;  configure_option boden: on = 0x40
74                      ; line_number = 22
75                      ;  configure_option boden: off = 0x00
76                      ; line_number = 23
77                      ;  configure_option pwrte: on = 0
78                      ; line_number = 24
79                      ;  configure_option pwrte: off = 8
80                      ; line_number = 25
81                      ;  configure_option wdte: on = 4
82                      ; line_number = 26
83                      ;  configure_option wdte: off = 0
84                      ; line_number = 27
85                      ;  configure_option fosc: rc = 3
86                      ; line_number = 28
87                      ;  configure_option fosc: hs = 2
88                      ; line_number = 29
89                      ;  configure_option fosc: xt = 1
90                      ; line_number = 30
91                      ;  configure_option fosc: lp = 0
92                      ; line_number = 31
93                      ;  code_bank 0x0 : 0x7ff
94                      ; line_number = 32
95                      ;  code_bank 0x800 : 0xfff
96                      ; line_number = 33
97                      ;  code_bank 0x1000 : 0x17ff
98                      ; line_number = 34
99                      ;  code_bank 0x1800 : 0x1fff
100                     ; line_number = 35
101                     ;  data_bank 0x0 : 0x7f
102                     ; line_number = 36
103                     ;  data_bank 0x80 : 0xff
104                     ; line_number = 37
105                     ;  data_bank 0x100 : 0x17f
106                     ; line_number = 38
107                     ;  data_bank 0x180 : 0x1ff
108                     ; line_number = 39
109                     ;  global_region 0x20 : 0x6f
110                     ; line_number = 40
111                     ;  global_region 0xa0 : 0xef
112                     ; line_number = 41
113                     ;  global_region 0x110 : 0x16f
114                     ; line_number = 42
115                     ;  global_region 0x190 : 0x1ff
116                     ; line_number = 43
117                     ;  shared_region 0x70 : 0x7f
118                     ; line_number = 44
119                     ;  interrupts_possible
120                     ; line_number = 45
121                     ;  packages pdip = 28
122                     ; line_number = 46
123                     ;  pin mclr, vpp, thv, mclr_unused
124                     ; line_number = 47
125                     ; pin_bindings pdip = 1
126                     ; line_number = 48
127                     ; pin ra0_in, ra0_out, an0, ra0_unused
128                     ; line_number = 49
129                     ; pin_bindings pdip = 2
130                     ; line_number = 50
131                     ;  bind_to _porta@0
132                     ; line_number = 51
133                     ;  or_if ra0_in _trisa 1
134                     ; line_number = 52
135                     ;  or_if ra0_in _adcon1 7
136                     ; line_number = 53
137                     ;  or_if ra0_in _adcon0 0
138                     ; line_number = 54
139                     ;  or_if ra0_out _trisa 0
140                     ; line_number = 55
141                     ;  or_if ra0_out _adcon1 7
142                     ; line_number = 56
143                     ;  or_if ra0_out _adcon0 0
144                     ; line_number = 57
145                     ; pin ra1_in, ra1_out, an1, ra1_unused
146                     ; line_number = 58
147                     ; pin_bindings pdip = 3
148                     ; line_number = 59
149                     ;  bind_to _porta@1
150                     ; line_number = 60
151                     ;  or_if ra1_in _trisa 2
152                     ; line_number = 61
153                     ;  or_if ra1_in _adcon1 7
154                     ; line_number = 62
155                     ;  or_if ra1_in _adcon0 0
156                     ; line_number = 63
157                     ;  or_if ra1_out _trisa 0
158                     ; line_number = 64
159                     ;  or_if ra1_out _adcon1 7
160                     ; line_number = 65
161                     ;  or_if ra1_out _adcon0 0
162                     ; line_number = 66
163                     ; pin ra2_in, ra2_out, an2, vref_minus, ra2_unused
164                     ; line_number = 67
165                     ; pin_bindings pdip = 4
166                     ; line_number = 68
167                     ;  bind_to _porta@2
168                     ; line_number = 69
169                     ;  or_if ra2_in _trisa 4
170                     ; line_number = 70
171                     ;  or_if ra2_in _adcon1 7
172                     ; line_number = 71
173                     ;  or_if ra2_in _adcon0 0
174                     ; line_number = 72
175                     ;  or_if ra2_out _trisa 0
176                     ; line_number = 73
177                     ;  or_if ra2_out _adcon1 7
178                     ; line_number = 74
179                     ;  or_if ra2_out _adcon0 0
180                     ; line_number = 75
181                     ; pin ra3_in, ra3_out, an3, vrev_plus, ra3_unused
182                     ; line_number = 76
183                     ; pin_bindings pdip = 5
184                     ; line_number = 77
185                     ;  bind_to _porta@3
186                     ; line_number = 78
187                     ;  or_if ra3_in _trisa 8
188                     ; line_number = 79
189                     ;  or_if ra3_in _adcon1 7
190                     ; line_number = 80
191                     ;  or_if ra3_in _adcon0 0
192                     ; line_number = 81
193                     ;  or_if ra3_out _trisa 0
194                     ; line_number = 82
195                     ;  or_if ra3_out _adcon1 7
196                     ; line_number = 83
197                     ;  or_if ra3_out _adcon0 0
198                     ; line_number = 84
199                     ; pin ra4_in, ra4_out, t0cki, ra4_unused
200                     ; line_number = 85
201                     ; pin_bindings pdip = 6
202                     ; line_number = 86
203                     ;  bind_to _porta@4
204                     ; line_number = 87
205                     ;  or_if ra4_in _trisa 16
206                     ; line_number = 88
207                     ;  or_if ra4_in _adcon1 7
208                     ; line_number = 89
209                     ;  or_if ra4_in _adcon0 0
210                     ; line_number = 90
211                     ;  or_if ra4_out _trisa 0
212                     ; line_number = 91
213                     ;  or_if ra4_out _adcon1 7
214                     ; line_number = 92
215                     ;  or_if ra4_out _adcon0 0
216                     ; line_number = 93
217                     ; pin ra5_in, ra5_out, an4, ra5_unused
218                     ; line_number = 94
219                     ; pin_bindings pdip = 7
220                     ; line_number = 95
221                     ;  bind_to _porta@5
222                     ; line_number = 96
223                     ;  or_if ra5_in _trisa 32
224                     ; line_number = 97
225                     ;  or_if ra5_in _adcon1 7
226                     ; line_number = 98
227                     ;  or_if ra5_in _adcon1 0
228                     ; line_number = 99
229                     ;  or_if ra5_out _trisa 0
230                     ; line_number = 100
231                     ;  or_if ra5_out _adcon1 7
232                     ; line_number = 101
233                     ;  or_if ra5_out _adcon0 0
234                     ; line_number = 102
235                     ; pin vss, ground
236                     ; line_number = 103
237                     ; pin_bindings pdip = 8
238                     ; line_number = 104
239                     ; pin osc1, clkin
240                     ; line_number = 105
241                     ; pin_bindings pdip = 9
242                     ; line_number = 106
243                     ; pin osc2, clkout
244                     ; line_number = 107
245                     ; pin_bindings pdip = 10
246                     ; line_number = 108
247                     ; pin rc0_in, rc0_out, t1oso, t1cki, rc0_unused
248                     ; line_number = 109
249                     ; pin_bindings pdip = 11
250                     ; line_number = 110
251                     ;  bind_to _portc@0
252                     ; line_number = 111
253                     ;  or_if rc0_in _trisc 1
254                     ; line_number = 112
255                     ;  or_if rc0_in _adcon1 7
256                     ; line_number = 113
257                     ;  or_if rc0_in _adcon0 0
258                     ; line_number = 114
259                     ;  or_if rc0_out _trisc 0
260                     ; line_number = 115
261                     ;  or_if rc0_out _adcon1 7
262                     ; line_number = 116
263                     ;  or_if rc0_out _adcon0 0
264                     ; line_number = 117
265                     ; pin rc1_in, rc1_out, t1osi, ccp2, rc1_unused
266                     ; line_number = 118
267                     ; pin_bindings pdip = 12
268                     ; line_number = 119
269                     ;  bind_to _portc@1
270                     ; line_number = 120
271                     ;  or_if rc1_in _trisc 2
272                     ; line_number = 121
273                     ;  or_if rc1_in _adcon1 7
274                     ; line_number = 122
275                     ;  or_if rc1_in _adcon0 0
276                     ; line_number = 123
277                     ;  or_if rc1_out _trisc 0
278                     ; line_number = 124
279                     ;  or_if rc1_out _adcon1 7
280                     ; line_number = 125
281                     ;  or_if rc1_out _adcon0 0
282                     ; line_number = 126
283                     ; pin rc2_in, rc2_out, ccp1, rc2_unused
284                     ; line_number = 127
285                     ; pin_bindings pdip = 13
286                     ; line_number = 128
287                     ;  bind_to _portc@2
288                     ; line_number = 129
289                     ;  or_if rc2_in _trisc 4
290                     ; line_number = 130
291                     ;  or_if rc2_in _adcon1 7
292                     ; line_number = 131
293                     ;  or_if rc2_in _adcon0 0
294                     ; line_number = 132
295                     ;  or_if rc2_out _trisc 0
296                     ; line_number = 133
297                     ;  or_if rc2_out _adcon1 7
298                     ; line_number = 134
299                     ;  or_if rc2_out _adcon0 0
300                     ; line_number = 135
301                     ; pin rc3_in, rc3_out, sck, scl, rc3_unused
302                     ; line_number = 136
303                     ; pin_bindings pdip = 14
304                     ; line_number = 137
305                     ;  bind_to _portc@3
306                     ; line_number = 138
307                     ;  or_if rc3_in _trisc 8
308                     ; line_number = 139
309                     ;  or_if rc3_in _adcon1 7
310                     ; line_number = 140
311                     ;  or_if rc3_in _adcon0 0
312                     ; line_number = 141
313                     ;  or_if rc3_out _trisc 0
314                     ; line_number = 142
315                     ;  or_if rc3_out _adcon1 7
316                     ; line_number = 143
317                     ;  or_if rc3_out _adcon0 0
318                     ; line_number = 144
319                     ; pin rc4_in, rc4_out, sdi, sda, rc4_unused
320                     ; line_number = 145
321                     ; pin_bindings pdip = 15
322                     ; line_number = 146
323                     ;  bind_to _portc@4
324                     ; line_number = 147
325                     ;  or_if rc4_in _trisc 16
326                     ; line_number = 148
327                     ;  or_if rc4_in _adcon1 7
328                     ; line_number = 149
329                     ;  or_if rc4_in _adcon0 0
330                     ; line_number = 150
331                     ;  or_if rc4_out _trisc 0
332                     ; line_number = 151
333                     ;  or_if rc4_out _adcon1 7
334                     ; line_number = 152
335                     ;  or_if rc4_out _adcon0 0
336                     ; line_number = 153
337                     ; pin rc5_in, rc5_out, sdo, rc5_unused
338                     ; line_number = 154
339                     ; pin_bindings pdip = 16
340                     ; line_number = 155
341                     ;  bind_to _portc@5
342                     ; line_number = 156
343                     ;  or_if rc5_in _trisc 32
344                     ; line_number = 157
345                     ;  or_if rc5_in _adcon1 7
346                     ; line_number = 158
347                     ;  or_if rc5_in _adcon0 0
348                     ; line_number = 159
349                     ;  or_if rc5_out _trisc 0
350                     ; line_number = 160
351                     ;  or_if rc5_out _adcon1 7
352                     ; line_number = 161
353                     ;  or_if rc5_out _adcon0 0
354                     ; line_number = 162
355                     ; pin rc6_in, rc6_out, tx, ck, rc6_unused
356                     ; line_number = 163
357                     ; pin_bindings pdip = 17
358                     ; line_number = 164
359                     ;  bind_to _portc@6
360                     ; line_number = 165
361                     ;  or_if rc6_in _trisc 64
362                     ; line_number = 166
363                     ;  or_if rc6_in _adcon1 7
364                     ; line_number = 167
365                     ;  or_if rc6_in _adcon0 0
366                     ; line_number = 168
367                     ;  or_if rc6_out _trisc 0
368                     ; line_number = 169
369                     ;  or_if rc6_out _adcon1 7
370                     ; line_number = 170
371                     ;  or_if rc6_out _adcon0 0
372                     ; line_number = 171
373                     ;  or_if tx _trisc 0
374                     ; line_number = 172
375                     ;  or_if tx _adcon1 7
376                     ; line_number = 173
377                     ;  or_if tx _adcon0 0
378                     ; line_number = 174
379                     ; pin rc7_in, rc7_out, rx, dt, rc7_unused
380                     ; line_number = 175
381                     ; pin_bindings pdip = 18
382                     ; line_number = 176
383                     ;  bind_to _portc@7
384                     ; line_number = 177
385                     ;  or_if rc7_in _trisc 128
386                     ; line_number = 178
387                     ;  or_if rc7_in _adcon1 7
388                     ; line_number = 179
389                     ;  or_if rc7_in _adcon0 0
390                     ; line_number = 180
391                     ;  or_if rx _trisc 128
392                     ; line_number = 181
393                     ;  or_if rx _adcon1 7
394                     ; line_number = 182
395                     ;  or_if rx _adcon0 0
396                     ; line_number = 183
397                     ;  or_if rc7_out _trisc 0
398                     ; line_number = 184
399                     ;  or_if rc7_out _adcon1 7
400                     ; line_number = 185
401                     ;  or_if rc7_out _adcon0 0
402                     ; line_number = 186
403                     ; pin vss2, ground2
404                     ; line_number = 187
405                     ; pin_bindings pdip = 19
406                     ; line_number = 188
407                     ; pin vdd, power_supply
408                     ; line_number = 189
409                     ; pin_bindings pdip = 20
410                     ; line_number = 190
411                     ; pin rb0_in, rb0_out, int, rb0_unused
412                     ; line_number = 191
413                     ; pin_bindings pdip = 21
414                     ; line_number = 192
415                     ;  bind_to _portb@0
416                     ; line_number = 193
417                     ;  or_if rb0_in _trisb 1
418                     ; line_number = 194
419                     ;  or_if rb0_in _adcon1 7
420                     ; line_number = 195
421                     ;  or_if rb0_in _adcon0 0
422                     ; line_number = 196
423                     ;  or_if rb0_out _trisb 0
424                     ; line_number = 197
425                     ;  or_if rb0_out _adcon1 7
426                     ; line_number = 198
427                     ;  or_if rb0_out _adcon0 0
428                     ; line_number = 199
429                     ; pin rb1_in, rb1_out, rb1_unused
430                     ; line_number = 200
431                     ; pin_bindings pdip = 22
432                     ; line_number = 201
433                     ;  bind_to _portb@1
434                     ; line_number = 202
435                     ;  or_if rb1_in _trisb 2
436                     ; line_number = 203
437                     ;  or_if rb1_in _adcon1 7
438                     ; line_number = 204
439                     ;  or_if rb1_in _adcon0 0
440                     ; line_number = 205
441                     ;  or_if rb1_out _trisb 0
442                     ; line_number = 206
443                     ;  or_if rb1_out _adcon1 7
444                     ; line_number = 207
445                     ;  or_if rb1_out _adcon0 0
446                     ; line_number = 208
447                     ; pin rb2_in, rb2_out, rb2_unused
448                     ; line_number = 209
449                     ; pin_bindings pdip = 23
450                     ; line_number = 210
451                     ;  bind_to _portb@2
452                     ; line_number = 211
453                     ;  or_if rb2_in _trisb 4
454                     ; line_number = 212
455                     ;  or_if rb2_in _adcon1 7
456                     ; line_number = 213
457                     ;  or_if rb2_in _adcon0 0
458                     ; line_number = 214
459                     ;  or_if rb2_out _trisb 0
460                     ; line_number = 215
461                     ;  or_if rb2_out _adcon1 7
462                     ; line_number = 216
463                     ;  or_if rb2_out _adcon0 0
464                     ; line_number = 217
465                     ; pin rb3_in, rb3_out, pgm, rb3_unused
466                     ; line_number = 218
467                     ; pin_bindings pdip = 24
468                     ; line_number = 219
469                     ;  bind_to _portb@3
470                     ; line_number = 220
471                     ;  or_if rb3_in _trisb 8
472                     ; line_number = 221
473                     ;  or_if rb3_in _adcon1 7
474                     ; line_number = 222
475                     ;  or_if rb3_out _trisb 0
476                     ; line_number = 223
477                     ;  or_if rb3_out _adcon1 7
478                     ; line_number = 224
479                     ; pin rb4_in, rb4_out, rb4_unused
480                     ; line_number = 225
481                     ; pin_bindings pdip = 25
482                     ; line_number = 226
483                     ;  bind_to _portb@4
484                     ; line_number = 227
485                     ;  or_if rb4_in _trisb 16
486                     ; line_number = 228
487                     ;  or_if rb4_in _adcon1 7
488                     ; line_number = 229
489                     ;  or_if rb4_in _adcon0 0
490                     ; line_number = 230
491                     ;  or_if rb4_out _trisb 0
492                     ; line_number = 231
493                     ;  or_if rb4_out _adcon1 7
494                     ; line_number = 232
495                     ;  or_if rb4_out _adcon0 0
496                     ; line_number = 233
497                     ; pin rb5_in, rb5_out, rb5_unused
498                     ; line_number = 234
499                     ; pin_bindings pdip = 26
500                     ; line_number = 235
501                     ;  bind_to _portb@5
502                     ; line_number = 236
503                     ;  or_if rb5_in _trisb 32
504                     ; line_number = 237
505                     ;  or_if rb5_in _adcon1 7
506                     ; line_number = 238
507                     ;  or_if rb5_in _adcon0 0
508                     ; line_number = 239
509                     ;  or_if rb5_out _trisb 0
510                     ; line_number = 240
511                     ;  or_if rb5_out _adcon1 7
512                     ; line_number = 241
513                     ;  or_if rb5_out _adcon0 0
514                     ; line_number = 242
515                     ; pin rb6_in, rb6_out, pgc, rb6_unused
516                     ; line_number = 243
517                     ; pin_bindings pdip = 27
518                     ; line_number = 244
519                     ;  bind_to _portb@6
520                     ; line_number = 245
521                     ;  or_if rb6_in _trisb 64
522                     ; line_number = 246
523                     ;  or_if rb6_in _adcon1 7
524                     ; line_number = 247
525                     ;  or_if rb6_in _adcon0 0
526                     ; line_number = 248
527                     ;  or_if rb6_out _trisb 0
528                     ; line_number = 249
529                     ;  or_if rb6_out _adcon1 7
530                     ; line_number = 250
531                     ;  or_if rb6_out _adcon0 0
532                     ; line_number = 251
533                     ; pin rb7_in, rb7_out, pgd, rb7_unused
534                     ; line_number = 252
535                     ; pin_bindings pdip = 28
536                     ; line_number = 253
537                     ;  bind_to _portb@7
538                     ; line_number = 254
539                     ;  or_if rb7_in _trisb 128
540                     ; line_number = 255
541                     ;  or_if rb7_in _adcon1 7
542                     ; line_number = 256
543                     ;  or_if rb7_in _adcon0 0
544                     ; line_number = 257
545                     ;  or_if rb7_out _trisb 0
546                     ; line_number = 258
547                     ;  or_if rb7_out _adcon1 7
548                     ; line_number = 259
549                     ;  or_if rb7_out _adcon0 0
550             
551             
552                     ; # Register and pin definitions:
553             
554                     ; line_number = 266
555                     ; library _pic16f87x entered
556             
557                     ; # Copyright (c) 2004 by Wayne C. Gramlich
558                     ; # All rights reserved.
559             
560                     ; # Common declarations for PIC16F87x series microcontrollers:
561             
562                     ; # Register and pin definitions:
563             
564                     ; # Bank 0:
565             
566                     ; buffer = '_pic16f87x'
567                     ; line_number = 12
568                     ; register _indf = 
569  00000000 = _indf equ 0
570             
571                     ; line_number = 14
572                     ; register _tmr0 = 
573  00000001 = _tmr0 equ 1
574             
575                     ; line_number = 16
576                     ; register _pcl = 
577  00000002 = _pcl equ 2
578             
579                     ; line_number = 18
580                     ; register _status = 
581  00000003 = _status equ 3
582                     ; line_number = 19
583                     ; bind _irp = _status@7
584  00000003 = _irp___byte equ _status
585  00000007 = _irp___bit equ 7
586                     ; line_number = 20
587                     ; bind _rp1 = _status@6
588  00000003 = _rp1___byte equ _status
589  00000006 = _rp1___bit equ 6
590                     ; line_number = 21
591                     ; bind _rp0 = _status@5
592  00000003 = _rp0___byte equ _status
593  00000005 = _rp0___bit equ 5
594                     ; line_number = 22
595                     ; bind _to = _status@4
596  00000003 = _to___byte equ _status
597  00000004 = _to___bit equ 4
598                     ; line_number = 23
599                     ; bind _pd = _status@3
600  00000003 = _pd___byte equ _status
601  00000003 = _pd___bit equ 3
602                     ; line_number = 24
603                     ; bind _z = _status@2
604  00000003 = _z___byte equ _status
605  00000002 = _z___bit equ 2
606                     ; line_number = 25
607                     ; bind _dc = _status@1
608  00000003 = _dc___byte equ _status
609  00000001 = _dc___bit equ 1
610             
611                     ; line_number = 27
612                     ; register _fsr = 
613  00000004 = _fsr equ 4
614             
615                     ; line_number = 29
616                     ; register _porta = 
617  00000005 = _porta equ 5
618             
619                     ; line_number = 31
620                     ; register _portb = 
621  00000006 = _portb equ 6
622             
623                     ; line_number = 33
624                     ; register _portc = 
625  00000007 = _portc equ 7
626             
627                     ; line_number = 35
628                     ; register _pclath = 
629  0000000a = _pclath equ 10
630             
631                     ; line_number = 37
632                     ; register _intcon = 
633  0000000b = _intcon equ 11
634                     ; line_number = 38
635                     ; bind _gie = _intcon@7
636  0000000b = _gie___byte equ _intcon
637  00000007 = _gie___bit equ 7
638                     ; line_number = 39
639                     ; bind _peie = _intcon@6
640  0000000b = _peie___byte equ _intcon
641  00000006 = _peie___bit equ 6
642                     ; line_number = 40
643                     ; bind _t0ie = _intcon@5
644  0000000b = _t0ie___byte equ _intcon
645  00000005 = _t0ie___bit equ 5
646                     ; line_number = 41
647                     ; bind _inte = _intcon@4
648  0000000b = _inte___byte equ _intcon
649  00000004 = _inte___bit equ 4
650                     ; line_number = 42
651                     ; bind _rbie = _intcon@3
652  0000000b = _rbie___byte equ _intcon
653  00000003 = _rbie___bit equ 3
654                     ; line_number = 43
655                     ; bind _t0if = _intcon@2
656  0000000b = _t0if___byte equ _intcon
657  00000002 = _t0if___bit equ 2
658                     ; line_number = 44
659                     ; bind _intf = _intcon@1
660  0000000b = _intf___byte equ _intcon
661  00000001 = _intf___bit equ 1
662                     ; line_number = 45
663                     ; bind _rbf = _intcon@0
664  0000000b = _rbf___byte equ _intcon
665  00000000 = _rbf___bit equ 0
666             
667                     ; line_number = 47
668                     ; register _pir1 = 
669  0000000c = _pir1 equ 12
670                     ; line_number = 48
671                     ; bind _pspif = _pir1@7
672  0000000c = _pspif___byte equ _pir1
673  00000007 = _pspif___bit equ 7
674                     ; line_number = 49
675                     ; bind _adif = _pir1@6
676  0000000c = _adif___byte equ _pir1
677  00000006 = _adif___bit equ 6
678                     ; line_number = 50
679                     ; bind _rcif = _pir1@5
680  0000000c = _rcif___byte equ _pir1
681  00000005 = _rcif___bit equ 5
682                     ; line_number = 51
683                     ; bind _txif = _pir1@4
684  0000000c = _txif___byte equ _pir1
685  00000004 = _txif___bit equ 4
686                     ; line_number = 52
687                     ; bind _sspif = _pir1@3
688  0000000c = _sspif___byte equ _pir1
689  00000003 = _sspif___bit equ 3
690                     ; line_number = 53
691                     ; bind _ccpif = _pir1@2
692  0000000c = _ccpif___byte equ _pir1
693  00000002 = _ccpif___bit equ 2
694                     ; line_number = 54
695                     ; bind _tmr2if = _pir1@1
696  0000000c = _tmr2if___byte equ _pir1
697  00000001 = _tmr2if___bit equ 1
698                     ; line_number = 55
699                     ; bind _tmr1if = _pir1@0
700  0000000c = _tmr1if___byte equ _pir1
701  00000000 = _tmr1if___bit equ 0
702             
703                     ; line_number = 57
704                     ; register _pir2 = 
705  0000000d = _pir2 equ 13
706                     ; line_number = 58
707                     ; bind _eeif = _pir2@4
708  0000000d = _eeif___byte equ _pir2
709  00000004 = _eeif___bit equ 4
710                     ; line_number = 59
711                     ; bind _bclif = _pir2@3
712  0000000d = _bclif___byte equ _pir2
713  00000003 = _bclif___bit equ 3
714                     ; line_number = 60
715                     ; bind _ccp2if = _pir2@0
716  0000000d = _ccp2if___byte equ _pir2
717  00000000 = _ccp2if___bit equ 0
718             
719                     ; line_number = 62
720                     ; register _tmr1l = 
721  0000000e = _tmr1l equ 14
722             
723                     ; line_number = 64
724                     ; register _tmr1h = 
725  0000000f = _tmr1h equ 15
726             
727                     ; line_number = 66
728                     ; register _t1con = 
729  00000010 = _t1con equ 16
730                     ; line_number = 67
731                     ; bind _t1ckps1 = _t1con@5
732  00000010 = _t1ckps1___byte equ _t1con
733  00000005 = _t1ckps1___bit equ 5
734                     ; line_number = 68
735                     ; bind _t1ckps0 = _t1con@4
736  00000010 = _t1ckps0___byte equ _t1con
737  00000004 = _t1ckps0___bit equ 4
738                     ; line_number = 69
739                     ; bind _t1oscen = _t1con@3
740  00000010 = _t1oscen___byte equ _t1con
741  00000003 = _t1oscen___bit equ 3
742                     ; line_number = 70
743                     ; bind _t1sync = _t1con@2
744  00000010 = _t1sync___byte equ _t1con
745  00000002 = _t1sync___bit equ 2
746                     ; line_number = 71
747                     ; bind _tmr1cs = _t1con@1
748  00000010 = _tmr1cs___byte equ _t1con
749  00000001 = _tmr1cs___bit equ 1
750                     ; line_number = 72
751                     ; bind _tmr1on = _t1con@0
752  00000010 = _tmr1on___byte equ _t1con
753  00000000 = _tmr1on___bit equ 0
754             
755                     ; line_number = 74
756                     ; register _tmr2 = 
757  00000011 = _tmr2 equ 17
758             
759                     ; line_number = 76
760                     ; register _t2con = 
761  00000012 = _t2con equ 18
762                     ; line_number = 77
763                     ; bind _toutps3 = _t2con@6
764  00000012 = _toutps3___byte equ _t2con
765  00000006 = _toutps3___bit equ 6
766                     ; line_number = 78
767                     ; bind _toutps2 = _t2con@5
768  00000012 = _toutps2___byte equ _t2con
769  00000005 = _toutps2___bit equ 5
770                     ; line_number = 79
771                     ; bind _toutps1 = _t2con@4
772  00000012 = _toutps1___byte equ _t2con
773  00000004 = _toutps1___bit equ 4
774                     ; line_number = 80
775                     ; bind _toutps0 = _t2con@3
776  00000012 = _toutps0___byte equ _t2con
777  00000003 = _toutps0___bit equ 3
778                     ; line_number = 81
779                     ; bind _tmr2on = _t2con@2
780  00000012 = _tmr2on___byte equ _t2con
781  00000002 = _tmr2on___bit equ 2
782                     ; line_number = 82
783                     ; bind _t2ckps1 = _t2con@1
784  00000012 = _t2ckps1___byte equ _t2con
785  00000001 = _t2ckps1___bit equ 1
786                     ; line_number = 83
787                     ; bind _t2ckps0 = _t2con@0
788  00000012 = _t2ckps0___byte equ _t2con
789  00000000 = _t2ckps0___bit equ 0
790             
791                     ; line_number = 85
792                     ; register _sspbuf = 
793  00000013 = _sspbuf equ 19
794             
795                     ; line_number = 87
796                     ; register _sspcon = 
797  00000014 = _sspcon equ 20
798                     ; line_number = 88
799                     ; bind _wcol = _sspcon@7
800  00000014 = _wcol___byte equ _sspcon
801  00000007 = _wcol___bit equ 7
802                     ; line_number = 89
803                     ; bind _sspov = _sspcon@6
804  00000014 = _sspov___byte equ _sspcon
805  00000006 = _sspov___bit equ 6
806                     ; line_number = 90
807                     ; bind _sspen = _sspcon@5
808  00000014 = _sspen___byte equ _sspcon
809  00000005 = _sspen___bit equ 5
810                     ; line_number = 91
811                     ; bind _ckp = _sspcon@4
812  00000014 = _ckp___byte equ _sspcon
813  00000004 = _ckp___bit equ 4
814                     ; line_number = 92
815                     ; bind _sspm3 = _sspcon@3
816  00000014 = _sspm3___byte equ _sspcon
817  00000003 = _sspm3___bit equ 3
818                     ; line_number = 93
819                     ; bind _sspm2 = _sspcon@2
820  00000014 = _sspm2___byte equ _sspcon
821  00000002 = _sspm2___bit equ 2
822                     ; line_number = 94
823                     ; bind _sspm1 = _sspcon@1
824  00000014 = _sspm1___byte equ _sspcon
825  00000001 = _sspm1___bit equ 1
826                     ; line_number = 95
827                     ; bind _sspm0 = _sspcon@0
828  00000014 = _sspm0___byte equ _sspcon
829  00000000 = _sspm0___bit equ 0
830             
831                     ; line_number = 97
832                     ; register _ccpr1l = 
833  00000015 = _ccpr1l equ 21
834             
835                     ; line_number = 99
836                     ; register _ccpr1h = 
837  00000016 = _ccpr1h equ 22
838             
839                     ; line_number = 101
840                     ; register _ccp1con = 
841  00000017 = _ccp1con equ 23
842                     ; line_number = 102
843                     ; bind _ccp1x = _ccp1con@5
844  00000017 = _ccp1x___byte equ _ccp1con
845  00000005 = _ccp1x___bit equ 5
846                     ; line_number = 103
847                     ; bind _ccp1y = _ccp1con@4
848  00000017 = _ccp1y___byte equ _ccp1con
849  00000004 = _ccp1y___bit equ 4
850                     ; line_number = 104
851                     ; bind _ccp1m3 = _ccp1con@3
852  00000017 = _ccp1m3___byte equ _ccp1con
853  00000003 = _ccp1m3___bit equ 3
854                     ; line_number = 105
855                     ; bind _ccp1m2 = _ccp1con@2
856  00000017 = _ccp1m2___byte equ _ccp1con
857  00000002 = _ccp1m2___bit equ 2
858                     ; line_number = 106
859                     ; bind _ccp1m1 = _ccp1con@1
860  00000017 = _ccp1m1___byte equ _ccp1con
861  00000001 = _ccp1m1___bit equ 1
862                     ; line_number = 107
863                     ; bind _ccp1m0 = _ccp1con@0
864  00000017 = _ccp1m0___byte equ _ccp1con
865  00000000 = _ccp1m0___bit equ 0
866             
867                     ; line_number = 109
868                     ; register _rcsta = 
869  00000018 = _rcsta equ 24
870                     ; line_number = 110
871                     ; bind _spen = _rcsta@7
872  00000018 = _spen___byte equ _rcsta
873  00000007 = _spen___bit equ 7
874                     ; line_number = 111
875                     ; bind _rx9 = _rcsta@6
876  00000018 = _rx9___byte equ _rcsta
877  00000006 = _rx9___bit equ 6
878                     ; line_number = 112
879                     ; bind _sren = _rcsta@5
880  00000018 = _sren___byte equ _rcsta
881  00000005 = _sren___bit equ 5
882                     ; line_number = 113
883                     ; bind _cren = _rcsta@4
884  00000018 = _cren___byte equ _rcsta
885  00000004 = _cren___bit equ 4
886                     ; line_number = 114
887                     ; bind _adden = _rcsta@3
888  00000018 = _adden___byte equ _rcsta
889  00000003 = _adden___bit equ 3
890                     ; line_number = 115
891                     ; bind _ferr = _rcsta@2
892  00000018 = _ferr___byte equ _rcsta
893  00000002 = _ferr___bit equ 2
894                     ; line_number = 116
895                     ; bind _oerr = _rcsta@1
896  00000018 = _oerr___byte equ _rcsta
897  00000001 = _oerr___bit equ 1
898                     ; line_number = 117
899                     ; bind _rx9d = _rcsta@0
900  00000018 = _rx9d___byte equ _rcsta
901  00000000 = _rx9d___bit equ 0
902             
903                     ; line_number = 119
904                     ; register _txreg = 
905  00000019 = _txreg equ 25
906             
907                     ; line_number = 121
908                     ; register _rcreg = 
909  0000001a = _rcreg equ 26
910             
911                     ; line_number = 123
912                     ; register _ccpr2l = 
913  0000001b = _ccpr2l equ 27
914             
915                     ; line_number = 125
916                     ; register _ccpr2h = 
917  0000001c = _ccpr2h equ 28
918             
919                     ; line_number = 127
920                     ; register _ccp2con = 
921  0000001d = _ccp2con equ 29
922                     ; line_number = 128
923                     ; bind _ccp2x = _ccp2con@5
924  0000001d = _ccp2x___byte equ _ccp2con
925  00000005 = _ccp2x___bit equ 5
926                     ; line_number = 129
927                     ; bind _ccp2y = _ccp2con@4
928  0000001d = _ccp2y___byte equ _ccp2con
929  00000004 = _ccp2y___bit equ 4
930                     ; line_number = 130
931                     ; bind _ccp2m3 = _ccp2con@3
932  0000001d = _ccp2m3___byte equ _ccp2con
933  00000003 = _ccp2m3___bit equ 3
934                     ; line_number = 131
935                     ; bind _ccp2m2 = _ccp2con@2
936  0000001d = _ccp2m2___byte equ _ccp2con
937  00000002 = _ccp2m2___bit equ 2
938                     ; line_number = 132
939                     ; bind _ccp2m1 = _ccp2con@1
940  0000001d = _ccp2m1___byte equ _ccp2con
941  00000001 = _ccp2m1___bit equ 1
942                     ; line_number = 133
943                     ; bind _ccp2m0 = _ccp2con@0
944  0000001d = _ccp2m0___byte equ _ccp2con
945  00000000 = _ccp2m0___bit equ 0
946             
947                     ; line_number = 135
948                     ; register _adresh = 
949  0000001e = _adresh equ 30
950             
951                     ; line_number = 137
952                     ; register _adcon0 = 
953  0000001f = _adcon0 equ 31
954                     ; line_number = 138
955                     ; bind _adcs1 = _adcon0@7
956  0000001f = _adcs1___byte equ _adcon0
957  00000007 = _adcs1___bit equ 7
958                     ; line_number = 139
959                     ; bind _adcs0 = _adcon0@6
960  0000001f = _adcs0___byte equ _adcon0
961  00000006 = _adcs0___bit equ 6
962                     ; line_number = 140
963                     ; bind _chs2 = _adcon0@5
964  0000001f = _chs2___byte equ _adcon0
965  00000005 = _chs2___bit equ 5
966                     ; line_number = 141
967                     ; bind _chs1 = _adcon0@4
968  0000001f = _chs1___byte equ _adcon0
969  00000004 = _chs1___bit equ 4
970                     ; line_number = 142
971                     ; bind _chs0 = _adcon0@3
972  0000001f = _chs0___byte equ _adcon0
973  00000003 = _chs0___bit equ 3
974                     ; line_number = 143
975                     ; bind _go_done = _adcon0@2
976  0000001f = _go_done___byte equ _adcon0
977  00000002 = _go_done___bit equ 2
978                     ; line_number = 144
979                     ; bind _adon = _adcon0@0
980  0000001f = _adon___byte equ _adcon0
981  00000000 = _adon___bit equ 0
982             
983                     ; # Bank 1:
984             
985                     ; line_number = 148
986                     ; register _option_reg = 
987  00000081 = _option_reg equ 129
988                     ; line_number = 149
989                     ; bind _rbpu = _option_reg@7
990  00000081 = _rbpu___byte equ _option_reg
991  00000007 = _rbpu___bit equ 7
992                     ; line_number = 150
993                     ; bind _intedg = _option_reg@6
994  00000081 = _intedg___byte equ _option_reg
995  00000006 = _intedg___bit equ 6
996                     ; line_number = 151
997                     ; bind _t0cs = _option_reg@5
998  00000081 = _t0cs___byte equ _option_reg
999  00000005 = _t0cs___bit equ 5
1000                    ; line_number = 152
1001                    ; bind _t0se = _option_reg@4
1002 00000081 = _t0se___byte equ _option_reg
1003 00000004 = _t0se___bit equ 4
1004                    ; line_number = 153
1005                    ; bind _psa = _option_reg@3
1006 00000081 = _psa___byte equ _option_reg
1007 00000003 = _psa___bit equ 3
1008                    ; line_number = 154
1009                    ; bind _ps2 = _option_reg@2
1010 00000081 = _ps2___byte equ _option_reg
1011 00000002 = _ps2___bit equ 2
1012                    ; line_number = 155
1013                    ; bind _ps1 = _option_reg@1
1014 00000081 = _ps1___byte equ _option_reg
1015 00000001 = _ps1___bit equ 1
1016                    ; line_number = 156
1017                    ; bind _ps0 = _option_reg@0
1018 00000081 = _ps0___byte equ _option_reg
1019 00000000 = _ps0___bit equ 0
1020            
1021                    ; line_number = 158
1022                    ; register _trisa = 
1023 00000085 = _trisa equ 133
1024            
1025                    ; line_number = 160
1026                    ; register _trisb = 
1027 00000086 = _trisb equ 134
1028            
1029                    ; line_number = 162
1030                    ; register _trisc = 
1031 00000087 = _trisc equ 135
1032            
1033                    ; line_number = 164
1034                    ; register _pie1 = 
1035 0000008c = _pie1 equ 140
1036                    ; line_number = 165
1037                    ; bind _pspie = _pie1@7
1038 0000008c = _pspie___byte equ _pie1
1039 00000007 = _pspie___bit equ 7
1040                    ; line_number = 166
1041                    ; bind _adie = _pie1@6
1042 0000008c = _adie___byte equ _pie1
1043 00000006 = _adie___bit equ 6
1044                    ; line_number = 167
1045                    ; bind _rcie = _pie1@5
1046 0000008c = _rcie___byte equ _pie1
1047 00000005 = _rcie___bit equ 5
1048                    ; line_number = 168
1049                    ; bind _txie = _pie1@4
1050 0000008c = _txie___byte equ _pie1
1051 00000004 = _txie___bit equ 4
1052                    ; line_number = 169
1053                    ; bind _sspie = _pie1@3
1054 0000008c = _sspie___byte equ _pie1
1055 00000003 = _sspie___bit equ 3
1056                    ; line_number = 170
1057                    ; bind _ccp1ie = _pie1@2
1058 0000008c = _ccp1ie___byte equ _pie1
1059 00000002 = _ccp1ie___bit equ 2
1060                    ; line_number = 171
1061                    ; bind _tmr2ie = _pie1@1
1062 0000008c = _tmr2ie___byte equ _pie1
1063 00000001 = _tmr2ie___bit equ 1
1064                    ; line_number = 172
1065                    ; bind _tmr1ie = _pie1@0
1066 0000008c = _tmr1ie___byte equ _pie1
1067 00000000 = _tmr1ie___bit equ 0
1068            
1069                    ; line_number = 174
1070                    ; register _pie2 = 
1071 0000008d = _pie2 equ 141
1072                    ; line_number = 175
1073                    ; bind _eeie = _pie2@4
1074 0000008d = _eeie___byte equ _pie2
1075 00000004 = _eeie___bit equ 4
1076                    ; line_number = 176
1077                    ; bind _bcie = _pie2@3
1078 0000008d = _bcie___byte equ _pie2
1079 00000003 = _bcie___bit equ 3
1080                    ; line_number = 177
1081                    ; bind _ccp2ie = _pie2@0
1082 0000008d = _ccp2ie___byte equ _pie2
1083 00000000 = _ccp2ie___bit equ 0
1084            
1085                    ; line_number = 179
1086                    ; register _pcon = 
1087 0000008e = _pcon equ 142
1088                    ; line_number = 180
1089                    ; bind _por = _pcon@1
1090 0000008e = _por___byte equ _pcon
1091 00000001 = _por___bit equ 1
1092                    ; line_number = 181
1093                    ; bind _bor = _pcon@0
1094 0000008e = _bor___byte equ _pcon
1095 00000000 = _bor___bit equ 0
1096            
1097                    ; line_number = 183
1098                    ; register _sspcon2 = 
1099 00000091 = _sspcon2 equ 145
1100                    ; line_number = 184
1101                    ; bind _gcen = _sspcon2@7
1102 00000091 = _gcen___byte equ _sspcon2
1103 00000007 = _gcen___bit equ 7
1104                    ; line_number = 185
1105                    ; bind _ackstat = _sspcon2@6
1106 00000091 = _ackstat___byte equ _sspcon2
1107 00000006 = _ackstat___bit equ 6
1108                    ; line_number = 186
1109                    ; bind _ackdt = _sspcon2@5
1110 00000091 = _ackdt___byte equ _sspcon2
1111 00000005 = _ackdt___bit equ 5
1112                    ; line_number = 187
1113                    ; bind _acken = _sspcon2@4
1114 00000091 = _acken___byte equ _sspcon2
1115 00000004 = _acken___bit equ 4
1116                    ; line_number = 188
1117                    ; bind _rcen = _sspcon2@3
1118 00000091 = _rcen___byte equ _sspcon2
1119 00000003 = _rcen___bit equ 3
1120                    ; line_number = 189
1121                    ; bind _pen = _sspcon2@2
1122 00000091 = _pen___byte equ _sspcon2
1123 00000002 = _pen___bit equ 2
1124                    ; line_number = 190
1125                    ; bind _rsen = _sspcon2@1
1126 00000091 = _rsen___byte equ _sspcon2
1127 00000001 = _rsen___bit equ 1
1128                    ; line_number = 191
1129                    ; bind _sen = _sspcon2@0
1130 00000091 = _sen___byte equ _sspcon2
1131 00000000 = _sen___bit equ 0
1132            
1133                    ; line_number = 193
1134                    ; register _pr2 = 
1135 00000092 = _pr2 equ 146
1136            
1137                    ; line_number = 195
1138                    ; register _sspadd = 
1139 00000093 = _sspadd equ 147
1140            
1141                    ; line_number = 197
1142                    ; register _sspstat = 
1143 00000094 = _sspstat equ 148
1144                    ; line_number = 198
1145                    ; bind _smp = _sspstat@7
1146 00000094 = _smp___byte equ _sspstat
1147 00000007 = _smp___bit equ 7
1148                    ; line_number = 199
1149                    ; bind _cke = _sspstat@6
1150 00000094 = _cke___byte equ _sspstat
1151 00000006 = _cke___bit equ 6
1152                    ; line_number = 200
1153                    ; bind _da = _sspstat@5
1154 00000094 = _da___byte equ _sspstat
1155 00000005 = _da___bit equ 5
1156                    ; line_number = 201
1157                    ; bind _p = _sspstat@4
1158 00000094 = _p___byte equ _sspstat
1159 00000004 = _p___bit equ 4
1160                    ; line_number = 202
1161                    ; bind _s = _sspstat@3
1162 00000094 = _s___byte equ _sspstat
1163 00000003 = _s___bit equ 3
1164                    ; line_number = 203
1165                    ; bind _rw = _sspstat@2
1166 00000094 = _rw___byte equ _sspstat
1167 00000002 = _rw___bit equ 2
1168                    ; line_number = 204
1169                    ; bind _ua = _sspstat@1
1170 00000094 = _ua___byte equ _sspstat
1171 00000001 = _ua___bit equ 1
1172                    ; line_number = 205
1173                    ; bind _bf = _sspstat@0
1174 00000094 = _bf___byte equ _sspstat
1175 00000000 = _bf___bit equ 0
1176            
1177                    ; line_number = 207
1178                    ; register _txsta = 
1179 00000098 = _txsta equ 152
1180                    ; line_number = 208
1181                    ; bind _csrc = _txsta@7
1182 00000098 = _csrc___byte equ _txsta
1183 00000007 = _csrc___bit equ 7
1184                    ; line_number = 209
1185                    ; bind _tx9 = _txsta@6
1186 00000098 = _tx9___byte equ _txsta
1187 00000006 = _tx9___bit equ 6
1188                    ; line_number = 210
1189                    ; bind _txen = _txsta@5
1190 00000098 = _txen___byte equ _txsta
1191 00000005 = _txen___bit equ 5
1192                    ; line_number = 211
1193                    ; bind _sync = _txsta@4
1194 00000098 = _sync___byte equ _txsta
1195 00000004 = _sync___bit equ 4
1196                    ; line_number = 212
1197                    ; bind _brgh = _txsta@2
1198 00000098 = _brgh___byte equ _txsta
1199 00000002 = _brgh___bit equ 2
1200                    ; line_number = 213
1201                    ; bind _trmt = _txsta@1
1202 00000098 = _trmt___byte equ _txsta
1203 00000001 = _trmt___bit equ 1
1204                    ; line_number = 214
1205                    ; bind _tx9d = _txsta@0
1206 00000098 = _tx9d___byte equ _txsta
1207 00000000 = _tx9d___bit equ 0
1208            
1209                    ; line_number = 216
1210                    ; register _spbrg = 
1211 00000099 = _spbrg equ 153
1212            
1213                    ; line_number = 218
1214                    ; register _adresl = 
1215 0000009e = _adresl equ 158
1216            
1217                    ; line_number = 220
1218                    ; register _adcon1 = 
1219 0000009f = _adcon1 equ 159
1220                    ; line_number = 221
1221                    ; bind _adfm = _adcon1@7
1222 0000009f = _adfm___byte equ _adcon1
1223 00000007 = _adfm___bit equ 7
1224                    ; line_number = 222
1225                    ; bind _pcfg3 = _adcon1@3
1226 0000009f = _pcfg3___byte equ _adcon1
1227 00000003 = _pcfg3___bit equ 3
1228                    ; line_number = 223
1229                    ; bind _pcfg2 = _adcon1@2
1230 0000009f = _pcfg2___byte equ _adcon1
1231 00000002 = _pcfg2___bit equ 2
1232                    ; line_number = 224
1233                    ; bind _pcfg1 = _adcon1@1
1234 0000009f = _pcfg1___byte equ _adcon1
1235 00000001 = _pcfg1___bit equ 1
1236                    ; line_number = 225
1237                    ; bind _pcfg0 = _adcon1@0
1238 0000009f = _pcfg0___byte equ _adcon1
1239 00000000 = _pcfg0___bit equ 0
1240            
1241                    ; # Bank 2:
1242            
1243                    ; line_number = 229
1244                    ; register _eedata = 
1245 0000010c = _eedata equ 268
1246            
1247                    ; line_number = 231
1248                    ; register _eeadr = 
1249 0000010d = _eeadr equ 269
1250            
1251                    ; line_number = 233
1252                    ; register _eedath = 
1253 0000010e = _eedath equ 270
1254            
1255                    ; line_number = 235
1256                    ; register _eeadrh = 
1257 0000010f = _eeadrh equ 271
1258            
1259                    ; # Bank 3:
1260            
1261                    ; line_number = 239
1262                    ; register _eecon1 = 
1263 0000018c = _eecon1 equ 396
1264                    ; line_number = 240
1265                    ; bind _eepgd = _eecon1@7
1266 0000018c = _eepgd___byte equ _eecon1
1267 00000007 = _eepgd___bit equ 7
1268                    ; line_number = 241
1269                    ; bind _wrerr = _eecon1@3
1270 0000018c = _wrerr___byte equ _eecon1
1271 00000003 = _wrerr___bit equ 3
1272                    ; line_number = 242
1273                    ; bind _wren = _eecon1@2
1274 0000018c = _wren___byte equ _eecon1
1275 00000002 = _wren___bit equ 2
1276                    ; line_number = 243
1277                    ; bind _wr = _eecon1@1
1278 0000018c = _wr___byte equ _eecon1
1279 00000001 = _wr___bit equ 1
1280                    ; line_number = 244
1281                    ; bind _rd = _eecon1@0
1282 0000018c = _rd___byte equ _eecon1
1283 00000000 = _rd___bit equ 0
1284            
1285                    ; line_number = 246
1286                    ; register _eecon2 = 
1287 0000018d = _eecon2 equ 397
1288            
1289            
1290                    ; buffer = '_pic16f876'
1291                    ; line_number = 266
1292                    ; library _pic16f87x exited
1293            
1294            
1295                    ; buffer = 'debug'
1296                    ; line_number = 6
1297                    ; library _pic16f876 exited
1298                    ; line_number = 7
1299                    ; library _uart entered
1300                    ; # Copyright (c) 2004 by Wayne C. Gramlich.
1301                    ; # All rights reserved.
1302            
1303                    ; # This library contains some procedures for accessing the UART.
1304            
1305                    ; Delaying code generation for procedure  _uart_byte_safe_get
1306                    ; Delaying code generation for procedure  _uart_byte_get
1307                    ; Delaying code generation for procedure  _uart_hex_put
1308                    ; Delaying code generation for procedure  _uart_nibble_put
1309                    ; Delaying code generation for procedure  _uart_space_put
1310                    ; Delaying code generation for procedure  _uart_crlf_put
1311                    ; Delaying code generation for procedure  _uart_byte_put
1312            
1313                    ; line_number = 7
1314                    ; library _uart exited
1315            
1316                    ; line_number = 9
1317                    ; package pdip
1318                    ; line_number = 10
1319                    ; pin 1 = mclr
1320                    ; line_number = 11
1321                    ;  pin 2 = ra0_in, name = en
1322 00000005 = en___byte equ _porta
1323 00000000 = en___bit equ 0
1324                    ; line_number = 12
1325                    ;  pin 3 = ra1_unused
1326                    ; line_number = 13
1327                    ;  pin 4 = ra2_out, name = x_dir
1328 00000005 = x_dir___byte equ _porta
1329 00000002 = x_dir___bit equ 2
1330                    ; line_number = 14
1331                    ;  pin 5 = ra3_out, name = fault
1332 00000005 = fault___byte equ _porta
1333 00000003 = fault___bit equ 3
1334                    ; line_number = 15
1335                    ;  pin 6 = ra4_unused
1336                    ; line_number = 16
1337                    ;  pin 7 = ra5_out, name = x_step
1338 00000005 = x_step___byte equ _porta
1339 00000005 = x_step___bit equ 5
1340                    ; line_number = 17
1341                    ;  pin 8 = vss
1342                    ; line_number = 18
1343                    ;  pin 9 = clkin
1344                    ; line_number = 19
1345                    ;  pin 10 = osc2
1346                    ; line_number = 20
1347                    ;  pin 11 = rc0_out, name = y_dir
1348 00000007 = y_dir___byte equ _portc
1349 00000000 = y_dir___bit equ 0
1350                    ; line_number = 21
1351                    ;  pin 12 = rc1_out, name = y_step
1352 00000007 = y_step___byte equ _portc
1353 00000001 = y_step___bit equ 1
1354                    ; line_number = 22
1355                    ;  pin 13 = rc2_out, name = z_dir
1356 00000007 = z_dir___byte equ _portc
1357 00000002 = z_dir___bit equ 2
1358                    ; line_number = 23
1359                    ;  pin 14 = rc3_unused
1360                    ; line_number = 24
1361                    ;  pin 15 = rc4_unused
1362                    ; line_number = 25
1363                    ;  pin 16 = rc5_unused
1364                    ; line_number = 26
1365                    ;  pin 17 = tx
1366                    ; line_number = 27
1367                    ;  pin 18 = rx
1368                    ; line_number = 28
1369                    ;  pin 19 = vss2
1370                    ; line_number = 29
1371                    ;  pin 20 = vdd
1372                    ; line_number = 30
1373                    ;  pin 21 = rb0_out, name = z_step
1374 00000006 = z_step___byte equ _portb
1375 00000000 = z_step___bit equ 0
1376                    ; line_number = 31
1377                    ;  pin 22 = rb1_out, name = a_dir
1378 00000006 = a_dir___byte equ _portb
1379 00000001 = a_dir___bit equ 1
1380                    ; line_number = 32
1381                    ;  pin 23 = rb2_out, name = a_step
1382 00000006 = a_step___byte equ _portb
1383 00000002 = a_step___bit equ 2
1384                    ; line_number = 33
1385                    ;  pin 24 = rb3_in, name = probe
1386 00000006 = probe___byte equ _portb
1387 00000003 = probe___bit equ 3
1388                    ; line_number = 34
1389                    ;  pin 25 = rb4_in, name = detect
1390 00000006 = detect___byte equ _portb
1391 00000004 = detect___bit equ 4
1392                    ; line_number = 35
1393                    ;  pin 26 = rb5_out, name = mode
1394 00000006 = mode___byte equ _portb
1395 00000005 = mode___bit equ 5
1396                    ; line_number = 36
1397                    ;  pin 27 = rb6_out, name = q_dir
1398 00000006 = q_dir___byte equ _portb
1399 00000006 = q_dir___bit equ 6
1400                    ; line_number = 37
1401                    ;  pin 28 = rb7_out, name = q_step
1402 00000006 = q_step___byte equ _portb
1403 00000007 = q_step___bit equ 7
1404            
1405            
1406                    ; line_number = 42
1407                    ; constant microsecond = 5
1408 00000005 = microsecond equ 5
1409                    ; line_number = 43
1410                    ; constant delay_amount = 10 * microsecond
1411 00000032 = delay_amount equ 50
1412            
1413                    ; line_number = 45
1414                    ; global command byte
1415 00000023 = command equ globals___0+3
1416            
1417                    ; line_number = 47
1418                    ; origin 0
1419   0000 :           org     0
1420            
1421                    ; line_number = 49
1422                    ; procedure main
1423   0000 :   main:
1424                    ; Initialize some registers
1425 0000 019f          clrf    _adcon0
1426 0001 3007          movlw   7
1427 0002 1683          bsf     __rp0___byte, __rp0___bit
1428 0003 009f          movwf   _adcon1
1429 0004 3001          movlw   1
1430 0005 0085          movwf   _trisa
1431 0006 3018          movlw   24
1432 0007 0086          movwf   _trisb
1433 0008 3080          movlw   128
1434 0009 0087          movwf   _trisc
1435                    ; arguments_none
1436                    ; line_number = 51
1437                    ;  returns_nothing
1438            
1439                    ; # Turn of general interrupts:
1440                    ; before procedure statements delay=non-uniform, bit states=(data:00=>01 code:00=>00)
1441                    ; line_number = 54
1442                    ;  _gie := 0
1443 000a 138b          bcf     _gie___byte, _gie___bit
1444            
1445                    ; # Initilize serial port:
1446            
1447                    ; # Do Baud Rate selection and asynch. serial port enable:
1448                    ; # Prescaler = low:
1449                    ; line_number = 60
1450                    ;  _brgh := 1
1451 000b 1518          bsf     _brgh___byte, _brgh___bit
1452                    ; # Baud rate = 19200 Baud:
1453                    ; line_number = 62
1454                    ;  _spbrg := 64
1455 000c 3040          movlw   64
1456 000d 0099          movwf   _spbrg
1457                    ; # Asynchronous mode:
1458                    ; line_number = 64
1459                    ;  _sync := 0
1460 000e 1218          bcf     _sync___byte, _sync___bit
1461                    ; # Serial port enable:
1462                    ; line_number = 66
1463                    ;  _spen := 1
1464 000f 1283          bcf     __rp0___byte, __rp0___bit
1465 0010 1798          bsf     _spen___byte, _spen___bit
1466                    ; line_number = 67
1467                    ;  _txif := 0
1468 0011 120c          bcf     _txif___byte, _txif___bit
1469            
1470                    ; # Enable the transmitter:
1471                    ; # 8-bit mode:
1472                    ; line_number = 71
1473                    ;  _tx9 := 0
1474 0012 1683          bsf     __rp0___byte, __rp0___bit
1475 0013 1318          bcf     _tx9___byte, _tx9___bit
1476                    ; # Enable transmitter:
1477                    ; line_number = 73
1478                    ;  _txen := 1
1479 0014 1698          bsf     _txen___byte, _txen___bit
1480            
1481                    ; # Enable the receiver:
1482                    ; # 8-bit mode:
1483                    ; line_number = 77
1484                    ;  _rx9 := 0
1485 0015 1283          bcf     __rp0___byte, __rp0___bit
1486 0016 1318          bcf     _rx9___byte, _rx9___bit
1487                    ; # Disable address:
1488                    ; line_number = 79
1489                    ;  _adden := 0
1490 0017 1198          bcf     _adden___byte, _adden___bit
1491                    ; # Continuous receive enable:
1492                    ; line_number = 81
1493                    ;  _cren := 1
1494 0018 1618          bsf     _cren___byte, _cren___bit
1495                    ; # Serial receive enable:
1496                    ; line_number = 83
1497                    ;  _sren := 1
1498 0019 1698          bsf     _sren___byte, _sren___bit
1499            
1500                    ; line_number = 85
1501                    ;  call _uart_crlf_put()
1502 001a 20a3          call    _uart_crlf_put
1503                    ; line_number = 86
1504                    ;  call _uart_byte_put('D')
1505 001b 3044          movlw   68
1506 001c 20a8          call    _uart_byte_put
1507                    ; line_number = 87
1508                    ;  call _uart_byte_put('e')
1509 001d 3065          movlw   101
1510 001e 20a8          call    _uart_byte_put
1511                    ; line_number = 88
1512                    ;  call _uart_byte_put('b')
1513 001f 3062          movlw   98
1514 0020 20a8          call    _uart_byte_put
1515                    ; line_number = 89
1516                    ;  call _uart_byte_put('u')
1517 0021 3075          movlw   117
1518 0022 20a8          call    _uart_byte_put
1519                    ; line_number = 90
1520                    ;  call _uart_byte_put('g')
1521 0023 3067          movlw   103
1522 0024 20a8          call    _uart_byte_put
1523                    ; line_number = 91
1524                    ;  call _uart_crlf_put()
1525 0025 20a3          call    _uart_crlf_put
1526            
1527                    ; # Initialize step and direction:
1528                    ; line_number = 94
1529                    ;  a_step := 0
1530 0026 1106          bcf     a_step___byte, a_step___bit
1531                    ; line_number = 95
1532                    ;  a_dir := 0
1533 0027 1086          bcf     a_dir___byte, a_dir___bit
1534                    ; line_number = 96
1535                    ;  x_step := 0
1536 0028 1285          bcf     x_step___byte, x_step___bit
1537                    ; line_number = 97
1538                    ;  x_dir := 0
1539 0029 1105          bcf     x_dir___byte, x_dir___bit
1540                    ; line_number = 98
1541                    ;  y_step := 0
1542 002a 1087          bcf     y_step___byte, y_step___bit
1543                    ; line_number = 99
1544                    ;  y_dir := 0
1545 002b 1007          bcf     y_dir___byte, y_dir___bit
1546                    ; line_number = 100
1547                    ;  z_step := 0
1548 002c 1006          bcf     z_step___byte, z_step___bit
1549                    ; line_number = 101
1550                    ;  z_dir := 0
1551 002d 1107          bcf     z_dir___byte, z_dir___bit
1552            
1553                    ; # Command loop:
1554                    ; line_number = 104
1555                    ;  loop_forever start
1556   002e :   main__1:
1557                    ; # Wait for a character:
1558                    ; line_number = 106
1559                    ;  command := _uart_byte_get()
1560 002e 2089          call    _uart_byte_get
1561 002f 00a3          movwf   command
1562                    ; line_number = 107
1563                    ;  if command = 'A' start
1564                    ; Left minus Right
1565 0030 30bf          movlw   191
1566 0031 0723          addwf   command,w
1567                    ; =>bit_code_emit@symbol(): sym=__z
1568                    ; CASE: true_code_size > 1 && false_code_size > 1
1569 0032 1d03          btfss   __z___byte, __z___bit
1570 0033 2837          goto    main__18
1571                    ; # Increment A:
1572                    ; line_number = 109
1573                    ;  a_dir := 1
1574 0034 1486          bsf     a_dir___byte, a_dir___bit
1575                    ; line_number = 110
1576                    ;  a_step := 1
1577 0035 1506          bsf     a_step___byte, a_step___bit
1578                    ; Recombine code1_bit_states != code2_bit_states
1579 0036 2870          goto    main__19
1580   0037 :   main__18:
1581                    ; line_number = 111
1582                    ; Left minus Right
1583 0037 30a8          movlw   168
1584 0038 0723          addwf   command,w
1585                    ; =>bit_code_emit@symbol(): sym=__z
1586                    ; CASE: true_code_size > 1 && false_code_size > 1
1587 0039 1d03          btfss   __z___byte, __z___bit
1588 003a 283e          goto    main__16
1589                    ; # Increment X:
1590                    ; line_number = 113
1591                    ;  x_dir := 1
1592 003b 1505          bsf     x_dir___byte, x_dir___bit
1593                    ; line_number = 114
1594                    ;  x_step := 1
1595 003c 1685          bsf     x_step___byte, x_step___bit
1596                    ; Recombine code1_bit_states != code2_bit_states
1597 003d 2870          goto    main__17
1598   003e :   main__16:
1599                    ; line_number = 115
1600                    ; Left minus Right
1601 003e 30a7          movlw   167
1602 003f 0723          addwf   command,w
1603                    ; =>bit_code_emit@symbol(): sym=__z
1604                    ; CASE: true_code_size > 1 && false_code_size > 1
1605 0040 1d03          btfss   __z___byte, __z___bit
1606 0041 2845          goto    main__14
1607                    ; # Increment Y:
1608                    ; line_number = 117
1609                    ;  y_dir := 1
1610 0042 1407          bsf     y_dir___byte, y_dir___bit
1611                    ; line_number = 118
1612                    ;  y_step := 1
1613 0043 1487          bsf     y_step___byte, y_step___bit
1614                    ; Recombine code1_bit_states != code2_bit_states
1615 0044 2870          goto    main__15
1616   0045 :   main__14:
1617                    ; line_number = 119
1618                    ; Left minus Right
1619 0045 30a6          movlw   166
1620 0046 0723          addwf   command,w
1621                    ; =>bit_code_emit@symbol(): sym=__z
1622                    ; CASE: true_code_size > 1 && false_code_size > 1
1623 0047 1d03          btfss   __z___byte, __z___bit
1624 0048 284c          goto    main__12
1625                    ; # Increment Z:
1626                    ; line_number = 121
1627                    ;  z_dir := 1
1628 0049 1507          bsf     z_dir___byte, z_dir___bit
1629                    ; line_number = 122
1630                    ;  z_step := 1
1631 004a 1406          bsf     z_step___byte, z_step___bit
1632                    ; Recombine code1_bit_states != code2_bit_states
1633 004b 2870          goto    main__13
1634   004c :   main__12:
1635                    ; line_number = 123
1636                    ; Left minus Right
1637 004c 309f          movlw   159
1638 004d 0723          addwf   command,w
1639                    ; =>bit_code_emit@symbol(): sym=__z
1640                    ; CASE: true_code_size > 1 && false_code_size > 1
1641 004e 1d03          btfss   __z___byte, __z___bit
1642 004f 2853          goto    main__10
1643                    ; # Decrement A:
1644                    ; line_number = 125
1645                    ;  a_dir := 0
1646 0050 1086          bcf     a_dir___byte, a_dir___bit
1647                    ; line_number = 126
1648                    ;  a_step := 1
1649 0051 1506          bsf     a_step___byte, a_step___bit
1650                    ; Recombine code1_bit_states != code2_bit_states
1651 0052 2870          goto    main__11
1652   0053 :   main__10:
1653                    ; line_number = 127
1654                    ; Left minus Right
1655 0053 3088          movlw   136
1656 0054 0723          addwf   command,w
1657                    ; =>bit_code_emit@symbol(): sym=__z
1658                    ; CASE: true_code_size > 1 && false_code_size > 1
1659 0055 1d03          btfss   __z___byte, __z___bit
1660 0056 285a          goto    main__8
1661                    ; # Decrement X:
1662                    ; line_number = 129
1663                    ;  x_dir := 0
1664 0057 1105          bcf     x_dir___byte, x_dir___bit
1665                    ; line_number = 130
1666                    ;  x_step := 1
1667 0058 1685          bsf     x_step___byte, x_step___bit
1668                    ; Recombine code1_bit_states != code2_bit_states
1669 0059 2870          goto    main__9
1670   005a :   main__8:
1671                    ; line_number = 131
1672                    ; Left minus Right
1673 005a 3087          movlw   135
1674 005b 0723          addwf   command,w
1675                    ; =>bit_code_emit@symbol(): sym=__z
1676                    ; CASE: true_code_size > 1 && false_code_size > 1
1677 005c 1d03          btfss   __z___byte, __z___bit
1678 005d 2861          goto    main__6
1679                    ; # Decrement Y:
1680                    ; line_number = 133
1681                    ;  y_dir := 0
1682 005e 1007          bcf     y_dir___byte, y_dir___bit
1683                    ; line_number = 134
1684                    ;  y_step := 1
1685 005f 1487          bsf     y_step___byte, y_step___bit
1686                    ; Recombine code1_bit_states != code2_bit_states
1687 0060 2870          goto    main__7
1688   0061 :   main__6:
1689                    ; line_number = 135
1690                    ; Left minus Right
1691 0061 3086          movlw   134
1692 0062 0723          addwf   command,w
1693                    ; =>bit_code_emit@symbol(): sym=__z
1694                    ; CASE: true_code_size > 1 && false_code_size > 1
1695 0063 1d03          btfss   __z___byte, __z___bit
1696 0064 2868          goto    main__4
1697                    ; # Decrement Z:
1698                    ; line_number = 137
1699                    ;  z_dir := 0
1700 0065 1107          bcf     z_dir___byte, z_dir___bit
1701                    ; line_number = 138
1702                    ;  z_step := 1
1703 0066 1406          bsf     z_step___byte, z_step___bit
1704                    ; Recombine code1_bit_states != code2_bit_states
1705 0067 2870          goto    main__5
1706   0068 :   main__4:
1707                    ; line_number = 139
1708                    ; Left minus Right
1709 0068 30f3          movlw   243
1710 0069 0723          addwf   command,w
1711                    ; =>bit_code_emit@symbol(): sym=__z
1712                    ; CASE: true.size=1 false.size>1; no GOTO
1713 006a 1d03          btfss   __z___byte, __z___bit
1714 006b 286e          goto    main__2
1715                    ; # Carriage-return/line-feed:
1716                    ; line_number = 141
1717                    ;  call _uart_crlf_put()
1718 006c 20a3          call    _uart_crlf_put
1719                    ; Recombine code1_bit_states != code2_bit_states
1720 006d 2870          goto    main__3
1721   006e :   main__2:
1722                    ; # Unrecognized command:
1723                    ; line_number = 144
1724                    ;  command := '?'
1725 006e 303f          movlw   63
1726 006f 00a3          movwf   command
1727            
1728   0070 :   main__3:
1729                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1730   0070 :   main__5:
1731                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1732   0070 :   main__7:
1733                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1734   0070 :   main__9:
1735                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1736   0070 :   main__11:
1737                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1738   0070 :   main__13:
1739                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1740   0070 :   main__15:
1741                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1742   0070 :   main__17:
1743                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1744   0070 :   main__19:
1745                    ; <=bit_code_emit@symbol; sym=__z (data:00=>00 code:00=>00)
1746                    ; line_number = 107
1747                    ;  if command = 'A' done
1748                    ; # Clear the step pulses after waiting for 10usec:
1749                    ; line_number = 147
1750                    ;  delay delay_amount start
1751                    ; Delay expression evaluates to 50
1752                    ; line_number = 148
1753                    ; do_nothing
1754                    ; Delay 50 cycles
1755                    ; Delay loop takes 12 * 4 = 48 cycles
1756 0070 300c          movlw   12
1757   0071 :   main__20:
1758 0071 3eff          addlw   255
1759 0072 1d03          btfss   __z___byte, __z___bit
1760 0073 2871          goto    main__20
1761 0074 2875          goto    main__21
1762   0075 :   main__21:
1763                    ; line_number = 147
1764                    ;  delay delay_amount done
1765                    ; line_number = 149
1766                    ; a_step := 0
1767 0075 1106          bcf     a_step___byte, a_step___bit
1768                    ; line_number = 150
1769                    ;  x_step := 0
1770 0076 1285          bcf     x_step___byte, x_step___bit
1771                    ; line_number = 151
1772                    ;  y_step := 0
1773 0077 1087          bcf     y_step___byte, y_step___bit
1774                    ; line_number = 152
1775                    ;  z_step := 0
1776 0078 1006          bcf     z_step___byte, z_step___bit
1777            
1778                    ; # Echo command:
1779                    ; line_number = 155
1780                    ;  call _uart_byte_put(command)
1781 0079 0823          movf    command,w
1782 007a 20a8          call    _uart_byte_put
1783            
1784            
1785                    ; line_number = 104
1786                    ;  loop_forever wrap-up
1787 007b 282e          goto    main__1
1788                    ; line_number = 104
1789                    ;  loop_forever done
1790                    ; delay after procedure statements=non-uniform
1791            
1792            
1793            
1794            
1795            
1796                    ; Appending 7 delayed procedures to code bank 0
1797                    ; buffer = '_uart'
1798                    ; line_number = 7
1799                    ; procedure _uart_byte_safe_get
1800   007c :   _uart_byte_safe_get:
1801                    ; arguments_none
1802                    ; line_number = 9
1803                    ;  returns byte
1804            
1805                    ; # This procedure will the next byte from UART.  If no byte
1806                    ; # received in a reasonable time, 0xfc is returned.
1807            
1808                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
1809                    ; line_number = 14
1810                    ;  loop_exactly 255 start
1811 00000024 = _uart_byte_safe_get__1 equ globals___0+4
1812 007c 30ff          movlw   255
1813 007d 00a4          movwf   _uart_byte_safe_get__1
1814   007e :   _uart_byte_safe_get__2:
1815                    ; line_number = 15
1816                    ; loop_exactly 255 start
1817 00000025 = _uart_byte_safe_get__3 equ globals___0+5
1818 007e 30ff          movlw   255
1819 007f 00a5          movwf   _uart_byte_safe_get__3
1820   0080 :   _uart_byte_safe_get__4:
1821                    ; line_number = 16
1822                    ; if _rcif start
1823                    ; =>bit_code_emit@symbol(): sym=_rcif
1824                    ; CASE: true_code.size = 0 && false_code.size > 1
1825 0080 1e8c          btfss   _rcif___byte, _rcif___bit
1826 0081 2884          goto    _uart_byte_safe_get__5
1827                    ; line_number = 17
1828                    ; return _rcreg start
1829                    ; line_number = 17
1830 0082 081a          movf    _rcreg,w
1831 0083 0008          return  
1832                    ; line_number = 17
1833                    ; return _rcreg done
1834                    ; Recombine size1 = 0 || size2 = 0
1835   0084 :   _uart_byte_safe_get__5:
1836                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
1837                    ; line_number = 16
1838                    ; if _rcif done
1839                    ; line_number = 15
1840                    ; loop_exactly 255 wrap-up
1841 0084 0ba5          decfsz  _uart_byte_safe_get__3,f
1842 0085 2880          goto    _uart_byte_safe_get__4
1843                    ; line_number = 15
1844                    ; loop_exactly 255 done
1845                    ; line_number = 14
1846                    ;  loop_exactly 255 wrap-up
1847 0086 0ba4          decfsz  _uart_byte_safe_get__1,f
1848 0087 287e          goto    _uart_byte_safe_get__2
1849                    ; line_number = 14
1850                    ;  loop_exactly 255 done
1851                    ; line_number = 18
1852                    ; return 0xfc start
1853                    ; line_number = 18
1854 0088 34fc          retlw   252
1855                    ; line_number = 18
1856                    ; return 0xfc done
1857            
1858            
1859                    ; delay after procedure statements=non-uniform
1860            
1861            
1862            
1863            
1864                    ; line_number = 21
1865                    ; procedure _uart_byte_get
1866   0089 :   _uart_byte_get:
1867                    ; arguments_none
1868                    ; line_number = 23
1869                    ;  returns byte
1870            
1871                    ; # This procedure will return the next byte from the UART.
1872            
1873                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
1874                    ; line_number = 27
1875                    ;  while !_rcif start
1876   0089 :   _uart_byte_get__1:
1877                    ; =>bit_code_emit@symbol(): sym=_rcif
1878                    ; CASE: true_code.size=0 && false_code.size=1
1879 0089 1e8c          btfss   _rcif___byte, _rcif___bit
1880                    ; true.size=0 false_size=1 false=GOTO
1881 008a 2889          goto    _uart_byte_get__1
1882                    ; Recombine size1 = 0 || size2 = 0
1883                    ; <=bit_code_emit@symbol; sym=_rcif (data:00=>00 code:00=>00)
1884                    ; line_number = 27
1885                    ;  while !_rcif done
1886                    ; line_number = 29
1887                    ; return _rcreg start
1888                    ; line_number = 29
1889 008b 081a          movf    _rcreg,w
1890 008c 0008          return  
1891                    ; line_number = 29
1892                    ; return _rcreg done
1893            
1894            
1895                    ; delay after procedure statements=non-uniform
1896            
1897            
1898            
1899            
1900                    ; line_number = 32
1901                    ; procedure _uart_hex_put
1902   008d :   _uart_hex_put:
1903                    ; Last argument is sitting in W; save into argument variable
1904 008d 00a0          movwf   _uart_hex_put__value
1905                    ; delay=4294967295
1906                    ; line_number = 33
1907                    ; argument value byte
1908 00000020 = _uart_hex_put__value equ globals___0
1909                    ; line_number = 34
1910                    ;  returns_nothing
1911            
1912                    ; # This procedure will output {value} to the UART as a 2-digit
1913                    ; # hexadecimal number.
1914            
1915                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
1916                    ; line_number = 39
1917                    ;  call _uart_nibble_put(value >> 4)
1918 00000026 = _uart_hex_put__1 equ globals___0+6
1919 008e 0e20          swapf   _uart_hex_put__value,w
1920 008f 390f          andlw   15
1921 0090 2095          call    _uart_nibble_put
1922                    ; line_number = 40
1923                    ;  call _uart_nibble_put(value & 0xf)
1924 0091 300f          movlw   15
1925 0092 0520          andwf   _uart_hex_put__value,w
1926 0093 2095          call    _uart_nibble_put
1927            
1928            
1929                    ; delay after procedure statements=non-uniform
1930                    ; Implied return
1931 0094 3400          retlw   0
1932            
1933            
1934            
1935            
1936                    ; line_number = 43
1937                    ; procedure _uart_nibble_put
1938   0095 :   _uart_nibble_put:
1939                    ; Last argument is sitting in W; save into argument variable
1940 0095 00a1          movwf   _uart_nibble_put__nibble
1941                    ; delay=4294967295
1942                    ; line_number = 44
1943                    ; argument nibble byte
1944 00000021 = _uart_nibble_put__nibble equ globals___0+1
1945                    ; line_number = 45
1946                    ;  returns_nothing
1947            
1948                    ; # This procedure will output {value} to UART as a 1 digit
1949                    ; # hexadecimal number.
1950            
1951                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
1952                    ; line_number = 50
1953                    ;  if nibble < 10 start
1954 0096 300a          movlw   10
1955 0097 0221          subwf   _uart_nibble_put__nibble,w
1956                    ; =>bit_code_emit@symbol(): sym=__c
1957                    ; CASE: true_size=1 && false_size=1
1958 0098 1803          btfsc   __c___byte, __c___bit
1959                    ; line_number = 53
1960                    ; nibble := nibble - 10 + 'A'
1961 0099 3037          movlw   55
1962 009a 1c03          btfss   __c___byte, __c___bit
1963                    ; line_number = 51
1964                    ; nibble := nibble + '0'
1965 009b 3030          movlw   48
1966 009c 07a1          addwf   _uart_nibble_put__nibble,f
1967                    ; <=bit_code_emit@symbol; sym=__c (data:00=>00 code:00=>00)
1968                    ; line_number = 50
1969                    ;  if nibble < 10 done
1970                    ; line_number = 54
1971                    ; call _uart_byte_put(nibble)
1972 009d 0821          movf    _uart_nibble_put__nibble,w
1973 009e 20a8          call    _uart_byte_put
1974            
1975            
1976                    ; delay after procedure statements=non-uniform
1977                    ; Implied return
1978 009f 3400          retlw   0
1979            
1980            
1981            
1982            
1983                    ; line_number = 57
1984                    ; procedure _uart_space_put
1985   00a0 :   _uart_space_put:
1986                    ; arguments_none
1987                    ; line_number = 59
1988                    ;  returns_nothing
1989            
1990                    ; # This procedure will output a space to the UART.
1991            
1992                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
1993                    ; line_number = 63
1994                    ;  call _uart_byte_put(' ')
1995 00a0 3020          movlw   32
1996 00a1 20a8          call    _uart_byte_put
1997            
1998            
1999                    ; delay after procedure statements=non-uniform
2000                    ; Implied return
2001 00a2 3400          retlw   0
2002            
2003            
2004            
2005            
2006                    ; line_number = 66
2007                    ; procedure _uart_crlf_put
2008   00a3 :   _uart_crlf_put:
2009                    ; arguments_none
2010                    ; line_number = 68
2011                    ;  returns_nothing
2012            
2013                    ; # This procedure will output a carriage return line feed sequecne to
2014                    ; # the UART.
2015            
2016                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2017                    ; line_number = 73
2018                    ;  call _uart_byte_put('\cr\')
2019 00a3 300d          movlw   13
2020 00a4 20a8          call    _uart_byte_put
2021                    ; line_number = 74
2022                    ;  call _uart_byte_put('\lf\')
2023 00a5 300a          movlw   10
2024 00a6 20a8          call    _uart_byte_put
2025            
2026            
2027                    ; delay after procedure statements=non-uniform
2028                    ; Implied return
2029 00a7 3400          retlw   0
2030            
2031            
2032            
2033            
2034                    ; line_number = 77
2035                    ; procedure _uart_byte_put
2036   00a8 :   _uart_byte_put:
2037                    ; Last argument is sitting in W; save into argument variable
2038 00a8 00a2          movwf   _uart_byte_put__byte
2039                    ; delay=4294967295
2040                    ; line_number = 78
2041                    ; argument byte byte
2042 00000022 = _uart_byte_put__byte equ globals___0+2
2043                    ; line_number = 79
2044                    ;  returns_nothing
2045            
2046                    ; # This procedure will send {byte} out using to the UART.
2047            
2048                    ; before procedure statements delay=non-uniform, bit states=(data:00=>00 code:00=>00)
2049                    ; line_number = 83
2050                    ;  while !_txif start
2051   00a9 :   _uart_byte_put__1:
2052                    ; =>bit_code_emit@symbol(): sym=_txif
2053                    ; CASE: true_code.size=0 && false_code.size=1
2054 00a9 1e0c          btfss   _txif___byte, _txif___bit
2055                    ; true.size=0 false_size=1 false=GOTO
2056 00aa 28a9          goto    _uart_byte_put__1
2057                    ; Recombine size1 = 0 || size2 = 0
2058                    ; <=bit_code_emit@symbol; sym=_txif (data:00=>00 code:00=>00)
2059                    ; line_number = 83
2060                    ;  while !_txif done
2061                    ; line_number = 85
2062                    ; _txreg := byte
2063 00ab 0822          movf    _uart_byte_put__byte,w
2064 00ac 0099          movwf   _txreg
2065            
2066            
2067                    ; delay after procedure statements=non-uniform
2068                    ; Implied return
2069 00ad 3400          retlw   0
2070            
2071            
2072            
2073            
2074                    ; Code bank 1; Start address: 2048; End address: 4095
2075   0800 :           org     2048
2076                    ; Code bank 2; Start address: 4096; End address: 6143
2077   1000 :           org     4096
2078                    ; Code bank 3; Start address: 6144; End address: 8191
2079   1800 :           org     6144
2080                    ; Configuration bits
2081                    ; address = 0x2007, fill = 0x400
2082                    ; cp = off (0x3030)
2083                    ; debug = off (0x800)
2084                    ; wrt = off (0x0)
2085                    ; cpd = off (0x100)
2086                    ; lvp = off (0x0)
2087                    ; boden = off (0x0)
2088                    ; pwrte = off (0x8)
2089                    ; wdte = off (0x0)
2090                    ; fosc = hs (0x2)
2091                    ; 15674 = 0x3d3a
2092   3d3a =           __config 15674
2093                    ; Define start addresses for data regions
2094                    ; Region="shared___globals" Address=112" Size=16 Bytes=0 Bits=0 Available=16
2095                    ; Region="globals___0" Address=32" Size=80 Bytes=7 Bits=0 Available=73
2096                    ; Region="globals___1" Address=160" Size=80 Bytes=0 Bits=0 Available=80
2097                    ; Region="globals___2" Address=272" Size=96 Bytes=0 Bits=0 Available=96
2098                    ; Region="globals___3" Address=400" Size=112 Bytes=0 Bits=0 Available=112
2099                    end
