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

📄 ks0108.lst

📁 AVR程序ks0108经典范例!! !!
💻 LST
📖 第 1 页 / 共 5 页
字号:
 1592               	.global	set_page_L
 1594               	set_page_L:
 1595               	.LFB12:
 1596               	.LM92:
 1597               	/* prologue: frame size=0 */
 1598               	/* prologue end (size=0) */
 1599               	.LM93:
 1600 033e 886B      		ori r24,lo8(-72)
 1601 0340 482F      		mov r20,r24
 1602 0342 60E0      		ldi r22,lo8(0)
 1603 0344 862F      		mov r24,r22
 1604 0346 0E94 0000 		call write_LCD
 1605               	/* epilogue: frame size=0 */
 1606 034a 0895      		ret
 1607               	/* epilogue end (size=1) */
 1608               	/* function set_page_L size 7 (6) */
 1609               	.LFE12:
 1611               	.global	set_page_R
 1613               	set_page_R:
 1614               	.LFB13:
 1615               	.LM94:
 1616               	/* prologue: frame size=0 */
 1617               	/* prologue end (size=0) */
 1618               	.LM95:
 1619 034c 886B      		ori r24,lo8(-72)
 1620 034e 482F      		mov r20,r24
 1621 0350 60E0      		ldi r22,lo8(0)
 1622 0352 81E0      		ldi r24,lo8(1)
 1623 0354 0E94 0000 		call write_LCD
 1624               	/* epilogue: frame size=0 */
 1625 0358 0895      		ret
 1626               	/* epilogue end (size=1) */
 1627               	/* function set_page_R size 7 (6) */
 1628               	.LFE13:
 1630               	.global	set_col_addr_L
 1632               	set_col_addr_L:
 1633               	.LFB14:
 1634               	.LM96:
 1635               	/* prologue: frame size=0 */
 1636               	/* prologue end (size=0) */
 1637               	.LM97:
 1638 035a 8064      		ori r24,lo8(64)
 1639 035c 482F      		mov r20,r24
 1640 035e 60E0      		ldi r22,lo8(0)
 1641 0360 862F      		mov r24,r22
 1642 0362 0E94 0000 		call write_LCD
 1643               	/* epilogue: frame size=0 */
 1644 0366 0895      		ret
 1645               	/* epilogue end (size=1) */
 1646               	/* function set_col_addr_L size 7 (6) */
 1647               	.LFE14:
 1649               	.global	set_col_addr_R
 1651               	set_col_addr_R:
 1652               	.LFB15:
 1653               	.LM98:
 1654               	/* prologue: frame size=0 */
 1655               	/* prologue end (size=0) */
 1656               	.LM99:
 1657 0368 8064      		ori r24,lo8(64)
 1658 036a 482F      		mov r20,r24
 1659 036c 60E0      		ldi r22,lo8(0)
 1660 036e 81E0      		ldi r24,lo8(1)
 1661 0370 0E94 0000 		call write_LCD
 1662               	/* epilogue: frame size=0 */
 1663 0374 0895      		ret
 1664               	/* epilogue end (size=1) */
 1665               	/* function set_col_addr_R size 7 (6) */
 1666               	.LFE15:
 1668               	.global	init_lcd
 1670               	init_lcd:
 1671               	.LFB16:
 1672               	.LM100:
 1673               	/* prologue: frame size=0 */
 1674               	/* prologue end (size=0) */
 1675               	.LM101:
 1676 0376 80E0      		ldi r24,lo8(0)
 1677 0378 0E94 0000 		call set_start_line_L
 1678               	.LM102:
 1679 037c 80E0      		ldi r24,lo8(0)
 1680 037e 0E94 0000 		call set_start_line_R
 1681               	.LM103:
 1682 0382 4FE3      		ldi r20,lo8(63)
 1683 0384 60E0      		ldi r22,lo8(0)
 1684 0386 862F      		mov r24,r22
 1685 0388 0E94 0000 		call write_LCD
 1686               	.LM104:
 1687 038c 4FE3      		ldi r20,lo8(63)
 1688 038e 60E0      		ldi r22,lo8(0)
 1689 0390 81E0      		ldi r24,lo8(1)
 1690 0392 0E94 0000 		call write_LCD
 1691               	/* epilogue: frame size=0 */
 1692 0396 0895      		ret
 1693               	/* epilogue end (size=1) */
 1694               	/* function init_lcd size 17 (16) */
 1695               	.LFE16:
 1697               	.global	clr_lcd
 1699               	clr_lcd:
 1700               	.LFB17:
 1701               	.LM105:
 1702               	/* prologue: frame size=0 */
 1703 0398 1F93      		push r17
 1704 039a CF93      		push r28
 1705               	/* prologue end (size=2) */
 1706               	.LM106:
 1707 039c 10E0      		ldi r17,lo8(0)
 1708               	.L173:
 1709               	.LM107:
 1710 039e 812F      		mov r24,r17
 1711 03a0 0E94 0000 		call set_page_L
 1712               	.LM108:
 1713 03a4 812F      		mov r24,r17
 1714 03a6 0E94 0000 		call set_page_R
 1715               	.LM109:
 1716 03aa C0E0      		ldi r28,lo8(0)
 1717               	.L172:
 1718               	.LM110:
 1719 03ac 8C2F      		mov r24,r28
 1720 03ae 0E94 0000 		call set_col_addr_L
 1721               	.LM111:
 1722 03b2 8C2F      		mov r24,r28
 1723 03b4 0E94 0000 		call set_col_addr_R
 1724               	.LM112:
 1725 03b8 40E0      		ldi r20,lo8(0)
 1726 03ba 61E0      		ldi r22,lo8(1)
 1727 03bc 842F      		mov r24,r20
 1728 03be 0E94 0000 		call write_LCD
 1729               	.LM113:
 1730 03c2 40E0      		ldi r20,lo8(0)
 1731 03c4 61E0      		ldi r22,lo8(1)
 1732 03c6 862F      		mov r24,r22
 1733 03c8 0E94 0000 		call write_LCD
 1734               	.LM114:
 1735 03cc CF5F      		subi r28,lo8(-(1))
 1736 03ce C034      		cpi r28,lo8(64)
 1737 03d0 68F3      		brlo .L172
 1738               	.LM115:
 1739 03d2 1F5F      		subi r17,lo8(-(1))
 1740 03d4 1830      		cpi r17,lo8(8)
 1741 03d6 18F3      		brlo .L173
 1742               	/* epilogue: frame size=0 */
 1743 03d8 CF91      		pop r28
 1744 03da 1F91      		pop r17
 1745 03dc 0895      		ret
 1746               	/* epilogue end (size=3) */
 1747               	/* function clr_lcd size 35 (30) */
 1748               	.LFE17:
 1750               	.global	GetPage
 1752               	GetPage:
 1753               	.LFB18:
 1754               	.LM116:
 1755               	/* prologue: frame size=0 */
 1756               	/* prologue end (size=0) */
 1757               	.LM117:
 1758 03de 8091 0000 		lds r24,CurPage
 1759               	.LM118:
 1760 03e2 9927      		clr r25
 1761               	/* epilogue: frame size=0 */
 1762 03e4 0895      		ret
 1763               	/* epilogue end (size=1) */
 1764               	/* function GetPage size 4 (3) */
 1765               	.LFE18:
 1767               	.global	GetCol
 1769               	GetCol:
 1770               	.LFB19:
 1771               	.LM119:
 1772               	/* prologue: frame size=0 */
 1773               	/* prologue end (size=0) */
 1774               	.LM120:
 1775 03e6 8091 0000 		lds r24,CurCol
 1776               	.LM121:
 1777 03ea 9927      		clr r25
 1778               	/* epilogue: frame size=0 */
 1779 03ec 0895      		ret
 1780               	/* epilogue end (size=1) */
 1781               	/* function GetCol size 4 (3) */
 1782               	.LFE19:
 1784               	.global	SetPageCol
 1786               	SetPageCol:
 1787               	.LFB20:
 1788               	.LM122:
 1789               	/* prologue: frame size=0 */
 1790 03ee CF93      		push r28
 1791               	/* prologue end (size=1) */
 1792 03f0 C62F      		mov r28,r22
 1793               	.LM123:
 1794 03f2 8093 0000 		sts CurPage,r24
 1795               	.LM124:
 1796 03f6 6093 0000 		sts CurCol,r22
 1797               	.LM125:
 1798 03fa 6034      		cpi r22,lo8(64)
 1799 03fc 30F4      		brsh .L181
 1800               	.LM126:
 1801 03fe 0E94 0000 		call set_page_L
 1802               	.LM127:
 1803 0402 8C2F      		mov r24,r28
 1804 0404 0E94 0000 		call set_col_addr_L
 1805 0408 06C0      		rjmp .L180
 1806               	.L181:
 1807               	.LM128:
 1808 040a 0E94 0000 		call set_page_R
 1809               	.LM129:
 1810 040e 8C2F      		mov r24,r28
 1811 0410 8054      		subi r24,lo8(-(-64))
 1812 0412 0E94 0000 		call set_col_addr_R
 1813               	.L180:
 1814               	/* epilogue: frame size=0 */
 1815 0416 CF91      		pop r28
 1816 0418 0895      		ret
 1817               	/* epilogue end (size=2) */
 1818               	/* function SetPageCol size 22 (19) */
 1819               	.LFE20:
 1821               	.global	SetRowCol
 1823               	SetRowCol:
 1824               	.LFB21:
 1825               	.LM130:
 1826               	/* prologue: frame size=0 */
 1827               	/* prologue end (size=0) */
 1828               	.LM131:
 1829 041a 8093 0000 		sts CurRow,r24
 1830               	.LM132:
 1831 041e 6093 0000 		sts CurCol,r22
 1832               	.LM133:
 1833 0422 9927      		clr r25
 1834 0424 8330      		cpi r24,3
 1835 0426 9105      		cpc r25,__zero_reg__
 1836 0428 99F0      		breq .L187
 1837               	.LM134:
 1838 042a 8430      		cpi r24,4
 1839 042c 9105      		cpc r25,__zero_reg__
 1840 042e 34F4      		brge .L190
 1841 0430 8130      		cpi r24,1
 1842 0432 9105      		cpc r25,__zero_reg__
 1843 0434 49F0      		breq .L185
 1844 0436 0297      		sbiw r24,2
 1845 0438 49F0      		breq .L186
 1846 043a 13C0      		rjmp .L184
 1847               	.L190:
 1848 043c 8430      		cpi r24,4
 1849 043e 9105      		cpc r25,__zero_reg__
 1850 0440 49F0      		breq .L188
 1851 0442 0597      		sbiw r24,5
 1852 0444 51F0      		breq .L189
 1853 0446 0DC0      		rjmp .L184
 1854               	.L185:
 1855               	.LM135:
 1856 0448 20E0      		ldi r18,lo8(0)
 1857 044a 08C0      		rjmp .L192
 1858               	.L186:
 1859               	.LM136:
 1860 044c 21E0      		ldi r18,lo8(1)
 1861 044e 03C0      		rjmp .L193
 1862               	.L187:
 1863               	.LM137:
 1864 0450 23E0      		ldi r18,lo8(3)
 1865 0452 04C0      		rjmp .L192
 1866               	.L188:
 1867               	.LM138:
 1868 0454 24E0      		ldi r18,lo8(4)
 1869               	.L193:
 1870               	.LM139:
 1871 0456 82E0      		ldi r24,lo8(2)
 1872 0458 02C0      		rjmp .L191
 1873               	.L189:
 1874               	.LM140:
 1875 045a 26E0      		ldi r18,lo8(6)
 1876               	.L192:
 1877               	.LM141:
 1878 045c 81E0      		ldi r24,lo8(1)
 1879               	.L191:
 1880 045e 8093 0000 		sts CurOffset,r24
 1881               	.L184:
 1882               	.LM142:
 1883 0462 822F      		mov r24,r18
 1884 0464 0E94 0000 		call SetPageCol
 1885               	/* epilogue: frame size=0 */
 1886 0468 0895      		ret
 1887               	/* epilogue end (size=1) */
 1888               	/* function SetRowCol size 42 (41) */
 1889               	.LFE21:
 1891               	.global	disp_ch
 1893               	disp_ch:
 1894               	.LFB22:
 1895               	.LM143:
 1896               	/* prologue: frame size=0 */
 1897 046a 7F92      		push r7
 1898 046c 8F92      		push r8
 1899 046e 9F92      		push r9
 1900 0470 AF92      		push r10
 1901 0472 BF92      		push r11
 1902 0474 CF92      		push r12
 1903 0476 DF92      		push r13
 1904 0478 EF92      		push r14
 1905 047a FF92      		push r15
 1906 047c 0F93      		push r16
 1907 047e 1F93      		push r17
 1908 0480 CF93      		push r28
 1909               	/* prologue end (size=12) */
 1910 0482 C82F      		mov r28,r24
 1911               	.LM144:
 1912 0484 0E94 0000 		call GetPage
 1913 0488 982E      		mov r9,r24
 1914               	.LM145:
 1915 048a 0E94 0000 		call GetCol
 1916 048e C82E      		mov r12,r24
 1917               	.LM146:
 1918 0490 7724      		clr r7
 1919 0492 E0E0      		ldi r30,lo8(ASC_16)
 1920 0494 F0E0      		ldi r31,hi8(ASC_16)
 1921               	.L199:
 1922               	.LM147:
 1923 0496 8081      		ld r24,Z
 1924 0498 7196      		adiw r30,17
 1925 049a C817      		cp r28,r24
 1926 049c 21F0      		breq .L196
 1927               	.LM148:
 1928 049e 7394      		inc r7
 1929 04a0 8EE1      		ldi r24,lo8(30)
 1930 04a2 7816      		cp r7,r24
 1931 04a4 C0F3      		brlo .L199
 1932               	.L196:
 1933               	.LM149:
 1934 04a6 8EE1      		ldi r24,lo8(30)
 1935 04a8 7816      		cp r7,r24
 1936 04aa 08F0      		brlo .+2
 1937 04ac 17C1      		rjmp .L200
 1938               	.LM150:
 1939 04ae CD32      		cpi r28,lo8(45)
 1940 04b0 11F0      		breq .L202
 1941 04b2 CA33      		cpi r28,lo8(58)
 1942 04b4 19F4      		brne .L201
 1943               	.L202:
 1944               	.LM151:
 1945 04b6 E6E0      		ldi r30,lo8(6)
 1946 04b8 8E2E      		mov r8,r30
 1947 04ba 07C0      		rjmp .L203
 1948               	.L201:
 1949               	.LM152:
 1950 04bc CC37      		cpi r28,lo8(124)
 1951 04be 19F4      		brne .L204
 1952               	.LM153:
 1953 04c0 74E0      		ldi r23,lo8(4)
 1954 04c2 872E      		mov r8,r23
 1955 04c4 02C0      		rjmp .L203
 1956               	.L204:
 1957               	.LM154:
 1958 04c6 68E0      		ldi r22,lo8(8)
 1959 04c8 862E      		mov r8,r22
 1960               	.L203:
 1961               	.LM155:
 1962 04ca 8091 0000 		lds r24,CurOffset
 1963 04ce 8130      		cpi r24,lo8(1)
 1964 04d0 09F0      		breq .+2
 1965 04d2 7DC0      		rjmp .L206
 1966               	.LM156:
 1967 04d4 DD24      		clr r13
 1968 04d6 D814      		cp r13,r8
 1969 04d8 68F5      		brsh .L238
 1970 04da 0C2D      		mov r16,r12
 1971 04dc 1127      		clr r17
 1972 04de EE24      		clr r14
 1973 04e0 FF24      		clr r15
 1974               	.L212:
 1975               	.LM157:
 1976 04e2 8C2D      		mov r24,r12
 1977 04e4 8D0D      		add r24,r13
 1978 04e6 682F      		mov r22,r24
 1979 04e8 892D      		mov r24,r9
 1980 04ea 0E94 0000 		call SetPageCol
 1981               	.LM158:
 1982 04ee 872D      		mov r24,r7
 1983 04f0 9927      		clr r25
 1984 04f2 FC01      		movw r30,r24
 1985 04f4 54E0      		ldi r21,4
 1986 04f6 EE0F      	1:	lsl r30
 1987 04f8 FF1F      		rol r31
 1988 04fa 5A95      		dec r21
 1989 04fc E1F7      		brne 1b
 1990 04fe E80F      		add r30,r24
 1991 0500 F91F      		adc r31,r25
 1992 0502 EE0D      		add r30,r14
 1993 0504 FF1D      		adc r31,r15
 1994 0506 E050      		subi r30,lo8(-(ASC_16))
 1995 0508 F040      		sbci r31,hi8(-(ASC_16))
 1996 050a C181      		ldd r28,Z+1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -