Added to test bug 609628 ==> x = (x+1) & 0xf
[fw/sdcc] / src / regression / and2.asm
1 ;--------------------------------------------------------
2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 ; Version 2.3.4 Sun Mar 30 09:16:00 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 _and_compound2
18 ;       .globl _and_compound1
19 ;       .globl _done
20 ;       .globl _RD
21 ;       .globl _WR
22 ;       .globl _WREN
23 ;       .globl _WRERR
24 ;       .globl _EEPGD
25 ;       .globl _PCFG0
26 ;       .globl _PCFG1
27 ;       .globl _PCFG2
28 ;       .globl _PCFG3
29 ;       .globl _ADFM
30 ;       .globl _TXD8
31 ;       .globl _TX9D
32 ;       .globl _TRMT
33 ;       .globl _BRGH
34 ;       .globl _SYNC
35 ;       .globl _TXEN
36 ;       .globl _TX8_9
37 ;       .globl _NOT_TX8
38 ;       .globl _TX9
39 ;       .globl _CSRC
40 ;       .globl _BF
41 ;       .globl _UA
42 ;       .globl _READ_WRITE
43 ;       .globl _R_W
44 ;       .globl _NOT_WRITE
45 ;       .globl _NOT_W
46 ;       .globl _I2C_READ
47 ;       .globl _R
48 ;       .globl _I2C_START
49 ;       .globl _S
50 ;       .globl _I2C_STOP
51 ;       .globl _P
52 ;       .globl _DATA_ADDRESS
53 ;       .globl _D_A
54 ;       .globl _NOT_ADDRESS
55 ;       .globl _NOT_A
56 ;       .globl _I2C_DATA
57 ;       .globl _D
58 ;       .globl _CKE
59 ;       .globl _SMP
60 ;       .globl _SEN
61 ;       .globl _RSEN
62 ;       .globl _PEN
63 ;       .globl _RCEN
64 ;       .globl _ACKEN
65 ;       .globl _ACKDT
66 ;       .globl _ACKSTAT
67 ;       .globl _GCEN
68 ;       .globl _NOT_BOR
69 ;       .globl _NOT_BO
70 ;       .globl _NOT_POR
71 ;       .globl _CCP2IE
72 ;       .globl _BCLIE
73 ;       .globl _EEIE
74 ;       .globl _TMR1IE
75 ;       .globl _TMR2IE
76 ;       .globl _CCP1IE
77 ;       .globl _SSPIE
78 ;       .globl _TXIE
79 ;       .globl _RCIE
80 ;       .globl _ADIE
81 ;       .globl _PS0
82 ;       .globl _PS1
83 ;       .globl _PS2
84 ;       .globl _PSA
85 ;       .globl _T0SE
86 ;       .globl _T0CS
87 ;       .globl _INTEDG
88 ;       .globl _NOT_RBPU
89 ;       .globl _ADON
90 ;       .globl _GO_DONE
91 ;       .globl _NOT_DONE
92 ;       .globl _GO
93 ;       .globl _CHS0
94 ;       .globl _CHS1
95 ;       .globl _CHS2
96 ;       .globl _ADCS0
97 ;       .globl _ADCS1
98 ;       .globl _CCP2M0
99 ;       .globl _CCP2M1
100 ;       .globl _CCP2M2
101 ;       .globl _CCP2M3
102 ;       .globl _CCP2Y
103 ;       .globl _CCP2X
104 ;       .globl _RCD8
105 ;       .globl _RX9D
106 ;       .globl _OERR
107 ;       .globl _FERR
108 ;       .globl _ADDEN
109 ;       .globl _CREN
110 ;       .globl _SREN
111 ;       .globl _RC8_9
112 ;       .globl _NOT_RC8
113 ;       .globl _RC9
114 ;       .globl _RX9
115 ;       .globl _SPEN
116 ;       .globl _CCP1M0
117 ;       .globl _CCP1M1
118 ;       .globl _CCP1M2
119 ;       .globl _CCP1M3
120 ;       .globl _CCP1Y
121 ;       .globl _CCP1X
122 ;       .globl _SSPM0
123 ;       .globl _SSPM1
124 ;       .globl _SSPM2
125 ;       .globl _SSPM3
126 ;       .globl _CKP
127 ;       .globl _SSPEN
128 ;       .globl _SSPOV
129 ;       .globl _WCOL
130 ;       .globl _T2CKPS0
131 ;       .globl _T2CKPS1
132 ;       .globl _TMR2ON
133 ;       .globl _TOUTPS0
134 ;       .globl _TOUTPS1
135 ;       .globl _TOUTPS2
136 ;       .globl _TOUTPS3
137 ;       .globl _TMR1ON
138 ;       .globl _TMR1CS
139 ;       .globl _T1SYNC
140 ;       .globl _T1INSYNC
141 ;       .globl _NOT_T1SYNC
142 ;       .globl _T1OSCEN
143 ;       .globl _T1CKPS0
144 ;       .globl _T1CKPS1
145 ;       .globl _CCP2IF
146 ;       .globl _BCLIF
147 ;       .globl _EEIF
148 ;       .globl _CMIF
149 ;       .globl _TMR1IF
150 ;       .globl _TMR2IF
151 ;       .globl _CCP1IF
152 ;       .globl _SSPIF
153 ;       .globl _TXIF
154 ;       .globl _RCIF
155 ;       .globl _ADIF
156 ;       .globl _RBIF
157 ;       .globl _INTF
158 ;       .globl _T0IF
159 ;       .globl _RBIE
160 ;       .globl _INTE
161 ;       .globl _T0IE
162 ;       .globl _PEIE
163 ;       .globl _GIE
164 ;       .globl _C
165 ;       .globl _DC
166 ;       .globl _Z
167 ;       .globl _NOT_PD
168 ;       .globl _NOT_TO
169 ;       .globl _RP0
170 ;       .globl _RP1
171 ;       .globl _IRP
172 ;       .globl _ulong0
173 ;       .globl _uchar1
174 ;       .globl _uchar0
175 ;       .globl _uint1
176 ;       .globl _uint0
177 ;       .globl _dummy
178 ;       .globl _failures
179 ;       .globl _success
180 ;       .globl _PCL
181 ;       .globl _INDF
182 ;--------------------------------------------------------
183 ; special function registers
184 ;--------------------------------------------------------
185 _TMR0   EQU     0x0001
186 _STATUS EQU     0x0003
187 _FSR    EQU     0x0004
188 _PORTA  EQU     0x0005
189 _PORTB  EQU     0x0006
190 _PORTC  EQU     0x0007
191 _PCLATH EQU     0x000a
192 _INTCON EQU     0x000b
193 _PIR1   EQU     0x000c
194 _PIR2   EQU     0x000d
195 _TMR1L  EQU     0x000e
196 _TMR1H  EQU     0x000f
197 _T1CON  EQU     0x0010
198 _TMR2   EQU     0x0011
199 _T2CON  EQU     0x0012
200 _SSPBUF EQU     0x0013
201 _SSPCON EQU     0x0014
202 _CCPR1L EQU     0x0015
203 _CCPR1H EQU     0x0016
204 _CCP1CON        EQU     0x0017
205 _RCSTA  EQU     0x0018
206 _TXREG  EQU     0x0019
207 _RCREG  EQU     0x001a
208 _CCPR2L EQU     0x001b
209 _CCPR2H EQU     0x001c
210 _CCP2CON        EQU     0x001d
211 _ADRESH EQU     0x001e
212 _ADCON0 EQU     0x001f
213 _OPTION_REG     EQU     0x0081
214 _TRISA  EQU     0x0085
215 _TRISB  EQU     0x0086
216 _TRISC  EQU     0x0087
217 _PIE1   EQU     0x008c
218 _PIE2   EQU     0x008d
219 _PCON   EQU     0x008e
220 _SSPCON2        EQU     0x0091
221 _PR2    EQU     0x0092
222 _SSPADD EQU     0x0093
223 _SSPSTAT        EQU     0x0094
224 _TXSTA  EQU     0x0098
225 _SPBRG  EQU     0x0099
226 _ADRESL EQU     0x009e
227 _ADCON1 EQU     0x009f
228 _EEDATA EQU     0x010c
229 _EEADR  EQU     0x010d
230 _EEDATH EQU     0x010e
231 _EEADRH EQU     0x010f
232 _EECON1 EQU     0x018c
233 _EECON2 EQU     0x018d
234   cblock  0X0020        ; Bank 0
235         _dummy
236         _uchar0
237         _failures
238         _uchar1
239   endc
240   cblock  0X0120        ; Bank 0
241         _dummy_120
242         _uchar0_120
243         _failures_120
244         _uchar1_120
245   endc
246 _dummy  EQU     0x020
247 _uchar0 EQU     0x021
248 _failures       EQU     0x022
249 _uchar1 EQU     0x023
250 _STATUS EQU     0x003
251 PCL     EQU     0x002
252 _PCLATH EQU     0x00a
253 FSR     EQU     0x004
254 INDF    EQU     0x000
255 INTCON  EQU     0x00b
256 ;--------------------------------------------------------
257 ; overlayable items in internal ram 
258 ;--------------------------------------------------------
259 ;       .area   OSEG    (OVR,DATA)
260 ;--------------------------------------------------------
261 ; Stack segment in internal ram 
262 ;--------------------------------------------------------
263 ;       .area   SSEG    (DATA)
264 ;__start__stack:
265 ;       .ds     1
266
267 ;--------------------------------------------------------
268 ; indirectly addressable internal ram data
269 ;--------------------------------------------------------
270 ;       .area   ISEG    (DATA)
271 ;--------------------------------------------------------
272 ; external ram data
273 ;--------------------------------------------------------
274 ;       .area   XSEG    (XDATA)
275 ;--------------------------------------------------------
276 ; bit data
277 ;--------------------------------------------------------
278 ;       .area   BSEG    (BIT)
279 _IRP    EQU     0x001f
280 _RP1    EQU     0x001e
281 _RP0    EQU     0x001d
282 _NOT_TO EQU     0x001c
283 _NOT_PD EQU     0x001b
284 _Z      EQU     0x001a
285 _DC     EQU     0x0019
286 _C      EQU     0x0018
287 _GIE    EQU     0x005f
288 _PEIE   EQU     0x005e
289 _T0IE   EQU     0x005d
290 _INTE   EQU     0x005c
291 _RBIE   EQU     0x005b
292 _T0IF   EQU     0x005a
293 _INTF   EQU     0x0059
294 _RBIF   EQU     0x0058
295 _ADIF   EQU     0x0066
296 _RCIF   EQU     0x0065
297 _TXIF   EQU     0x0064
298 _SSPIF  EQU     0x0063
299 _CCP1IF EQU     0x0062
300 _TMR2IF EQU     0x0061
301 _TMR1IF EQU     0x0060
302 _CMIF   EQU     0x006e
303 _EEIF   EQU     0x006c
304 _BCLIF  EQU     0x006b
305 _CCP2IF EQU     0x0068
306 _T1CKPS1        EQU     0x0085
307 _T1CKPS0        EQU     0x0084
308 _T1OSCEN        EQU     0x0083
309 _NOT_T1SYNC     EQU     0x0082
310 _T1INSYNC       EQU     0x0082
311 _T1SYNC EQU     0x0082
312 _TMR1CS EQU     0x0081
313 _TMR1ON EQU     0x0080
314 _TOUTPS3        EQU     0x0096
315 _TOUTPS2        EQU     0x0095
316 _TOUTPS1        EQU     0x0094
317 _TOUTPS0        EQU     0x0093
318 _TMR2ON EQU     0x0092
319 _T2CKPS1        EQU     0x0091
320 _T2CKPS0        EQU     0x0090
321 _WCOL   EQU     0x00a7
322 _SSPOV  EQU     0x00a6
323 _SSPEN  EQU     0x00a5
324 _CKP    EQU     0x00a4
325 _SSPM3  EQU     0x00a3
326 _SSPM2  EQU     0x00a2
327 _SSPM1  EQU     0x00a1
328 _SSPM0  EQU     0x00a0
329 _CCP1X  EQU     0x00bd
330 _CCP1Y  EQU     0x00bc
331 _CCP1M3 EQU     0x00bb
332 _CCP1M2 EQU     0x00ba
333 _CCP1M1 EQU     0x00b9
334 _CCP1M0 EQU     0x00b8
335 _SPEN   EQU     0x00c7
336 _RX9    EQU     0x00c6
337 _RC9    EQU     0x00c6
338 _NOT_RC8        EQU     0x00c6
339 _RC8_9  EQU     0x00c6
340 _SREN   EQU     0x00c5
341 _CREN   EQU     0x00c4
342 _ADDEN  EQU     0x00c3
343 _FERR   EQU     0x00c2
344 _OERR   EQU     0x00c1
345 _RX9D   EQU     0x00c0
346 _RCD8   EQU     0x00c0
347 _CCP2X  EQU     0x00ed
348 _CCP2Y  EQU     0x00ec
349 _CCP2M3 EQU     0x00eb
350 _CCP2M2 EQU     0x00ea
351 _CCP2M1 EQU     0x00e9
352 _CCP2M0 EQU     0x00e8
353 _ADCS1  EQU     0x00ff
354 _ADCS0  EQU     0x00fe
355 _CHS2   EQU     0x00fd
356 _CHS1   EQU     0x00fc
357 _CHS0   EQU     0x00fb
358 _GO     EQU     0x00fa
359 _NOT_DONE       EQU     0x00fa
360 _GO_DONE        EQU     0x00fa
361 _ADON   EQU     0x00f8
362 _NOT_RBPU       EQU     0x040f
363 _INTEDG EQU     0x040e
364 _T0CS   EQU     0x040d
365 _T0SE   EQU     0x040c
366 _PSA    EQU     0x040b
367 _PS2    EQU     0x040a
368 _PS1    EQU     0x0409
369 _PS0    EQU     0x0408
370 _ADIE   EQU     0x0466
371 _RCIE   EQU     0x0465
372 _TXIE   EQU     0x0464
373 _SSPIE  EQU     0x0463
374 _CCP1IE EQU     0x0462
375 _TMR2IE EQU     0x0461
376 _TMR1IE EQU     0x0460
377 _EEIE   EQU     0x046c
378 _BCLIE  EQU     0x046b
379 _CCP2IE EQU     0x0468
380 _NOT_POR        EQU     0x0471
381 _NOT_BO EQU     0x0470
382 _NOT_BOR        EQU     0x0470
383 _GCEN   EQU     0x048f
384 _ACKSTAT        EQU     0x048e
385 _ACKDT  EQU     0x048d
386 _ACKEN  EQU     0x048c
387 _RCEN   EQU     0x048b
388 _PEN    EQU     0x048a
389 _RSEN   EQU     0x0489
390 _SEN    EQU     0x0488
391 _SMP    EQU     0x04a7
392 _CKE    EQU     0x04a6
393 _D      EQU     0x04a5
394 _I2C_DATA       EQU     0x04a5
395 _NOT_A  EQU     0x04a5
396 _NOT_ADDRESS    EQU     0x04a5
397 _D_A    EQU     0x04a5
398 _DATA_ADDRESS   EQU     0x04a5
399 _P      EQU     0x04a4
400 _I2C_STOP       EQU     0x04a4
401 _S      EQU     0x04a3
402 _I2C_START      EQU     0x04a3
403 _R      EQU     0x04a2
404 _I2C_READ       EQU     0x04a2
405 _NOT_W  EQU     0x04a2
406 _NOT_WRITE      EQU     0x04a2
407 _R_W    EQU     0x04a2
408 _READ_WRITE     EQU     0x04a2
409 _UA     EQU     0x04a1
410 _BF     EQU     0x04a0
411 _CSRC   EQU     0x04c7
412 _TX9    EQU     0x04c6
413 _NOT_TX8        EQU     0x04c6
414 _TX8_9  EQU     0x04c6
415 _TXEN   EQU     0x04c5
416 _SYNC   EQU     0x04c4
417 _BRGH   EQU     0x04c2
418 _TRMT   EQU     0x04c1
419 _TX9D   EQU     0x04c0
420 _TXD8   EQU     0x04c0
421 _ADFM   EQU     0x04ff
422 _PCFG3  EQU     0x04fb
423 _PCFG2  EQU     0x04fa
424 _PCFG1  EQU     0x04f9
425 _PCFG0  EQU     0x04f8
426 _EEPGD  EQU     0x0c67
427 _WRERR  EQU     0x0c63
428 _WREN   EQU     0x0c62
429 _WR     EQU     0x0c61
430 _RD     EQU     0x0c60
431         ORG 0
432 ;--------------------------------------------------------
433 ; interrupt vector 
434 ;--------------------------------------------------------
435 ;       .area   CSEG    (CODE)
436 ;__interrupt_vect:
437 ;       ljmp    __sdcc_gsinit_startup
438 ;       reti
439 ;       .ds     7
440 ;       reti
441 ;       .ds     7
442 ;       reti
443 ;       .ds     7
444 ;       reti
445 ;       .ds     7
446 ;       reti
447 ;       .ds     7
448 ;       reti
449 ;       .ds     7
450 ;--------------------------------------------------------
451 ; global & static initialisations
452 ;--------------------------------------------------------
453 ;       .area GSINIT  (CODE)
454 ;       .area GSFINAL (CODE)
455 ;       .area GSINIT  (CODE)
456 __sdcc_gsinit_startup:
457 ;       .area GSFINAL (CODE)
458 ;       ljmp    __sdcc_program_startup
459 ;--------------------------------------------------------
460 ; code
461 ;--------------------------------------------------------
462 ;       .area CSEG    (CODE)
463 ;***
464 ;  pBlock Stats: dbName = D
465 ;***
466 ;; Starting pCode block
467 ;<>Start of new flow, seq=0x9 ancestor = 0x9
468 ;;ic
469 ;; ***  genAssign  9238
470 ;; ***  aopForSym 434
471 ;;      520 sym->rname = _success, size = 1
472 ;;      line = 9247 result AOP_DIR=_success, left -=-, right AOP_LIT=0x00, size = 1
473 ;; ***  genAssign  9321
474 ;;      1241
475 ;;      1257  _success   offset=0
476 ;; Starting pCode block
477 ;;ic
478 ;; ***  genAssign  9238
479 ;; ***  aopForSym 434
480 ;;      520 sym->rname = _failures, size = 1
481 ;;      line = 9247 result AOP_DIR=_failures, left -=-, right AOP_LIT=0x00, size = 1
482 ;; ***  genAssign  9321
483 ;;      1241
484 ;;      1257  _failures   offset=0
485 ;#CSRC  and2.c 54
486 ;  }
487
488         CLRF    _failures       ;key=000,flow seq=009
489 ;; Starting pCode block
490 ;;ic
491 ;; ***  genAssign  9238
492 ;; ***  aopForSym 434
493 ;;      520 sym->rname = _dummy, size = 1
494 ;;      line = 9247 result AOP_DIR=_dummy, left -=-, right AOP_LIT=0x00, size = 1
495 ;; ***  genAssign  9321
496 ;;      1241
497 ;;      1257  _dummy   offset=0
498 ;#CSRC  and2.c 54
499 ;  }
500
501         CLRF    _dummy  ;key=001,flow seq=009
502 ;; Starting pCode block
503 ;;ic
504 ;; ***  genAssign  9238
505 ;; ***  aopForSym 434
506 ;;      520 sym->rname = _uint0, size = 2
507 ;;      line = 9247 result AOP_DIR=_uint0, left -=-, right AOP_LIT=0x00, size = 2
508 ;; ***  genAssign  9321
509 ;;      1241
510 ;;      1257  _uint0   offset=0
511 ;; ***  genAssign  9321
512 ;;      1241
513 ;;      1257  _uint0   offset=1
514 ;; Starting pCode block
515 ;;ic
516 ;; ***  genAssign  9238
517 ;; ***  aopForSym 434
518 ;;      520 sym->rname = _uint1, size = 2
519 ;;      line = 9247 result AOP_DIR=_uint1, left -=-, right AOP_LIT=0x00, size = 2
520 ;; ***  genAssign  9321
521 ;;      1241
522 ;;      1257  _uint1   offset=0
523 ;; ***  genAssign  9321
524 ;;      1241
525 ;;      1257  _uint1   offset=1
526 ;; Starting pCode block
527 ;;ic
528 ;; ***  genAssign  9238
529 ;; ***  aopForSym 434
530 ;;      520 sym->rname = _uchar0, size = 1
531 ;;      line = 9247 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x00, size = 1
532 ;; ***  genAssign  9321
533 ;;      1241
534 ;;      1257  _uchar0   offset=0
535 ;#CSRC  and2.c 54
536 ;  }
537
538         CLRF    _uchar0 ;key=002,flow seq=009
539 ;; Starting pCode block
540 ;;ic
541 ;; ***  genAssign  9238
542 ;; ***  aopForSym 434
543 ;;      520 sym->rname = _uchar1, size = 1
544 ;;      line = 9247 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x00, size = 1
545 ;; ***  genAssign  9321
546 ;;      1241
547 ;;      1257  _uchar1   offset=0
548 ;#CSRC  and2.c 54
549 ;  }
550
551         CLRF    _uchar1 ;key=003,flow seq=009
552 ;; Starting pCode block
553 ;;ic
554 ;; ***  genAssign  9238
555 ;; ***  aopForSym 434
556 ;;      520 sym->rname = _ulong0, size = 4
557 ;;      line = 9247 result AOP_DIR=_ulong0, left -=-, right AOP_LIT=0x00, size = 4
558 ;; ***  genAssign  9321
559 ;;      1241
560 ;;      1257  _ulong0   offset=0
561 ;; ***  genAssign  9321
562 ;;      1241
563 ;;      1257  _ulong0   offset=1
564 ;; ***  genAssign  9321
565 ;;      1241
566 ;;      1257  _ulong0   offset=2
567 ;; ***  genAssign  9321
568 ;;      1241
569 ;;      1257  _ulong0   offset=3
570 ;***
571 ;  pBlock Stats: dbName = M
572 ;***
573 ;entry:  _main  ;Function start
574 ; 2 exit points
575 ;has an exit
576 ;functions called:
577 ;   _and_compound1
578 ;   _and_compound2
579 ;   _done
580 ;; Starting pCode block
581 ;<>Start of new flow, seq=0x1 ancestor = 0x1
582 ;;ic
583 ;; ***  genLabel  3059
584 ;;ic
585 ;; ***  genFunction  2646 curr label offset=15previous max_key=5 
586 ;;      -----------------------------------------
587 ;;       function main
588 ;;      -----------------------------------------
589 ;_main:
590 _main   ;Function start
591 ; 2 exit points
592 ;;ic
593 ;; ***  genAssign  9238
594 ;; ***  aopForSym 434
595 ;;      520 sym->rname = _uchar0, size = 1
596 ;;      line = 9247 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
597 ;; ***  genAssign  9321
598 ;#CSRC  and2.c 45
599 ;  uchar0 = 0x13;
600         MOVLW   0x13    ;key=000,flow seq=001
601 ;;      1241
602 ;;      1257  _uchar0   offset=0
603         MOVWF   _uchar0 ;key=001,flow seq=001
604 ;;ic
605 ;; ***  genCall  2355
606 ;; ***  saveRegisters  2026
607 ;;ic
608 ;; ***  genPlus  781
609 ;; ***  aopForSym 434
610 ;;      520 sym->rname = _uchar0, size = 1
611 ;;      794
612 ;;      811 size=1
613 ;;Warning -pic port ignoring get(AOP_ACC)       1088
614 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar0, right AOP_LIT=0x01, size = 1
615 ;; ***  pic14_getDataSize  1751
616 ;; ***  genPlusIncr  161
617 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
618 ;;      genPlusIncr  173
619 ;;      genPlusIncr  197
620 ;;      couldn't increment 
621 ;; ***  pic14_getDataSize  1751
622 ;;      adding lit to something. size 1
623 ;; ***  genAddLit  455
624 ;; ***  pic14_getDataSize  1751
625 ;;  left and result aren't same genAddLit  680
626 ;;      1241
627 ;;      1257  _uchar0   offset=0
628 _and_compound1
629 ;#CSRC  and2.c 25
630 ;  uchar0 = (uchar0 + 1) & 0x0f;
631         INCF    _uchar0,W       ;key=002,flow seq=001
632 ;; ***  emitMOVWF  438 ignoring mov into W
633 ;;ic
634 ;; ***  ifxForOp  5035
635 ;; ***  genAnd  5242
636 ;;      794
637 ;;      811 size=1
638 ;; ***  aopForSym 434
639 ;;      520 sym->rname = _uchar0, size = 1
640 ;;Warning -pic port ignoring get(AOP_ACC)       1088
641 ;;      line = 5276 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
642         ANDLW   0x0f    ;key=003,flow seq=001
643 ;;      1241
644 ;;      1257  _uchar0   offset=0
645 ;;     peep 2 - Removed redundant move
646         MOVWF   _uchar0 ;key=004,flow seq=001
647 ;;     peep 1 - test/jump to test/skip
648         XORLW   0x04    ;key=005,flow seq=001
649         BTFSS   _STATUS,2       ;key=006,flow seq=001
650 ;<>Start of new flow, seq=0x2 ancestor = 0x1
651         INCF    _failures,F     ;key=000,flow seq=002
652 ;<>Start of new flow, seq=0x3 ancestor = 0x1
653 ;; ***  unsaveRegisters  2088
654 ;;ic
655 ;; ***  genAssign  9238
656 ;; ***  aopForSym 434
657 ;;      520 sym->rname = _uchar1, size = 1
658 ;;      line = 9247 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x42, size = 1
659 ;; ***  genAssign  9321
660 ;#CSRC  and2.c 48
661 ;  uchar1 = 0x42;
662         MOVLW   0x42    ;key=000,flow seq=003
663 ;;      1241
664 ;;      1257  _uchar1   offset=0
665         MOVWF   _uchar1 ;key=001,flow seq=003
666 ;;ic
667 ;; ***  genCall  2355
668 ;; ***  saveRegisters  2026
669 ;;ic
670 ;; ***  genPlus  781
671 ;; ***  aopForSym 434
672 ;;      520 sym->rname = _uchar1, size = 1
673 ;;      794
674 ;;      811 size=1
675 ;;Warning -pic port ignoring get(AOP_ACC)       1088
676 ;;      line = 787 result AOP_ACC=AOP_accumulator_bug, left AOP_DIR=_uchar1, right AOP_LIT=0x01, size = 1
677 ;; ***  pic14_getDataSize  1751
678 ;; ***  genPlusIncr  161
679 ;;      result AOP_ACC, left AOP_DIR, right AOP_LIT
680 ;;      genPlusIncr  173
681 ;;      genPlusIncr  197
682 ;;      couldn't increment 
683 ;; ***  pic14_getDataSize  1751
684 ;;      adding lit to something. size 1
685 ;; ***  genAddLit  455
686 ;; ***  pic14_getDataSize  1751
687 ;;  left and result aren't same genAddLit  680
688 ;;      1241
689 ;;      1255  _uchar1   offset=0 - had to alloc by reg name
690 _and_compound2
691 ;#CSRC  and2.c 34
692 ;  uchar0 = (uchar1 + 1) & 0x0f;
693         INCF    _uchar1,W       ;key=002,flow seq=003
694 ;; ***  emitMOVWF  438 ignoring mov into W
695 ;;ic
696 ;; ***  ifxForOp  5035
697 ;; ***  genAnd  5242
698 ;;      794
699 ;;      811 size=1
700 ;; ***  aopForSym 434
701 ;;      520 sym->rname = _uchar0, size = 1
702 ;;Warning -pic port ignoring get(AOP_ACC)       1088
703 ;;      line = 5276 result AOP_DIR=_uchar0, left AOP_ACC=AOP_accumulator_bug, right AOP_LIT=0x0f, size = 1
704         ANDLW   0x0f    ;key=003,flow seq=003
705 ;;      1241
706 ;;      1257  _uchar0   offset=0
707 ;;     peep 2 - Removed redundant move
708         MOVWF   _uchar0 ;key=004,flow seq=003
709 ;;     peep 1 - test/jump to test/skip
710         XORLW   0x03    ;key=005,flow seq=003
711         BTFSS   _STATUS,2       ;key=006,flow seq=003
712 ;<>Start of new flow, seq=0x4 ancestor = 0x3
713         INCF    _failures,F     ;key=000,flow seq=004
714 ;<>Start of new flow, seq=0x5 ancestor = 0x3
715         MOVF    _uchar1,W       ;key=000,flow seq=005
716 ;;     peep 1 - test/jump to test/skip
717         XORLW   0x42    ;key=001,flow seq=005
718         BTFSS   _STATUS,2       ;key=002,flow seq=005
719 ;<>Start of new flow, seq=0x6 ancestor = 0x5
720         INCF    _failures,F     ;key=000,flow seq=006
721 ;<>Start of new flow, seq=0x7 ancestor = 0x5
722 ;; ***  unsaveRegisters  2088
723 ;;ic
724 ;; ***  genAssign  9238
725 ;; ***  aopForSym 434
726 ;;      520 sym->rname = _failures, size = 1
727 ;; ***  aopForSym 434
728 ;;      520 sym->rname = _success, size = 1
729 ;;      line = 9247 result AOP_DIR=_success, left -=-, right AOP_DIR=_failures, size = 1
730 ;; ***  genAssign  9321
731 ;; ***  genAssign  9340
732 ;;      1241
733 ;;      1257  _failures   offset=0
734 ;#CSRC  and2.c 51
735 ;  success = failures;
736         MOVF    _failures,W     ;key=000,flow seq=007
737 ;;      1241
738 ;;      1257  _success   offset=0
739 ;;ic
740 ;; ***  genCall  2355
741 ;; ***  saveRegisters  2026
742 ;;ic
743 ;; ***  genPlus  781
744 ;; ***  aopForSym 434
745 ;;      520 sym->rname = _dummy, size = 1
746 ;;      line = 787 result AOP_DIR=_dummy, left AOP_DIR=_dummy, right AOP_LIT=0x01, size = 1
747 ;; ***  pic14_getDataSize  1751
748 ;; ***  genPlusIncr  161
749 ;;      result AOP_DIR, left AOP_DIR, right AOP_LIT
750 ;;      genPlusIncr  173
751 ;;      1241
752 ;;      1257  _dummy   offset=0
753 _done
754 ;#CSRC  and2.c 18
755 ;  dummy++;
756         INCF    _dummy,F        ;key=001,flow seq=007
757 ;;ic
758 ;; ***  genLabel  3059
759 ;_00105_DS_:
760 ;;ic
761 ;; ***  genEndFunction  2829
762 ;;      C$and2.c$20$1$1 ==.
763 ;;      XG$done$0$0 ==.
764 ;return
765 ;; ***  unsaveRegisters  2088
766 ;;ic
767 ;; ***  genLabel  3059
768 ;_00125_DS_:
769 ;;ic
770 ;; ***  genEndFunction  2829
771 ;;      C$and2.c$53$1$1 ==.
772 ;;      XG$main$0$0 ==.
773 ;return
774         RETURN          ;key=002,flow seq=007
775 ;<>Start of new flow, seq=0x8
776 ; exit point of _main
777         end