📄 ks0108.lst
字号:
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 + -