⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v3k_fram_uart_demo1_sdcc.rst

📁 DEMO程序 单周期8051内核 8K铁电FRAM 56IO 4KRAM 40MIPS
💻 RST
📖 第 1 页 / 共 5 页
字号:
   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 + -