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