1 ;--------------------------------------------------------
2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 ; Version 2.3.4 Sun Mar 30 09:16:00 2003
5 ;--------------------------------------------------------
6 ; PIC port for the 14-bit core
7 ;--------------------------------------------------------
13 ;--------------------------------------------------------
14 ; publics variables in this module
15 ;--------------------------------------------------------
17 ; .globl _and_compound2
18 ; .globl _and_compound1
52 ; .globl _DATA_ADDRESS
182 ;--------------------------------------------------------
183 ; special function registers
184 ;--------------------------------------------------------
213 _OPTION_REG EQU 0x0081
234 cblock 0X0020 ; Bank 0
240 cblock 0X0120 ; Bank 0
256 ;--------------------------------------------------------
257 ; overlayable items in internal ram
258 ;--------------------------------------------------------
259 ; .area OSEG (OVR,DATA)
260 ;--------------------------------------------------------
261 ; Stack segment in internal ram
262 ;--------------------------------------------------------
267 ;--------------------------------------------------------
268 ; indirectly addressable internal ram data
269 ;--------------------------------------------------------
271 ;--------------------------------------------------------
273 ;--------------------------------------------------------
275 ;--------------------------------------------------------
277 ;--------------------------------------------------------
309 _NOT_T1SYNC EQU 0x0082
396 _NOT_ADDRESS EQU 0x04a5
398 _DATA_ADDRESS EQU 0x04a5
402 _I2C_START EQU 0x04a3
406 _NOT_WRITE EQU 0x04a2
408 _READ_WRITE EQU 0x04a2
432 ;--------------------------------------------------------
434 ;--------------------------------------------------------
437 ; ljmp __sdcc_gsinit_startup
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 ;--------------------------------------------------------
461 ;--------------------------------------------------------
464 ; pBlock Stats: dbName = D
466 ;; Starting pCode block
467 ;<>Start of new flow, seq=0x9 ancestor = 0x9
469 ;; *** genAssign 9238
471 ;; 520 sym->rname = _success, size = 1
472 ;; line = 9247 result AOP_DIR=_success, left -=-, right AOP_LIT=0x00, size = 1
473 ;; *** genAssign 9321
475 ;; 1257 _success offset=0
476 ;; Starting pCode block
478 ;; *** genAssign 9238
480 ;; 520 sym->rname = _failures, size = 1
481 ;; line = 9247 result AOP_DIR=_failures, left -=-, right AOP_LIT=0x00, size = 1
482 ;; *** genAssign 9321
484 ;; 1257 _failures offset=0
488 CLRF _failures ;key=000,flow seq=009
489 ;; Starting pCode block
491 ;; *** genAssign 9238
493 ;; 520 sym->rname = _dummy, size = 1
494 ;; line = 9247 result AOP_DIR=_dummy, left -=-, right AOP_LIT=0x00, size = 1
495 ;; *** genAssign 9321
497 ;; 1257 _dummy offset=0
501 CLRF _dummy ;key=001,flow seq=009
502 ;; Starting pCode block
504 ;; *** genAssign 9238
506 ;; 520 sym->rname = _uint0, size = 2
507 ;; line = 9247 result AOP_DIR=_uint0, left -=-, right AOP_LIT=0x00, size = 2
508 ;; *** genAssign 9321
510 ;; 1257 _uint0 offset=0
511 ;; *** genAssign 9321
513 ;; 1257 _uint0 offset=1
514 ;; Starting pCode block
516 ;; *** genAssign 9238
518 ;; 520 sym->rname = _uint1, size = 2
519 ;; line = 9247 result AOP_DIR=_uint1, left -=-, right AOP_LIT=0x00, size = 2
520 ;; *** genAssign 9321
522 ;; 1257 _uint1 offset=0
523 ;; *** genAssign 9321
525 ;; 1257 _uint1 offset=1
526 ;; Starting pCode block
528 ;; *** genAssign 9238
530 ;; 520 sym->rname = _uchar0, size = 1
531 ;; line = 9247 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x00, size = 1
532 ;; *** genAssign 9321
534 ;; 1257 _uchar0 offset=0
538 CLRF _uchar0 ;key=002,flow seq=009
539 ;; Starting pCode block
541 ;; *** genAssign 9238
543 ;; 520 sym->rname = _uchar1, size = 1
544 ;; line = 9247 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x00, size = 1
545 ;; *** genAssign 9321
547 ;; 1257 _uchar1 offset=0
551 CLRF _uchar1 ;key=003,flow seq=009
552 ;; Starting pCode block
554 ;; *** genAssign 9238
556 ;; 520 sym->rname = _ulong0, size = 4
557 ;; line = 9247 result AOP_DIR=_ulong0, left -=-, right AOP_LIT=0x00, size = 4
558 ;; *** genAssign 9321
560 ;; 1257 _ulong0 offset=0
561 ;; *** genAssign 9321
563 ;; 1257 _ulong0 offset=1
564 ;; *** genAssign 9321
566 ;; 1257 _ulong0 offset=2
567 ;; *** genAssign 9321
569 ;; 1257 _ulong0 offset=3
571 ; pBlock Stats: dbName = M
573 ;entry: _main ;Function start
580 ;; Starting pCode block
581 ;<>Start of new flow, seq=0x1 ancestor = 0x1
585 ;; *** genFunction 2646 curr label offset=15previous max_key=5
586 ;; -----------------------------------------
588 ;; -----------------------------------------
590 _main ;Function start
593 ;; *** genAssign 9238
595 ;; 520 sym->rname = _uchar0, size = 1
596 ;; line = 9247 result AOP_DIR=_uchar0, left -=-, right AOP_LIT=0x13, size = 1
597 ;; *** genAssign 9321
600 MOVLW 0x13 ;key=000,flow seq=001
602 ;; 1257 _uchar0 offset=0
603 MOVWF _uchar0 ;key=001,flow seq=001
606 ;; *** saveRegisters 2026
610 ;; 520 sym->rname = _uchar0, 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
620 ;; couldn't increment
621 ;; *** pic14_getDataSize 1751
622 ;; adding lit to something. size 1
624 ;; *** pic14_getDataSize 1751
625 ;; left and result aren't same genAddLit 680
627 ;; 1257 _uchar0 offset=0
630 ; uchar0 = (uchar0 + 1) & 0x0f;
631 INCF _uchar0,W ;key=002,flow seq=001
632 ;; *** emitMOVWF 438 ignoring mov into W
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
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
655 ;; *** genAssign 9238
657 ;; 520 sym->rname = _uchar1, size = 1
658 ;; line = 9247 result AOP_DIR=_uchar1, left -=-, right AOP_LIT=0x42, size = 1
659 ;; *** genAssign 9321
662 MOVLW 0x42 ;key=000,flow seq=003
664 ;; 1257 _uchar1 offset=0
665 MOVWF _uchar1 ;key=001,flow seq=003
668 ;; *** saveRegisters 2026
672 ;; 520 sym->rname = _uchar1, 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
682 ;; couldn't increment
683 ;; *** pic14_getDataSize 1751
684 ;; adding lit to something. size 1
686 ;; *** pic14_getDataSize 1751
687 ;; left and result aren't same genAddLit 680
689 ;; 1255 _uchar1 offset=0 - had to alloc by reg name
692 ; uchar0 = (uchar1 + 1) & 0x0f;
693 INCF _uchar1,W ;key=002,flow seq=003
694 ;; *** emitMOVWF 438 ignoring mov into W
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
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
724 ;; *** genAssign 9238
726 ;; 520 sym->rname = _failures, size = 1
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
733 ;; 1257 _failures offset=0
735 ; success = failures;
736 MOVF _failures,W ;key=000,flow seq=007
738 ;; 1257 _success offset=0
741 ;; *** saveRegisters 2026
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
752 ;; 1257 _dummy offset=0
756 INCF _dummy,F ;key=001,flow seq=007
761 ;; *** genEndFunction 2829
762 ;; C$and2.c$20$1$1 ==.
765 ;; *** unsaveRegisters 2088
770 ;; *** genEndFunction 2829
771 ;; C$and2.c$53$1$1 ==.
774 RETURN ;key=002,flow seq=007
775 ;<>Start of new flow, seq=0x8
776 ; exit point of _main