Fixed compound expressions of the type y = (x+K) OP B, where x and y are variables...
[fw/sdcc] / src / regression / and2.asm
1 ;--------------------------------------------------------
2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 ; Version 2.3.4 Sun Mar 30 15:22:14 2003
4
5 ;--------------------------------------------------------
6 ; PIC port for the 14-bit core
7 ;--------------------------------------------------------
8 ;       .module and2
9         list    p=16f877
10         __CONFIG 0x3fff
11         radix dec
12 include "p16f877.inc"
13 ;--------------------------------------------------------
14 ; publics variables in this module
15 ;--------------------------------------------------------
16 ;       .globl _main
17 ;       .globl _neg_compound1
18 ;       .globl _xor_compound2
19 ;       .globl _xor_compound1
20 ;       .globl _or_compound2
21 ;       .globl _or_compound1
22 ;       .globl _and_compound2
23 ;       .globl _and_compound1
24 ;       .globl _done
25 ;       .globl _RD
26 ;       .globl _WR
27 ;       .globl _WREN
28 ;       .globl _WRERR
29 ;       .globl _EEPGD
30 ;       .globl _PCFG0
31 ;       .globl _PCFG1
32 ;       .globl _PCFG2
33 ;       .globl _PCFG3
34 ;       .globl _ADFM
35 ;       .globl _TXD8
36 ;       .globl _TX9D
37 ;       .globl _TRMT
38 ;       .globl _BRGH
39 ;       .globl _SYNC
40 ;       .globl _TXEN
41 ;       .globl _TX8_9
42 ;       .globl _NOT_TX8
43 ;       .globl _TX9
44 ;       .globl _CSRC
45 ;       .globl _BF
46 ;       .globl _UA
47 ;       .globl _READ_WRITE
48 ;       .globl _R_W
49 ;       .globl _NOT_WRITE
50 ;       .globl _NOT_W
51 ;       .globl _I2C_READ
52 ;       .globl _R
53 ;       .globl _I2C_START
54 ;       .globl _S
55 ;       .globl _I2C_STOP
56 ;       .globl _P
57 ;       .globl _DATA_ADDRESS
58 ;       .globl _D_A
59 ;       .globl _NOT_ADDRESS
60 ;       .globl _NOT_A
61 ;       .globl _I2C_DATA
62 ;       .globl _D
63 ;       .globl _CKE
64 ;       .globl _SMP
65 ;       .globl _SEN
66 ;       .globl _RSEN
67 ;       .globl _PEN
68 ;       .globl _RCEN
69 ;       .globl _ACKEN
70 ;       .globl _ACKDT
71 ;       .globl _ACKSTAT
72 ;       .globl _GCEN
73 ;       .globl _NOT_BOR
74 ;       .globl _NOT_BO
75 ;       .globl _NOT_POR
76 ;       .globl _CCP2IE
77 ;       .globl _BCLIE
78 ;       .globl _EEIE
79 ;       .globl _TMR1IE
80 ;       .globl _TMR2IE
81 ;       .globl _CCP1IE
82 ;       .globl _SSPIE
83 ;       .globl _TXIE
84 ;       .globl _RCIE
85 ;       .globl _ADIE
86 ;       .globl _PS0
87 ;       .globl _PS1
88 ;       .globl _PS2
89 ;       .globl _PSA
90 ;       .globl _T0SE
91 ;       .globl _T0CS
92 ;       .globl _INTEDG
93 ;       .globl _NOT_RBPU
94 ;       .globl _ADON
95 ;       .globl _GO_DONE
96 ;       .globl _NOT_DONE
97 ;       .globl _GO
98 ;       .globl _CHS0
99 ;       .globl _CHS1
100 ;       .globl _CHS2
101 ;       .globl _ADCS0
102 ;       .globl _ADCS1
103 ;       .globl _CCP2M0
104 ;       .globl _CCP2M1
105 ;       .globl _CCP2M2
106 ;       .globl _CCP2M3
107 ;       .globl _CCP2Y
108 ;       .globl _CCP2X
109 ;       .globl _RCD8
110 ;       .globl _RX9D
111 ;       .globl _OERR
112 ;       .globl _FERR
113 ;       .globl _ADDEN
114 ;       .globl _CREN
115 ;       .globl _SREN
116 ;       .globl _RC8_9
117 ;       .globl _NOT_RC8
118 ;       .globl _RC9
119 ;       .globl _RX9
120 ;       .globl _SPEN
121 ;       .globl _CCP1M0
122 ;       .globl _CCP1M1
123 ;       .globl _CCP1M2
124 ;       .globl _CCP1M3
125 ;       .globl _CCP1Y
126 ;       .globl _CCP1X
127 ;       .globl _SSPM0
128 ;       .globl _SSPM1
129 ;       .globl _SSPM2
130 ;       .globl _SSPM3
131 ;       .globl _CKP
132 ;       .globl _SSPEN
133 ;       .globl _SSPOV
134 ;       .globl _WCOL
135 ;       .globl _T2CKPS0
136 ;       .globl _T2CKPS1
137 ;       .globl _TMR2ON
138 ;       .globl _TOUTPS0
139 ;       .globl _TOUTPS1
140 ;       .globl _TOUTPS2
141 ;       .globl _TOUTPS3
142 ;       .globl _TMR1ON
143 ;       .globl _TMR1CS
144 ;       .globl _T1SYNC
145 ;       .globl _T1INSYNC
146 ;       .globl _NOT_T1SYNC
147 ;       .globl _T1OSCEN
148 ;       .globl _T1CKPS0
149 ;       .globl _T1CKPS1
150 ;       .globl _CCP2IF
151 ;       .globl _BCLIF
152 ;       .globl _EEIF
153 ;       .globl _CMIF
154 ;       .globl _TMR1IF
155 ;       .globl _TMR2IF
156 ;       .globl _CCP1IF
157 ;       .globl _SSPIF
158 ;       .globl _TXIF
159 ;       .globl _RCIF
160 ;       .globl _ADIF
161 ;       .globl _RBIF
162 ;       .globl _INTF
163 ;       .globl _T0IF
164 ;       .globl _RBIE
165 ;       .globl _INTE
166 ;       .globl _T0IE
167 ;       .globl _PEIE
168 ;       .globl _GIE
169 ;       .globl _C
170 ;       .globl _DC
171 ;       .globl _Z
172 ;       .globl _NOT_PD
173 ;       .globl _NOT_TO
174 ;       .globl _RP0
175 ;       .globl _RP1
176 ;       .globl _IRP
177 ;       .globl _ulong0
178 ;       .globl _uchar1
179 ;       .globl _uchar0
180 ;       .globl _uint1
181 ;       .globl _uint0
182 ;       .globl _dummy
183 ;       .globl _failures
184 ;       .globl _success
185 ;       .globl _PCL
186 ;       .globl _INDF
187 ;--------------------------------------------------------
188 ; special function registers
189 ;--------------------------------------------------------
190 _TMR0   EQU     0x0001
191 _STATUS EQU     0x0003
192 _FSR    EQU     0x0004
193 _PORTA  EQU     0x0005
194 _PORTB  EQU     0x0006
195 _PORTC  EQU     0x0007
196 _PCLATH EQU     0x000a
197 _INTCON EQU     0x000b
198 _PIR1   EQU     0x000c
199 _PIR2   EQU     0x000d
200 _TMR1L  EQU     0x000e
201 _TMR1H  EQU     0x000f
202 _T1CON  EQU     0x0010
203 _TMR2   EQU     0x0011
204 _T2CON  EQU     0x0012
205 _SSPBUF EQU     0x0013
206 _SSPCON EQU     0x0014
207 _CCPR1L EQU     0x0015
208 _CCPR1H EQU     0x0016
209 _CCP1CON        EQU     0x0017
210 _RCSTA  EQU     0x0018
211 _TXREG  EQU     0x0019
212 _RCREG  EQU     0x001a
213 _CCPR2L EQU     0x001b
214 _CCPR2H EQU     0x001c
215 _CCP2CON        EQU     0x001d
216 _ADRESH EQU     0x001e
217 _ADCON0 EQU     0x001f
218 _OPTION_REG     EQU     0x0081
219 _TRISA  EQU     0x0085
220 _TRISB  EQU     0x0086
221 _TRISC  EQU     0x0087
222 _PIE1   EQU     0x008c
223 _PIE2   EQU     0x008d
224 _PCON   EQU     0x008e
225 _SSPCON2        EQU     0x0091
226 _PR2    EQU     0x0092
227 _SSPADD EQU     0x0093
228 _SSPSTAT        EQU     0x0094
229 _TXSTA  EQU     0x0098
230 _SPBRG  EQU     0x0099
231 _ADRESL EQU     0x009e
232 _ADCON1 EQU     0x009f
233 _EEDATA EQU     0x010c
234 _EEADR  EQU     0x010d
235 _EEDATH EQU     0x010e
236 _EEADRH EQU     0x010f
237 _EECON1 EQU     0x018c
238 _EECON2 EQU     0x018d
239   cblock  0X0020        ; Bank 0
240         r0x56
241         r0x57
242         r0x58
243         _dummy
244         _uchar0
245         _failures
246         _uchar1
247   endc
248   cblock  0X0120        ; Bank 0
249         r0x56_120
250         r0x57_120
251         r0x58_120
252         _dummy_120
253         _uchar0_120
254         _failures_120
255         _uchar1_120
256   endc
257 r0x56   EQU     0x020
258 r0x57   EQU     0x021
259 r0x58   EQU     0x022
260 _dummy  EQU     0x023
261 _uchar0 EQU     0x024
262 _failures       EQU     0x025
263 _uchar1 EQU     0x026
264 _STATUS EQU     0x003
265 PCL     EQU     0x002
266 _PCLATH EQU     0x00a
267 FSR     EQU     0x004
268 INDF    EQU     0x000
269 INTCON  EQU     0x00b
270 ;--------------------------------------------------------
271 ; overlayable items in internal ram 
272 ;--------------------------------------------------------
273 ;       .area   OSEG    (OVR,DATA)
274 ;--------------------------------------------------------
275 ; Stack segment in internal ram 
276 ;--------------------------------------------------------
277 ;       .area   SSEG    (DATA)
278 ;__start__stack:
279 ;       .ds     1
280
281 ;--------------------------------------------------------
282 ; indirectly addressable internal ram data
283 ;--------------------------------------------------------
284 ;       .area   ISEG    (DATA)
285 ;--------------------------------------------------------
286 ; external ram data
287 ;--------------------------------------------------------
288 ;       .area   XSEG    (XDATA)
289 ;--------------------------------------------------------
290 ; bit data
291 ;--------------------------------------------------------
292 ;       .area   BSEG    (BIT)
293 _IRP    EQU     0x001f
294 _RP1    EQU     0x001e
295 _RP0    EQU     0x001d
296 _NOT_TO EQU     0x001c
297 _NOT_PD EQU     0x001b
298 _Z      EQU     0x001a
299 _DC     EQU     0x0019
300 _C      EQU     0x0018
301 _GIE    EQU     0x005f
302 _PEIE   EQU     0x005e
303 _T0IE   EQU     0x005d
304 _INTE   EQU     0x005c
305 _RBIE   EQU     0x005b
306 _T0IF   EQU     0x005a
307 _INTF   EQU     0x0059
308 _RBIF   EQU     0x0058
309 _ADIF   EQU     0x0066
310 _RCIF   EQU     0x0065
311 _TXIF   EQU     0x0064
312 _SSPIF  EQU     0x0063
313 _CCP1IF EQU     0x0062
314 _TMR2IF EQU     0x0061
315 _TMR1IF EQU     0x0060
316 _CMIF   EQU     0x006e
317 _EEIF   EQU     0x006c
318 _BCLIF  EQU     0x006b
319 _CCP2IF EQU     0x0068
320 _T1CKPS1        EQU     0x0085
321 _T1CKPS0        EQU     0x0084
322 _T1OSCEN        EQU     0x0083
323 _NOT_T1SYNC     EQU     0x0082
324 _T1INSYNC       EQU     0x0082
325 _T1SYNC EQU     0x0082
326 _TMR1CS EQU     0x0081
327 _TMR1ON EQU     0x0080
328 _TOUTPS3        EQU     0x0096
329 _TOUTPS2        EQU     0x0095
330 _TOUTPS1        EQU     0x0094
331 _TOUTPS0        EQU     0x0093
332 _TMR2ON EQU     0x0092
333 _T2CKPS1        EQU     0x0091
334 _T2CKPS0        EQU     0x0090
335 _WCOL   EQU     0x00a7
336 _SSPOV  EQU     0x00a6
337 _SSPEN  EQU     0x00a5
338 _CKP    EQU     0x00a4
339 _SSPM3  EQU     0x00a3
340 _SSPM2  EQU     0x00a2
341 _SSPM1  EQU     0x00a1
342 _SSPM0  EQU     0x00a0
343 _CCP1X  EQU     0x00bd
344 _CCP1Y  EQU     0x00bc
345 _CCP1M3 EQU     0x00bb
346 _CCP1M2 EQU     0x00ba
347 _CCP1M1 EQU     0x00b9
348 _CCP1M0 EQU     0x00b8
349 _SPEN   EQU     0x00c7
350 _RX9    EQU     0x00c6
351 _RC9    EQU     0x00c6
352 _NOT_RC8        EQU     0x00c6
353 _RC8_9  EQU     0x00c6
354 _SREN   EQU     0x00c5
355 _CREN   EQU     0x00c4
356 _ADDEN  EQU     0x00c3
357 _FERR   EQU     0x00c2
358 _OERR   EQU     0x00c1
359 _RX9D   EQU     0x00c0
360 _RCD8   EQU     0x00c0
361 _CCP2X  EQU     0x00ed
362 _CCP2Y  EQU     0x00ec
363 _CCP2M3 EQU     0x00eb
364 _CCP2M2 EQU     0x00ea
365 _CCP2M1 EQU     0x00e9
366 _CCP2M0 EQU     0x00e8
367 _ADCS1  EQU     0x00ff
368 _ADCS0  EQU     0x00fe
369 _CHS2   EQU     0x00fd
370 _CHS1   EQU     0x00fc
371 _CHS0   EQU     0x00fb
372 _GO     EQU     0x00fa
373 _NOT_DONE       EQU     0x00fa
374 _GO_DONE        EQU     0x00fa
375 _ADON   EQU     0x00f8
376 _NOT_RBPU       EQU     0x040f
377 _INTEDG EQU     0x040e
378 _T0CS   EQU     0x040d
379 _T0SE   EQU     0x040c
380 _PSA    EQU     0x040b
381 _PS2    EQU     0x040a
382 _PS1    EQU     0x0409
383 _PS0    EQU     0x0408
384 _ADIE   EQU     0x0466
385 _RCIE   EQU     0x0465
386 _TXIE   EQU     0x0464
387 _SSPIE  EQU     0x0463
388 _CCP1IE EQU     0x0462
389 _TMR2IE EQU     0x0461
390 _TMR1IE EQU     0x0460
391 _EEIE   EQU     0x046c
392 _BCLIE  EQU     0x046b
393 _CCP2IE EQU     0x0468
394 _NOT_POR        EQU     0x0471
395 _NOT_BO EQU     0x0470
396 _NOT_BOR        EQU     0x0470
397 _GCEN   EQU     0x048f
398 _ACKSTAT        EQU     0x048e
399 _ACKDT  EQU     0x048d
400 _ACKEN  EQU     0x048c
401 _RCEN   EQU     0x048b
402 _PEN    EQU     0x048a
403 _RSEN   EQU     0x0489
404 _SEN    EQU     0x0488
405 _SMP    EQU     0x04a7
406 _CKE    EQU     0x04a6
407 _D      EQU     0x04a5
408 _I2C_DATA       EQU     0x04a5
409 _NOT_A  EQU     0x04a5
410 _NOT_ADDRESS    EQU     0x04a5
411 _D_A    EQU     0x04a5
412 _DATA_ADDRESS   EQU     0x04a5
413 _P      EQU     0x04a4
414 _I2C_STOP       EQU     0x04a4
415 _S      EQU     0x04a3
416 _I2C_START      EQU     0x04a3
417 _R      EQU     0x04a2
418 _I2C_READ       EQU     0x04a2
419 _NOT_W  EQU     0x04a2
420 _NOT_WRITE      EQU     0x04a2
421 _R_W    EQU     0x04a2
422 _READ_WRITE     EQU     0x04a2
423 _UA     EQU     0x04a1
424 _BF     EQU     0x04a0
425 _CSRC   EQU     0x04c7
426 _TX9    EQU     0x04c6
427 _NOT_TX8        EQU     0x04c6
428 _TX8_9  EQU     0x04c6
429 _TXEN   EQU     0x04c5
430 _SYNC   EQU     0x04c4
431 _BRGH   EQU     0x04c2
432 _TRMT   EQU     0x04c1
433 _TX9D   EQU     0x04c0
434 _TXD8   EQU     0x04c0
435 _ADFM   EQU     0x04ff
436 _PCFG3  EQU     0x04fb
437 _PCFG2  EQU     0x04fa
438 _PCFG1  EQU     0x04f9
439 _PCFG0  EQU     0x04f8
440 _EEPGD  EQU     0x0c67
441 _WRERR  EQU     0x0c63
442 _WREN   EQU     0x0c62
443 _WR     EQU     0x0c61
444 _RD     EQU     0x0c60
445         ORG 0
446 ;--------------------------------------------------------
447 ; interrupt vector 
448 ;--------------------------------------------------------
449 ;       .area   CSEG    (CODE)
450 ;__interrupt_vect:
451 ;       ljmp    __sdcc_gsinit_startup
452 ;       reti
453 ;       .ds     7
454 ;       reti
455 ;       .ds     7
456 ;       reti
457 ;       .ds     7
458 ;       reti
459 ;       .ds     7
460 ;       reti
461 ;       .ds     7
462 ;       reti
463 ;       .ds     7
464 ;--------------------------------------------------------
465 ; global & static initialisations
466 ;--------------------------------------------------------
467 ;       .area GSINIT  (CODE)
468 ;       .area GSFINAL (CODE)
469 ;       .area GSINIT  (CODE)
470 __sdcc_gsinit_startup:
471 ;       .area GSFINAL (CODE)
472 ;       ljmp    __sdcc_program_startup
473 ;--------------------------------------------------------
474 ; code
475 ;--------------------------------------------------------
476 ;       .area CSEG    (CODE)
477 ;***
478 ;  pBlock Stats: dbName = D
479 ;***
480 ;; Starting pCode block
481 ;<>Start of new flow, seq=0x17 ancestor = 0x17
482 ;;ic
483 ;; ***  genAssign  9239
484 ;; ***  aopForSym 434
485 ;;      520 sym->rname = _success, size = 1
486 ;;      line = 9248 result AOP_DIR=_success, left -=-, right AOP_LIT=0x00, size = 1
487 ;; ***  genAssign  9322
488 ;;      1241
489 ;;      1257  _success   offset=0
490 ;; Starting pCode block
491 ;;ic
492 ;; ***  genAssign  9239
493 ;; ***  aopForSym 434
494 ;;      520 sym->rname = _failures, size = 1
495 ;;      line = 9248 result AOP_DIR=_failures, left -=-, right AOP_LIT=0x00, size = 1
496 ;; ***  genAssign  9322
497 ;;      1241
498 ;;      1257  _failures   offset=0
499 ;#CSRC  and2.c 120
500 ;  }
501
502         CLRF    _failures       ;key=000,flow seq=017
503 ;; Starting pCode block
504 ;;ic
505 ;; ***  genAssign  9239
506 ;; ***  aopForSym 434
507 ;;      520 sym->rname = _dummy, size = 1
508 ;;      line = 9248 result AOP_DIR=_dummy, left -=-, right AOP_LIT=0x00, size = 1
509 ;; ***  genAssign  9322
510 ;;      1241
511 ;;      1257  _dummy   offset=0
512 ;#CSRC  and2.c 120
513 ;  }
514
515         CLRF    _dummy  ;key=001,flow seq=017
516 ;; Starting pCode block
517 ;;ic
518 ;; ***  genAssign  9239
519 ;; ***  aopForSym 434
520 ;;      520 sym->rname = _uint0, size = 2
521 ;;      line = 9248 result AOP_DIR=_uint0, left -=-, right AOP_LIT=0x00, size = 2
522 ;; ***  genAssign  9322
523 ;;      1241
524 ;;      1257  _uint0   offset=0
525 ;; ***  genAssign  9322
526 ;;      1241
527 ;;      1257  _uint0   offset=1
528 ;; Starting pCode block
529 ;;ic
530 ;; ***  genAssign  9239
531 ;; ***  aopForSym 434
532 ;;      520 sym->rname = _uint1, size = 2
533 ;;      line = 9248 result AOP_DIR=_uint1, left -=-, right AOP_LIT=0x00, size = 2
534 ;; ***  genAssign  9322
535 ;;      1241
536 ;;      1257  _uint1   offset=0
537 ;; ***  genAssign  9322
538 ;;      1241
539 ;;      1257  _uint1   offset=1
540 ;; Starting pCode block
541 ;;ic
542 ;; ***  genAssign  9239
543 ;; ***  aopForSym 434
544 ;;      520 sym->rname = _uchar0, size = 1
545 ;;      line = 9248 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x00, size = 1
546 ;; ***  genAssign  9322
547 ;;      1241
548 ;;      1257  _uchar0   offset=0
549 ;#CSRC  and2.c 120
550 ;  }
551
552         CLRF    _uchar0 ;key=002,flow seq=017
553 ;; Starting pCode block
554 ;;ic
555 ;; ***  genAssign  9239
556 ;; ***  aopForSym 434
557 ;;      520 sym->rname = _uchar1, size = 1
558 ;;      line = 9248 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x00, size = 1
559 ;; ***  genAssign  9322
560 ;;      1241
561 ;;      1257  _uchar1   offset=0
562 ;#CSRC  and2.c 120
563 ;  }
564
565         CLRF    _uchar1 ;key=003,flow seq=017
566 ;; Starting pCode block
567 ;;ic
568 ;; ***  genAssign  9239
569 ;; ***  aopForSym 434
570 ;;      520 sym->rname = _ulong0, size = 4
571 ;;      line = 9248 result AOP_DIR=_ulong0, left -=-, right AOP_LIT=0x00, size = 4
572 ;; ***  genAssign  9322
573 ;;      1241
574 ;;      1257  _ulong0   offset=0
575 ;; ***  genAssign  9322
576 ;;      1241
577 ;;      1257  _ulong0   offset=1
578 ;; ***  genAssign  9322
579 ;;      1241
580 ;;      1257  _ulong0   offset=2
581 ;; ***  genAssign  9322
582 ;;      1241
583 ;;      1257  _ulong0   offset=3
584 ;***
585 ;  pBlock Stats: dbName = M
586 ;***
587 ;entry:  _main  ;Function start
588 ; 2 exit points
589 ;has an exit
590 ;functions called:
591 ;   _and_compound1
592 ;   _and_compound2
593 ;   _or_compound1
594 ;   _or_compound2
595 ;   _xor_compound1
596 ;   _xor_compound2
597 ;   _neg_compound1
598 ;   _done
599 ;3 compiler assigned registers:
600 ;   r0x56
601 ;   r0x57
602 ;   r0x58
603 ;; Starting pCode block
604 ;<>Start of new flow, seq=0x1 ancestor = 0x1
605 ;;ic
606 ;; ***  genLabel  3062
607 ;;ic
608 ;; ***  genFunction  2649 curr label offset=56previous max_key=3 
609 ;;      -----------------------------------------
610 ;;       function main
611 ;;      -----------------------------------------
612 ;_main:
613 _main   ;Function start
614 ; 2 exit points
615 ;;ic
616 ;; ***  genAssign  9239
617 ;; ***  aopForSym 434
618 ;;      520 sym->rname = _uchar0, size = 1
619 ;;      line = 9248 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
620 ;; ***  genAssign  9322
621 ;#CSRC  and2.c 96
622 ;  uchar0 = 0x13;
623         MOVLW   0x13    ;key=000,flow seq=001
624 ;;      1241
625 ;;      1257  _uchar0   offset=0
626         MOVWF   _uchar0 ;key=001,flow seq=001
627 ;;ic
628 ;; ***  genCall  2358
629 ;; ***  saveRegisters  2029
630 ;;ic
631 ;; ***  genPlus  781
632 ;; ***  aopForSym 434
633 ;;      520 sym->rname = _uchar0, size = 1
634 ;;      794
635 ;;      811 size=1
636 ;;Warning -pic port ignoring get(AOP_ACC)       1088
637 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar0, right AOP_LIT=0x01, size = 1
638 ;; ***  pic14_getDataSize  1751
639 ;; ***  genPlusIncr  161
640 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
641 ;;      genPlusIncr  173
642 ;;      genPlusIncr  197
643 ;;      couldn't increment 
644 ;; ***  pic14_getDataSize  1751
645 ;;      adding lit to something. size 1
646 ;; ***  genAddLit  455
647 ;; ***  pic14_getDataSize  1751
648 ;;  left and result aren't same genAddLit  680
649 ;;      1241
650 ;;      1257  _uchar0   offset=0
651 _and_compound1
652 ;#CSRC  and2.c 25
653 ;  uchar0 = (uchar0 + 1) & 0x0f;
654         INCF    _uchar0,W       ;key=002,flow seq=001
655 ;; ***  emitMOVWF  438 ignoring mov into W
656 ;;ic
657 ;; ***  ifxForOp  5038
658 ;; ***  genAnd  5245
659 ;;      794
660 ;;      811 size=1
661 ;; ***  aopForSym 434
662 ;;      520 sym->rname = _uchar0, size = 1
663 ;;Warning -pic port ignoring get(AOP_ACC)       1088
664 ;;      line = 5279 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
665         ANDLW   0x0f    ;key=003,flow seq=001
666 ;;      1241
667 ;;      1257  _uchar0   offset=0
668 ;;     peep 2 - Removed redundant move
669         MOVWF   _uchar0 ;key=004,flow seq=001
670 ;;     peep 1 - test/jump to test/skip
671         XORLW   0x04    ;key=005,flow seq=001
672         BTFSS   _STATUS,2       ;key=006,flow seq=001
673 ;<>Start of new flow, seq=0x2 ancestor = 0x1
674         INCF    _failures,F     ;key=000,flow seq=002
675 ;<>Start of new flow, seq=0x3 ancestor = 0x1
676 ;; ***  unsaveRegisters  2091
677 ;;ic
678 ;; ***  genAssign  9239
679 ;; ***  aopForSym 434
680 ;;      520 sym->rname = _uchar1, size = 1
681 ;;      line = 9248 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x42, size = 1
682 ;; ***  genAssign  9322
683 ;#CSRC  and2.c 99
684 ;  uchar1 = 0x42;
685         MOVLW   0x42    ;key=000,flow seq=003
686 ;;      1241
687 ;;      1257  _uchar1   offset=0
688         MOVWF   _uchar1 ;key=001,flow seq=003
689 ;;ic
690 ;; ***  genCall  2358
691 ;; ***  saveRegisters  2029
692 ;;ic
693 ;; ***  genPlus  781
694 ;; ***  aopForSym 434
695 ;;      520 sym->rname = _uchar1, size = 1
696 ;;      794
697 ;;      811 size=1
698 ;;Warning -pic port ignoring get(AOP_ACC)       1088
699 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar1, right AOP_LIT=0x01, size = 1
700 ;; ***  pic14_getDataSize  1751
701 ;; ***  genPlusIncr  161
702 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
703 ;;      genPlusIncr  173
704 ;;      genPlusIncr  197
705 ;;      couldn't increment 
706 ;; ***  pic14_getDataSize  1751
707 ;;      adding lit to something. size 1
708 ;; ***  genAddLit  455
709 ;; ***  pic14_getDataSize  1751
710 ;;  left and result aren't same genAddLit  680
711 ;;      1241
712 ;;      1255  _uchar1   offset=0 - had to alloc by reg name
713 _and_compound2
714 ;#CSRC  and2.c 34
715 ;  uchar0 = (uchar1 + 1) & 0x0f;
716         INCF    _uchar1,W       ;key=002,flow seq=003
717 ;; ***  emitMOVWF  438 ignoring mov into W
718 ;;ic
719 ;; ***  ifxForOp  5038
720 ;; ***  genAnd  5245
721 ;;      794
722 ;;      811 size=1
723 ;; ***  aopForSym 434
724 ;;      520 sym->rname = _uchar0, size = 1
725 ;;Warning -pic port ignoring get(AOP_ACC)       1088
726 ;;      line = 5279 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
727         ANDLW   0x0f    ;key=003,flow seq=003
728 ;;      1241
729 ;;      1257  _uchar0   offset=0
730 ;;     peep 2 - Removed redundant move
731         MOVWF   _uchar0 ;key=004,flow seq=003
732 ;;     peep 1 - test/jump to test/skip
733         XORLW   0x03    ;key=005,flow seq=003
734         BTFSS   _STATUS,2       ;key=006,flow seq=003
735 ;<>Start of new flow, seq=0x4 ancestor = 0x3
736         INCF    _failures,F     ;key=000,flow seq=004
737 ;<>Start of new flow, seq=0x5 ancestor = 0x3
738         MOVF    _uchar1,W       ;key=000,flow seq=005
739 ;;     peep 1 - test/jump to test/skip
740         XORLW   0x42    ;key=001,flow seq=005
741         BTFSS   _STATUS,2       ;key=002,flow seq=005
742 ;<>Start of new flow, seq=0x6 ancestor = 0x5
743         INCF    _failures,F     ;key=000,flow seq=006
744 ;<>Start of new flow, seq=0x7 ancestor = 0x5
745 ;; ***  unsaveRegisters  2091
746 ;;ic
747 ;; ***  genAssign  9239
748 ;; ***  aopForSym 434
749 ;;      520 sym->rname = _uchar0, size = 1
750 ;;      line = 9248 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
751 ;; ***  genAssign  9322
752 ;#CSRC  and2.c 102
753 ;  uchar0 = 0x13;
754         MOVLW   0x13    ;key=000,flow seq=007
755 ;;      1241
756 ;;      1257  _uchar0   offset=0
757         MOVWF   _uchar0 ;key=001,flow seq=007
758 ;;ic
759 ;; ***  genCall  2358
760 ;; ***  saveRegisters  2029
761 ;;ic
762 ;; ***  genPlus  781
763 ;; ***  aopForSym 434
764 ;;      520 sym->rname = _uchar0, size = 1
765 ;;      794
766 ;;      811 size=1
767 ;;Warning -pic port ignoring get(AOP_ACC)       1088
768 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar0, right AOP_LIT=0x0e, size = 1
769 ;; ***  pic14_getDataSize  1751
770 ;; ***  genPlusIncr  161
771 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
772 ;;      genPlusIncr  173
773 ;; ***  pic14_getDataSize  1751
774 ;;      adding lit to something. size 1
775 ;; ***  genAddLit  455
776 ;; ***  pic14_getDataSize  1751
777 ;;  left and result aren't same genAddLit  680
778 _or_compound1
779 ;#CSRC  and2.c 45
780 ;  uchar0 = (uchar0 + 0xe) | 0x0f;
781         MOVLW   0x0e    ;key=002,flow seq=007
782 ;;      1241
783 ;;      1257  _uchar0   offset=0
784         ADDWF   _uchar0,W       ;key=003,flow seq=007
785 ;; ***  emitMOVWF  438 ignoring mov into W
786 ;;ic
787 ;; ***  ifxForOp  5038
788 ;; ***  genOr  5533
789 ;;      794
790 ;;      811 size=1
791 ;; ***  aopForSym 434
792 ;;      520 sym->rname = _uchar0, size = 1
793 ;;Warning -pic port ignoring get(AOP_ACC)       1088
794 ;;      line = 5539 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
795 ;;Warning -pic port ignoring get(AOP_ACC)       1088
796 ;;      line = 5564 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
797         IORLW   0x0f    ;key=004,flow seq=007
798 ;;      1241
799 ;;      1257  _uchar0   offset=0
800 ;;     peep 2 - Removed redundant move
801         MOVWF   _uchar0 ;key=005,flow seq=007
802 ;;     peep 1 - test/jump to test/skip
803         XORLW   0x2f    ;key=006,flow seq=007
804         BTFSS   _STATUS,2       ;key=007,flow seq=007
805 ;<>Start of new flow, seq=0x8 ancestor = 0x7
806         INCF    _failures,F     ;key=000,flow seq=008
807 ;<>Start of new flow, seq=0x9 ancestor = 0x7
808 ;; ***  unsaveRegisters  2091
809 ;;ic
810 ;; ***  genAssign  9239
811 ;; ***  aopForSym 434
812 ;;      520 sym->rname = _uchar1, size = 1
813 ;;      line = 9248 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x47, size = 1
814 ;; ***  genAssign  9322
815 ;#CSRC  and2.c 105
816 ;  uchar1 = 0x47;
817         MOVLW   0x47    ;key=000,flow seq=009
818 ;;      1241
819 ;;      1257  _uchar1   offset=0
820         MOVWF   _uchar1 ;key=001,flow seq=009
821 ;;ic
822 ;; ***  genCall  2358
823 ;; ***  saveRegisters  2029
824 ;;ic
825 ;; ***  genPlus  781
826 ;; ***  aopForSym 434
827 ;;      520 sym->rname = _uchar1, size = 1
828 ;;      794
829 ;;      811 size=1
830 ;;Warning -pic port ignoring get(AOP_ACC)       1088
831 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar1, right AOP_LIT=0x0f, size = 1
832 ;; ***  pic14_getDataSize  1751
833 ;; ***  genPlusIncr  161
834 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
835 ;;      genPlusIncr  173
836 ;; ***  pic14_getDataSize  1751
837 ;;      adding lit to something. size 1
838 ;; ***  genAddLit  455
839 ;; ***  pic14_getDataSize  1751
840 ;;  left and result aren't same genAddLit  680
841 _or_compound2
842 ;#CSRC  and2.c 54
843 ;  uchar0 = (uchar1 + 0xf) | 0x0f;
844         MOVLW   0x0f    ;key=002,flow seq=009
845 ;;      1241
846 ;;      1257  _uchar1   offset=0
847         ADDWF   _uchar1,W       ;key=003,flow seq=009
848 ;; ***  emitMOVWF  438 ignoring mov into W
849 ;;ic
850 ;; ***  ifxForOp  5038
851 ;; ***  genOr  5533
852 ;;      794
853 ;;      811 size=1
854 ;; ***  aopForSym 434
855 ;;      520 sym->rname = _uchar0, size = 1
856 ;;Warning -pic port ignoring get(AOP_ACC)       1088
857 ;;      line = 5539 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
858 ;;Warning -pic port ignoring get(AOP_ACC)       1088
859 ;;      line = 5564 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
860         IORLW   0x0f    ;key=004,flow seq=009
861 ;;      1241
862 ;;      1257  _uchar0   offset=0
863 ;;     peep 2 - Removed redundant move
864         MOVWF   _uchar0 ;key=005,flow seq=009
865 ;;     peep 1 - test/jump to test/skip
866         XORLW   0x5f    ;key=006,flow seq=009
867         BTFSS   _STATUS,2       ;key=007,flow seq=009
868 ;<>Start of new flow, seq=0xa ancestor = 0x9
869         INCF    _failures,F     ;key=000,flow seq=00a
870 ;<>Start of new flow, seq=0xb ancestor = 0x9
871         MOVF    _uchar1,W       ;key=000,flow seq=00b
872 ;;     peep 1 - test/jump to test/skip
873         XORLW   0x47    ;key=001,flow seq=00b
874         BTFSS   _STATUS,2       ;key=002,flow seq=00b
875 ;<>Start of new flow, seq=0xc ancestor = 0xb
876         INCF    _failures,F     ;key=000,flow seq=00c
877 ;<>Start of new flow, seq=0xd ancestor = 0xb
878 ;; ***  unsaveRegisters  2091
879 ;;ic
880 ;; ***  genAssign  9239
881 ;; ***  aopForSym 434
882 ;;      520 sym->rname = _uchar0, size = 1
883 ;;      line = 9248 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
884 ;; ***  genAssign  9322
885 ;#CSRC  and2.c 108
886 ;  uchar0 = 0x13;
887         MOVLW   0x13    ;key=000,flow seq=00d
888 ;;      1241
889 ;;      1257  _uchar0   offset=0
890         MOVWF   _uchar0 ;key=001,flow seq=00d
891 ;;ic
892 ;; ***  genCall  2358
893 ;; ***  saveRegisters  2029
894 ;;ic
895 ;; ***  genPlus  781
896 ;; ***  aopForSym 434
897 ;;      520 sym->rname = _uchar0, size = 1
898 ;;      861 register type nRegs=1
899 ;;      line = 787 result AOP_REG=r0x56, left AOP_DIR=_uchar0, right AOP_LIT=0x01, size = 1
900 ;; ***  pic14_getDataSize  1751
901 ;; ***  genPlusIncr  161
902 ;;      result AOP_REG, left AOP_DIR, right AOP_LIT
903 ;;      genPlusIncr  173
904 ;;      genPlusIncr  197
905 ;;      couldn't increment 
906 ;; ***  pic14_getDataSize  1751
907 ;;      adding lit to something. size 1
908 ;; ***  genAddLit  455
909 ;; ***  pic14_getDataSize  1751
910 ;;  left and result aren't same genAddLit  680
911 ;;      1241
912 ;;      1257  _uchar0   offset=0
913 _xor_compound1
914 ;#CSRC  and2.c 67
915 ;  uchar0 = (uchar0 + 1) ^ 0x0f;
916         INCF    _uchar0,W       ;key=002,flow seq=00d
917         MOVWF   r0x56   ;key=003,flow seq=00d
918 ;;ic
919 ;; ***  ifxForOp  5038
920 ;; ***  genXor  5833
921 ;;      861 register type nRegs=1
922 ;; ***  aopForSym 434
923 ;;      520 sym->rname = _uchar0, size = 1
924         MOVLW   0x0f    ;key=004,flow seq=00d
925         XORWF   r0x56,W ;key=005,flow seq=00d
926 ;;      1241
927 ;;      1257  _uchar0   offset=0
928 ;;     peep 2 - Removed redundant move
929         MOVWF   _uchar0 ;key=006,flow seq=00d
930 ;;     peep 1 - test/jump to test/skip
931         XORLW   0x1b    ;key=007,flow seq=00d
932         BTFSS   _STATUS,2       ;key=008,flow seq=00d
933 ;<>Start of new flow, seq=0xe ancestor = 0xd
934         INCF    _failures,F     ;key=000,flow seq=00e
935 ;<>Start of new flow, seq=0xf ancestor = 0xd
936 ;; ***  unsaveRegisters  2091
937 ;;ic
938 ;; ***  genAssign  9239
939 ;; ***  aopForSym 434
940 ;;      520 sym->rname = _uchar1, size = 1
941 ;;      line = 9248 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x47, size = 1
942 ;; ***  genAssign  9322
943 ;#CSRC  and2.c 111
944 ;  uchar1 = 0x47;
945         MOVLW   0x47    ;key=000,flow seq=00f
946 ;;      1241
947 ;;      1257  _uchar1   offset=0
948         MOVWF   _uchar1 ;key=001,flow seq=00f
949 ;;ic
950 ;; ***  genCall  2358
951 ;; ***  saveRegisters  2029
952 ;;ic
953 ;; ***  genPlus  781
954 ;; ***  aopForSym 434
955 ;;      520 sym->rname = _uchar1, size = 1
956 ;;      861 register type nRegs=1
957 ;;      line = 787 result AOP_REG=r0x57, left AOP_DIR=_uchar1, right AOP_LIT=0x0f, size = 1
958 ;; ***  pic14_getDataSize  1751
959 ;; ***  genPlusIncr  161
960 ;;      result AOP_REG, left AOP_DIR, right AOP_LIT
961 ;;      genPlusIncr  173
962 ;; ***  pic14_getDataSize  1751
963 ;;      adding lit to something. size 1
964 ;; ***  genAddLit  455
965 ;; ***  pic14_getDataSize  1751
966 ;;  left and result aren't same genAddLit  680
967 _xor_compound2
968 ;#CSRC  and2.c 76
969 ;  uchar0 = (uchar1 + 0xf) ^ 0x0f;
970         MOVLW   0x0f    ;key=002,flow seq=00f
971 ;;      1241
972 ;;      1257  _uchar1   offset=0
973         ADDWF   _uchar1,W       ;key=003,flow seq=00f
974         MOVWF   r0x57   ;key=004,flow seq=00f
975 ;;ic
976 ;; ***  ifxForOp  5038
977 ;; ***  genXor  5833
978 ;;      861 register type nRegs=1
979 ;; ***  aopForSym 434
980 ;;      520 sym->rname = _uchar0, size = 1
981         MOVLW   0x0f    ;key=005,flow seq=00f
982         XORWF   r0x57,W ;key=006,flow seq=00f
983 ;;      1241
984 ;;      1257  _uchar0   offset=0
985 ;;     peep 2 - Removed redundant move
986         MOVWF   _uchar0 ;key=007,flow seq=00f
987 ;;     peep 1 - test/jump to test/skip
988         XORLW   0x59    ;key=008,flow seq=00f
989         BTFSS   _STATUS,2       ;key=009,flow seq=00f
990 ;<>Start of new flow, seq=0x10 ancestor = 0xf
991         INCF    _failures,F     ;key=000,flow seq=010
992 ;<>Start of new flow, seq=0x11 ancestor = 0xf
993         MOVF    _uchar1,W       ;key=000,flow seq=011
994 ;;     peep 1 - test/jump to test/skip
995         XORLW   0x47    ;key=001,flow seq=011
996         BTFSS   _STATUS,2       ;key=002,flow seq=011
997 ;<>Start of new flow, seq=0x12 ancestor = 0x11
998         INCF    _failures,F     ;key=000,flow seq=012
999 ;<>Start of new flow, seq=0x13 ancestor = 0x11
1000 ;; ***  unsaveRegisters  2091
1001 ;;ic
1002 ;; ***  genAssign  9239
1003 ;; ***  aopForSym 434
1004 ;;      520 sym->rname = _uchar0, size = 1
1005 ;;      line = 9248 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
1006 ;; ***  genAssign  9322
1007 ;#CSRC  and2.c 114
1008 ;  uchar0 = 0x13;
1009         MOVLW   0x13    ;key=000,flow seq=013
1010 ;;      1241
1011 ;;      1257  _uchar0   offset=0
1012         MOVWF   _uchar0 ;key=001,flow seq=013
1013 ;;ic
1014 ;; ***  genCall  2358
1015 ;; ***  saveRegisters  2029
1016 ;;ic
1017 ;; ***  genPlus  781
1018 ;; ***  aopForSym 434
1019 ;;      520 sym->rname = _uchar0, size = 1
1020 ;;      861 register type nRegs=1
1021 ;;      line = 787 result AOP_REG=r0x58, left AOP_DIR=_uchar0, right AOP_LIT=0x01, size = 1
1022 ;; ***  pic14_getDataSize  1751
1023 ;; ***  genPlusIncr  161
1024 ;;      result AOP_REG, left AOP_DIR, right AOP_LIT
1025 ;;      genPlusIncr  173
1026 ;;      genPlusIncr  197
1027 ;;      couldn't increment 
1028 ;; ***  pic14_getDataSize  1751
1029 ;;      adding lit to something. size 1
1030 ;; ***  genAddLit  455
1031 ;; ***  pic14_getDataSize  1751
1032 ;;  left and result aren't same genAddLit  680
1033 ;;      1241
1034 ;;      1257  _uchar0   offset=0
1035 _neg_compound1
1036 ;#CSRC  and2.c 87
1037 ;  uchar0 = ~(uchar0 + 1);
1038         INCF    _uchar0,W       ;key=002,flow seq=013
1039         MOVWF   r0x58   ;key=003,flow seq=013
1040 ;;ic
1041 ;; ***  genCpl  1899
1042 ;;      861 register type nRegs=1
1043 ;; ***  aopForSym 434
1044 ;;      520 sym->rname = _uchar0, size = 1
1045         COMF    r0x58,W ;key=004,flow seq=013
1046 ;;      1241
1047 ;;      1257  _uchar0   offset=0
1048 ;;     peep 2 - Removed redundant move
1049         MOVWF   _uchar0 ;key=005,flow seq=013
1050 ;;     peep 1 - test/jump to test/skip
1051         XORLW   0xeb    ;key=006,flow seq=013
1052         BTFSS   _STATUS,2       ;key=007,flow seq=013
1053 ;<>Start of new flow, seq=0x14 ancestor = 0x13
1054         INCF    _failures,F     ;key=000,flow seq=014
1055 ;<>Start of new flow, seq=0x15 ancestor = 0x13
1056 ;; ***  unsaveRegisters  2091
1057 ;;ic
1058 ;; ***  genAssign  9239
1059 ;; ***  aopForSym 434
1060 ;;      520 sym->rname = _failures, size = 1
1061 ;; ***  aopForSym 434
1062 ;;      520 sym->rname = _success, size = 1
1063 ;;      line = 9248 result AOP_DIR=_success, left -=-, right AOP_DIR=_failures, size = 1
1064 ;; ***  genAssign  9322
1065 ;; ***  genAssign  9341
1066 ;;      1241
1067 ;;      1257  _failures   offset=0
1068 ;#CSRC  and2.c 117
1069 ;  success = failures;
1070         MOVF    _failures,W     ;key=000,flow seq=015
1071 ;;      1241
1072 ;;      1257  _success   offset=0
1073 ;;ic
1074 ;; ***  genCall  2358
1075 ;; ***  saveRegisters  2029
1076 ;;ic
1077 ;; ***  genPlus  781
1078 ;; ***  aopForSym 434
1079 ;;      520 sym->rname = _dummy, size = 1
1080 ;;      line = 787 result AOP_DIR=_dummy, left AOP_DIR=_dummy, right AOP_LIT=0x01, size = 1
1081 ;; ***  pic14_getDataSize  1751
1082 ;; ***  genPlusIncr  161
1083 ;;      result AOP_DIR, left AOP_DIR, right AOP_LIT
1084 ;;      genPlusIncr  173
1085 ;;      1241
1086 ;;      1257  _dummy   offset=0
1087 _done
1088 ;#CSRC  and2.c 18
1089 ;  dummy++;
1090         INCF    _dummy,F        ;key=001,flow seq=015
1091 ;;ic
1092 ;; ***  genLabel  3062
1093 ;_00105_DS_:
1094 ;;ic
1095 ;; ***  genEndFunction  2832
1096 ;;      C$and2.c$20$1$1 ==.
1097 ;;      XG$done$0$0 ==.
1098 ;return
1099 ;; ***  unsaveRegisters  2091
1100 ;;ic
1101 ;; ***  genLabel  3062
1102 ;_00164_DS_:
1103 ;;ic
1104 ;; ***  genEndFunction  2832
1105 ;;      C$and2.c$119$1$1 ==.
1106 ;;      XG$main$0$0 ==.
1107 ;return
1108         RETURN          ;key=002,flow seq=015
1109 ;<>Start of new flow, seq=0x16
1110 ; exit point of _main
1111         end