📄 main.ls
字号:
1 ; C Compiler for ST7 (COSMIC Software)
2 ; Generator V4.5b - 07 Sep 2004
1788 ; 3 void main(void)
1788 ; 4 {
1789 switch .text
1791 xref.b _main$L
1792 0000 _main:
1795 ; 7 Nop;
1798 0000 9d nop
1800 ; 9 ARTARR = 0;
1803 0001 3f38 clr _ARTARR
1804 ; 11 PWMDCR0=0x20;
1806 0003 a620 ld a,#32
1807 0005 b734 ld _PWMDCR0,a
1808 ; 12 PWMDCR1=0x40;
1810 0007 a640 ld a,#64
1811 0009 b733 ld _PWMDCR1,a
1812 ; 13 PWMDCR2=0x80;
1814 000b a680 ld a,#128
1815 000d b732 ld _PWMDCR2,a
1816 ; 14 PWMDCR3=0xc0;
1818 000f a6c0 ld a,#192
1819 0011 b731 ld _PWMDCR3,a
1820 ; 16 ARTCSR |=0x2f;
1822 0013 b636 ld a,_ARTCSR
1823 0015 aa2f or a,#47
1824 0017 b736 ld _ARTCSR,a
1825 ; 17 PWMCR = 0xf5;
1827 0019 a6f5 ld a,#245
1828 001b b735 ld _PWMCR,a
1829 ; 18 _asm("RIM");
1832 001d 9a RIM
1834 001e L7121:
1835 ; 21 for(ii=0;ii<256;ii++)
1837 001e 3ffc clr _main$L-4
1838 0020 3ffd clr _main$L-3
1839 0022 L3221:
1840 ; 23 for(jj=0;jj<20;jj++)
1842 0022 3ffe clr _main$L-2
1843 0024 3fff clr _main$L-1
1844 0026 L1321:
1845 ; 24 Nop;
1848 0026 9d nop
1850 ; 23 for(jj=0;jj<20;jj++)
1852 0027 3cff inc _main$L-1
1853 0029 2602 jrne L6
1854 002b 3cfe inc _main$L-2
1855 002d L6:
1858 002d b6ff ld a,_main$L-1
1859 002f a014 sub a,#20
1860 0031 b6fe ld a,_main$L-2
1861 0033 a200 sbc a,#0
1862 0035 25ef jrult L1321
1863 ; 21 for(ii=0;ii<256;ii++)
1866 0037 3cfd inc _main$L-3
1867 0039 2602 jrne L01
1868 003b 3cfc inc _main$L-4
1869 003d L01:
1872 003d b6fc ld a,_main$L-4
1873 003f a101 cp a,#1
1874 0041 25df jrult L3221
1875 ; 26 PWMDCR1+=2;
1877 0043 3c33 inc _PWMDCR1
1878 0045 3c33 inc _PWMDCR1
1879 ; 27 PWMDCR2+=3;
1881 0047 3c32 inc _PWMDCR2
1882 0049 3c32 inc _PWMDCR2
1883 004b 3c32 inc _PWMDCR2
1884 ; 28 PWMDCR3+=4;
1886 004d b631 ld a,_PWMDCR3
1887 004f ab04 add a,#4
1888 0051 b731 ld _PWMDCR3,a
1890 0053 20c9 jra L7121
1892 switch .ubsct
1893 0000 L1421_i:
1894 0000 0000 ds.b 2
1930 ; 37 @interrupt void PWMRefresh(void)
1930 ; 38 {
1931 switch .text
1932 0055 _PWMRefresh:
1934 0055 b601 ld a,c_x+1
1935 0057 88 push a
1936 0058 b600 ld a,c_x
1937 005a 88 push a
1940 ; 40 if(++i>=1)
1942 005b 3c01 inc L1421_i+1
1943 005d 2602 jrne L41
1944 005f 3c00 inc L1421_i
1945 0061 L41:
1946 0061 b601 ld a,L1421_i+1
1947 0063 a001 sub a,#1
1948 0065 b600 ld a,L1421_i
1949 0067 a200 sbc a,#0
1950 0069 2b30 jrmi L1621
1951 ; 42 i=0;
1953 006b 3f00 clr L1421_i
1954 006d 3f01 clr L1421_i+1
1955 ; 43 if(++j>100)
1957 006f 3c03 inc L7321_j+1
1958 0071 2602 jrne L61
1959 0073 3c02 inc L7321_j
1960 0075 L61:
1961 0075 b603 ld a,L7321_j+1
1962 0077 a065 sub a,#101
1963 0079 b602 ld a,L7321_j
1964 007b a200 sbc a,#0
1965 007d 2b04 jrmi L3621
1966 ; 44 j=0;
1968 007f 3f02 clr L7321_j
1969 0081 3f03 clr L7321_j+1
1970 0083 L3621:
1971 ; 45 PWMDCR0=PWMDuty[j];
1973 0083 b603 ld a,L7321_j+1
1974 0085 be02 ld x,L7321_j
1975 0087 48 sll a
1976 0088 59 rlc x
1977 0089 ab01 add a,#low(_PWMDuty+1)
1978 008b 88 push a
1979 008c 9f ld a,x
1980 008d a901 adc a,#high(_PWMDuty+1)
1981 008f 97 ld x,a
1982 0090 84 pop a
1983 0091 bf00 ld c_x,x
1984 0093 97 ld x,a
1985 0094 bf01 ld c_x+1,x
1986 0096 92c600 ld a,[c_x.w]
1987 0099 b734 ld _PWMDCR0,a
1988 009b L1621:
1989 ; 47 ARTCSR&=0xfe;
1991 009b 1136 bres _ARTCSR,#0
1992 ; 48 }
1995 009d 84 pop a
1996 009e b700 ld c_x,a
1997 00a0 84 pop a
1998 00a1 b701 ld c_x+1,a
1999 00a3 80 iret
2022 xdef _PWMRefresh
2023 switch .ubsct
2024 0002 L7321_j:
2025 0002 0000 ds.b 2
2026 xref _PWMDuty
2027 xdef _main
2028 xref.b c_x
2048 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -