📄 v3k_fram_uart_demo1_sdcc.rst
字号:
08DD 75 27 65 658 mov (_msgint0 + 0x000a),#0x65
659 ; genPointerSet
660 ; genNearPointerSet
661 ; genDataPointerSet
08E0 75 28 63 662 mov (_msgint0 + 0x000b),#0x63
663 ; genPointerSet
664 ; genNearPointerSet
665 ; genDataPointerSet
08E3 75 29 65 666 mov (_msgint0 + 0x000c),#0x65
667 ; genPointerSet
668 ; genNearPointerSet
669 ; genDataPointerSet
08E6 75 2A 69 670 mov (_msgint0 + 0x000d),#0x69
671 ; genPointerSet
672 ; genNearPointerSet
673 ; genDataPointerSet
08E9 75 2B 76 674 mov (_msgint0 + 0x000e),#0x76
675 ; genPointerSet
676 ; genNearPointerSet
677 ; genDataPointerSet
08EC 75 2C 65 678 mov (_msgint0 + 0x000f),#0x65
679 ; genPointerSet
680 ; genNearPointerSet
681 ; genDataPointerSet
08EF 75 2D 64 682 mov (_msgint0 + 0x0010),#0x64
683 ; genPointerSet
684 ; genNearPointerSet
685 ; genDataPointerSet
08F2 75 2E 00 686 mov (_msgint0 + 0x0011),#0x00
687 .area GSFINAL (CODE)
08F5 02 00 2E 688 ljmp __sdcc_program_startup
689 ;--------------------------------------------------------
690 ; Home
691 ;--------------------------------------------------------
692 .area HOME (CODE)
693 .area CSEG (CODE)
694 ;--------------------------------------------------------
695 ; code
696 ;--------------------------------------------------------
697 .area CSEG (CODE)
002E 698 __sdcc_program_startup:
002E 12 00 33 699 lcall _main
700 ; return from main will lock up
0031 80 FE 701 sjmp .
702 ;------------------------------------------------------------
703 ;Allocation info for local variables in function 'main'
704 ;------------------------------------------------------------
705 ;letter Allocated to registers r2
706 ;cptr Allocated to registers r3 r4
707 ;------------------------------------------------------------
0033 708 G$main$0$0 ==.
0033 709 C$V3K_FRAM_UART_Demo1_SDCC.c$74$0$0 ==.
710 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:74: void main (void){
711 ; -----------------------------------------
712 ; function main
713 ; -----------------------------------------
0033 714 _main:
0002 715 ar2 = 0x02
0003 716 ar3 = 0x03
0004 717 ar4 = 0x04
0005 718 ar5 = 0x05
0006 719 ar6 = 0x06
0007 720 ar7 = 0x07
0000 721 ar0 = 0x00
0001 722 ar1 = 0x01
0033 723 C$V3K_FRAM_UART_Demo1_SDCC.c$79$1$1 ==.
724 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:79: PERIPHEN1 = 0x09; //Enable UART0 + Timer0
725 ; genAssign
0033 75 F4 09 726 mov _PERIPHEN1,#0x09
0036 727 C$V3K_FRAM_UART_Demo1_SDCC.c$80$1$1 ==.
728 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:80: PERIPHEN2 = 0x08; //Enable IO Ports
729 ; genAssign
0036 75 F5 08 730 mov _PERIPHEN2,#0x08
0039 731 C$V3K_FRAM_UART_Demo1_SDCC.c$82$1$1 ==.
732 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:82: uart0config(); //Configure Uart0
733 ; genCall
0039 12 03 34 734 lcall _uart0config
003C 735 C$V3K_FRAM_UART_Demo1_SDCC.c$87$1$1 ==.
736 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:87: GENINTEN = 0x02; //Set the PININTCFG bit before configuring the INT0 pin event
737 ; genAssign
003C 75 E8 02 738 mov _GENINTEN,#0x02
003F 739 C$V3K_FRAM_UART_Demo1_SDCC.c$91$1$1 ==.
740 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:91: INTSRC1 = 0x01; //INT0 vector source = INT0 pin
741 ; genAssign
003F 75 E4 01 742 mov _INTSRC1,#0x01
0042 743 C$V3K_FRAM_UART_Demo1_SDCC.c$92$1$1 ==.
744 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:92: IPINSENS1 = 0x01; //Set INT0 sensitive on edge(1) or Level(0)
745 ; genAssign
0042 75 E6 01 746 mov _IPINSENS1,#0x01
0045 747 C$V3K_FRAM_UART_Demo1_SDCC.c$93$1$1 ==.
748 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:93: IPININV1 = 0x00; //Set INT0 Pin sensitivity on Low Level/Inversion
749 ; genAssign
0045 75 D6 00 750 mov _IPININV1,#0x00
0048 751 C$V3K_FRAM_UART_Demo1_SDCC.c$94$1$1 ==.
752 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:94: INTEN1 = 0x21; //Enable INT0 (bit0) and UART0 (bit5) Interrupt
753 ; genAssign
0048 75 88 21 754 mov _INTEN1,#0x21
004B 755 C$V3K_FRAM_UART_Demo1_SDCC.c$95$1$1 ==.
756 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:95: GENINTEN = 0x01; //Enable Global interrupt
757 ; genAssign
004B 75 E8 01 758 mov _GENINTEN,#0x01
004E 759 C$V3K_FRAM_UART_Demo1_SDCC.c$97$1$1 ==.
760 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:97: DEVMEMCFG |= 0xC0; //Activate the FRAM
761 ; genOr
004E 43 F6 C0 762 orl _DEVMEMCFG,#0xC0
0051 763 C$V3K_FRAM_UART_Demo1_SDCC.c$101$1$1 ==.
764 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:101: letter = 'A';
765 ; genAssign
0051 7A 41 766 mov r2,#0x41
0053 767 C$V3K_FRAM_UART_Demo1_SDCC.c$102$1$1 ==.
768 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:102: for(cptr = 0; cptr < 0x400; cptr++)
769 ; genAssign
0053 7B 00 770 mov r3,#0x00
0055 7C 00 771 mov r4,#0x00
0057 772 00131$:
773 ; genCmpLt
774 ; genCmp
0057 C3 775 clr c
0058 EB 776 mov a,r3
0059 94 00 777 subb a,#0x00
005B EC 778 mov a,r4
005C 64 80 779 xrl a,#0x80
005E 94 84 780 subb a,#0x84
781 ; genIfxJump
782 ; Peephole 108 removed ljmp by inverse jump logic
0060 50 1C 783 jnc 00134$
0062 784 00203$:
0062 785 C$V3K_FRAM_UART_Demo1_SDCC.c$104$2$2 ==.
786 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:104: *(framptr+cptr) = letter;
787 ; genPlus
788 ; Peephole 236.g used r3 instead of ar3
0062 EB 789 mov a,r3
0063 25 08 790 add a,_framptr
0065 F5 82 791 mov dpl,a
792 ; Peephole 236.g used r4 instead of ar4
0067 EC 793 mov a,r4
0068 35 09 794 addc a,(_framptr + 1)
006A F5 83 795 mov dph,a
796 ; genPointerSet
797 ; genFarPointerSet
006C EA 798 mov a,r2
006D F0 799 movx @dptr,a
006E 800 C$V3K_FRAM_UART_Demo1_SDCC.c$106$2$2 ==.
801 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:106: if(letter == 'A')
802 ; genCmpEq
803 ; Peephole 112.b changed ljmp to sjmp
804 ; Peephole 199 optimized misc jump sequence
006E BA 41 04 805 cjne r2,#0x41,00102$
806 ;00204$:
807 ; Peephole 200 removed redundant sjmp
0071 808 00205$:
0071 809 C$V3K_FRAM_UART_Demo1_SDCC.c$107$2$2 ==.
810 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:107: letter = 'Z';
811 ; genAssign
0071 7A 5A 812 mov r2,#0x5A
813 ; Peephole 112.b changed ljmp to sjmp
0073 80 02 814 sjmp 00133$
0075 815 00102$:
0075 816 C$V3K_FRAM_UART_Demo1_SDCC.c$109$2$2 ==.
817 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:109: letter = 'A';
818 ; genAssign
0075 7A 41 819 mov r2,#0x41
0077 820 00133$:
0077 821 C$V3K_FRAM_UART_Demo1_SDCC.c$102$1$1 ==.
822 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:102: for(cptr = 0; cptr < 0x400; cptr++)
823 ; genPlus
824 ; genPlusIncr
0077 0B 825 inc r3
826 ; Peephole 112.b changed ljmp to sjmp
827 ; Peephole 243 avoided branch to sjmp
0078 BB 00 DC 828 cjne r3,#0x00,00131$
007B 0C 829 inc r4
007C 830 00206$:
007C 80 D9 831 sjmp 00131$
007E 832 00134$:
007E 833 C$V3K_FRAM_UART_Demo1_SDCC.c$113$1$1 ==.
834 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:113: letter = 'B';
835 ; genAssign
007E 7A 42 836 mov r2,#0x42
0080 837 C$V3K_FRAM_UART_Demo1_SDCC.c$114$1$1 ==.
838 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:114: for(cptr = 0x400; cptr < 0x800; cptr++)
839 ; genAssign
0080 7B 00 840 mov r3,#0x00
0082 7C 04 841 mov r4,#0x04
0084 842 00135$:
843 ; genCmpLt
844 ; genCmp
0084 C3 845 clr c
0085 EB 846 mov a,r3
0086 94 00 847 subb a,#0x00
0088 EC 848 mov a,r4
0089 64 80 849 xrl a,#0x80
008B 94 88 850 subb a,#0x88
851 ; genIfxJump
852 ; Peephole 108 removed ljmp by inverse jump logic
008D 50 1C 853 jnc 00138$
008F 854 00207$:
008F 855 C$V3K_FRAM_UART_Demo1_SDCC.c$116$2$3 ==.
856 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:116: *(framptr+cptr) = letter;
857 ; genPlus
858 ; Peephole 236.g used r3 instead of ar3
008F EB 859 mov a,r3
0090 25 08 860 add a,_framptr
0092 F5 82 861 mov dpl,a
862 ; Peephole 236.g used r4 instead of ar4
0094 EC 863 mov a,r4
0095 35 09 864 addc a,(_framptr + 1)
0097 F5 83 865 mov dph,a
866 ; genPointerSet
867 ; genFarPointerSet
0099 EA 868 mov a,r2
009A F0 869 movx @dptr,a
009B 870 C$V3K_FRAM_UART_Demo1_SDCC.c$118$2$3 ==.
871 ;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:118: if(letter == 'B')
872 ; genCmpEq
873 ; Peephole 112.b changed ljmp to sjmp
874 ; Peephole 199 optimized misc jump sequence
009B BA 42 04 875 cjne r2,#0x42,00105$
876 ;00208$:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -