📄 usb.lst
字号:
1505 .LM257:
1506 /* #APP */
1507 06a2 7894 sei
1508 .LM258:
1509 /* #NOAPP */
1510 06a4 0E94 0000 call init_unconfig
1511 06a8 0895 ret
1512 .L118:
1513 .LM259:
1514 06aa 0197 sbiw r24,1
1515 06ac 89F4 brne .L120
1516 .LM260:
1517 06ae 60E0 ldi r22,lo8(0)
1518 06b0 80E0 ldi r24,lo8(0)
1519 06b2 90E0 ldi r25,hi8(0)
1520 06b4 0E94 0000 call single_transmit
1521 .LM261:
1522 06b8 0E94 0000 call init_unconfig
1523 .LM262:
1524 06bc 0E94 0000 call init_config
1525 .LM263:
1526 /* #APP */
1527 06c0 F894 cli
1528 .LM264:
1529 /* #NOAPP */
1530 06c2 8091 0000 lds r24,bEPPflags
1531 06c6 8068 ori r24,lo8(-128)
1532 06c8 8093 0000 sts bEPPflags,r24
1533 .LM265:
1534 /* #APP */
1535 06cc 7894 sei
1536 /* #NOAPP */
1537 06ce 0895 ret
1538 .L120:
1539 .LM266:
1540 06d0 0E94 0000 call stall_ep0
1541 06d4 0895 ret
1542 /* epilogue: frame size=0 */
1543 06d6 0895 ret
1544 /* epilogue end (size=1) */
1545 /* function set_configuration size 47 (46) */
1546 .LFE36:
1548 .global get_interface
1550 get_interface:
1551 .LFB37:
1552 .LM267:
1553 /* prologue: frame size=1 */
1554 06d8 CF93 push r28
1555 06da DF93 push r29
1556 06dc CDB7 in r28,__SP_L__
1557 06de DEB7 in r29,__SP_H__
1558 06e0 2197 sbiw r28,1
1559 06e2 0FB6 in __tmp_reg__,__SREG__
1560 06e4 F894 cli
1561 06e6 DEBF out __SP_H__,r29
1562 06e8 0FBE out __SREG__,__tmp_reg__
1563 06ea CDBF out __SP_L__,r28
1564 /* prologue end (size=10) */
1565 .LM268:
1566 06ec 1982 std Y+1,__zero_reg__
1567 .LM269:
1568 06ee 61E0 ldi r22,lo8(1)
1569 06f0 CE01 movw r24,r28
1570 06f2 0196 adiw r24,1
1571 06f4 0E94 0000 call single_transmit
1572 /* epilogue: frame size=1 */
1573 06f8 2196 adiw r28,1
1574 06fa 0FB6 in __tmp_reg__,__SREG__
1575 06fc F894 cli
1576 06fe DEBF out __SP_H__,r29
1577 0700 0FBE out __SREG__,__tmp_reg__
1578 0702 CDBF out __SP_L__,r28
1579 0704 DF91 pop r29
1580 0706 CF91 pop r28
1581 0708 0895 ret
1582 /* epilogue end (size=9) */
1583 /* function get_interface size 25 (6) */
1584 .LFE37:
1586 .global set_interface
1588 set_interface:
1589 .LFB38:
1590 .LM270:
1591 /* prologue: frame size=0 */
1592 /* prologue end (size=0) */
1593 .LM271:
1594 070a 8091 0000 lds r24,ControlData+2
1595 070e 9091 0000 lds r25,(ControlData+2)+1
1596 0712 892B or r24,r25
1597 0714 51F4 brne .L124
1598 .LM272:
1599 0716 8091 0000 lds r24,ControlData+4
1600 071a 9091 0000 lds r25,(ControlData+4)+1
1601 071e 0097 sbiw r24,0
1602 0720 21F4 brne .L124
1603 .LM273:
1604 0722 60E0 ldi r22,lo8(0)
1605 0724 0E94 0000 call single_transmit
1606 0728 0895 ret
1607 .L124:
1608 .LM274:
1609 072a 0E94 0000 call stall_ep0
1610 072e 0895 ret
1611 /* epilogue: frame size=0 */
1612 0730 0895 ret
1613 /* epilogue end (size=1) */
1614 /* function set_interface size 20 (19) */
1615 .LFE38:
1617 .global control_handler
1619 control_handler:
1620 .LFB39:
1621 .LM275:
1622 /* prologue: frame size=0 */
1623 /* prologue end (size=0) */
1624 .LM276:
1625 0732 8091 0000 lds r24,ControlData
1626 0736 8076 andi r24,lo8(96)
1627 .LM277:
1628 0738 E091 0000 lds r30,ControlData+1
1629 073c EF70 andi r30,lo8(15)
1630 .LM278:
1631 073e 8823 tst r24
1632 0740 51F4 brne .L127
1633 .LM279:
1634 0742 FF27 clr r31
1635 0744 EE0F add r30,r30
1636 0746 FF1F adc r31,r31
1637 0748 E050 subi r30,lo8(-(StandardDeviceRequest))
1638 074a F040 sbci r31,hi8(-(StandardDeviceRequest))
1639 074c 0190 ld __tmp_reg__,Z+
1640 074e F081 ld r31,Z
1641 0750 E02D mov r30,__tmp_reg__
1642 0752 0995 icall
1643 0754 0895 ret
1644 .L127:
1645 .LM280:
1646 0756 0E94 0000 call stall_ep0
1647 075a 0895 ret
1648 /* epilogue: frame size=0 */
1649 075c 0895 ret
1650 /* epilogue end (size=1) */
1651 /* function control_handler size 22 (21) */
1652 .LFE39:
1654 .global disconnect_USB
1656 disconnect_USB:
1657 .LFB40:
1658 .LM281:
1659 /* prologue: frame size=0 */
1660 /* prologue end (size=0) */
1661 .LM282:
1662 075e 63E4 ldi r22,lo8(67)
1663 0760 82E0 ldi r24,lo8(2)
1664 0762 0E94 0000 call D12_SetMode
1665 /* epilogue: frame size=0 */
1666 0766 0895 ret
1667 /* epilogue end (size=1) */
1668 /* function disconnect_USB size 5 (4) */
1669 .LFE40:
1671 .global connect_USB
1673 connect_USB:
1674 .LFB41:
1675 .LM283:
1676 /* prologue: frame size=0 */
1677 /* prologue end (size=0) */
1678 .LM284:
1679 0768 80EC ldi r24,lo8(-64)
1680 076a 0E94 0000 call D12_SetDMA
1681 .LM285:
1682 076e 63E4 ldi r22,lo8(67)
1683 0770 82E1 ldi r24,lo8(18)
1684 0772 0E94 0000 call D12_SetMode
1685 /* epilogue: frame size=0 */
1686 0776 0895 ret
1687 /* epilogue end (size=1) */
1688 /* function connect_USB size 8 (7) */
1689 .LFE41:
1691 .global reconnect_USB
1693 reconnect_USB:
1694 .LFB42:
1695 .LM286:
1696 /* prologue: frame size=0 */
1697 /* prologue end (size=0) */
1698 .LM287:
1699 0778 0E94 0000 call disconnect_USB
1700 .LM288:
1701 077c 0E94 0000 call connect_USB
1702 /* epilogue: frame size=0 */
1703 0780 0895 ret
1704 /* epilogue end (size=1) */
1705 /* function reconnect_USB size 5 (4) */
1706 .LFE42:
1708 .global bus_reset
1710 bus_reset:
1711 .LFB43:
1712 .LM289:
1713 /* prologue: frame size=0 */
1714 /* prologue end (size=0) */
1715 /* epilogue: frame size=0 */
1716 0782 0895 ret
1717 /* epilogue end (size=1) */
1718 /* function bus_reset size 1 (0) */
1719 .LFE43:
1721 .global ep0_rxdone
1723 ep0_rxdone:
1724 .LFB44:
1725 .LM290:
1726 /* prologue: frame size=0 */
1727 /* prologue end (size=0) */
1728 .LM291:
1729 0784 80E0 ldi r24,lo8(0)
1730 0786 0E94 0000 call D12_ReadLastTransactionStatus
1731 .LM292:
1732 078a 85FF sbrs r24,5
1733 078c 4FC0 rjmp .L134
1734 .LM293:
1735 078e 1092 0000 sts (ControlData+8)+1,__zero_reg__
1736 0792 1092 0000 sts ControlData+8,__zero_reg__
1737 .LM294:
1738 0796 1092 0000 sts (ControlData+10)+1,__zero_reg__
1739 079a 1092 0000 sts ControlData+10,__zero_reg__
1740 .LM295:
1741 079e 40E0 ldi r20,lo8(ControlData)
1742 07a0 50E0 ldi r21,hi8(ControlData)
1743 07a2 68E0 ldi r22,lo8(8)
1744 07a4 80E0 ldi r24,lo8(0)
1745 07a6 0E94 0000 call D12_ReadEndpoint
1746 07aa 8830 cpi r24,lo8(8)
1747 07ac 59F0 breq .L135
1748 .LM296:
1749 07ae 61E0 ldi r22,lo8(1)
1750 07b0 80E0 ldi r24,lo8(0)
1751 07b2 0E94 0000 call D12_SetEndpointStatusIsr
1752 .LM297:
1753 07b6 61E0 ldi r22,lo8(1)
1754 07b8 862F mov r24,r22
1755 07ba 0E94 0000 call D12_SetEndpointStatusIsr
1756 .LM298:
1757 07be 8091 0000 lds r24,bEPPflags
1758 07c2 5BC0 rjmp .L148
1759 .L135:
1760 .LM299:
1761 07c4 80E0 ldi r24,lo8(0)
1762 07c6 0E94 0000 call D12_AcknowledgeEndpoint
1763 .LM300:
1764 07ca 81E0 ldi r24,lo8(1)
1765 07cc 0E94 0000 call D12_AcknowledgeEndpoint
1766 .LM301:
1767 07d0 2091 0000 lds r18,ControlData+6
1768 07d4 3091 0000 lds r19,(ControlData+6)+1
1769 07d8 3093 0000 sts (ControlData+8)+1,r19
1770 07dc 2093 0000 sts ControlData+8,r18
1771 .LM302:
1772 07e0 1092 0000 sts (ControlData+10)+1,__zero_reg__
1773 07e4 1092 0000 sts ControlData+10,__zero_reg__
1774 .LM303:
1775 07e8 8091 0000 lds r24,ControlData
1776 07ec 87FF sbrs r24,7
1777 07ee 07C0 rjmp .L136
1778 .LM304:
1779 07f0 8091 0000 lds r24,bEPPflags
1780 .LM305:
1781 07f4 8F7B andi r24,lo8(-65)
1782 07f6 8462 ori r24,lo8(36)
1783 .L147:
1784 07f8 8093 0000 sts bEPPflags,r24
1785 07fc 0895 ret
1786 .L136:
1787 .LM306:
1788 07fe 2115 cp r18,__zero_reg__
1789 0800 3105 cpc r19,__zero_reg__
1790 0802 C1F1 breq .L145
1791 0804 8091 0000 lds r24,bEPPflags
1792 .LM307:
1793 0808 2930 cpi r18,9
1794 080a 3105 cpc r19,__zero_reg__
1795 080c 60F0 brlo .L140
1796 .LM308:
1797 080e 8F79 andi r24,lo8(-97)
1798 0810 8093 0000 sts bEPPflags,r24
1799 .LM309:
1800 0814 61E0 ldi r22,lo8(1)
1801 0816 80E0 ldi r24,lo8(0)
1802 0818 0E94 0000 call D12_SetEndpointStatusIsr
1803 .LM310:
1804 081c 61E0 ldi r22,lo8(1)
1805 081e 862F mov r24,r22
1806 0820 0E94 0000 call D12_SetEndpointStatusIsr
1807 0824 0895 ret
1808 .L140:
1809 .LM311:
1810 0826 8F79 andi r24,lo8(-97)
1811 0828 8064 ori r24,lo8(64)
1812 082a E6CF rjmp .L147
1813 .L134:
1814 .LM312:
1815 082c 9091 0000 lds r25,bEPPflags
1816 0830 892F mov r24,r25
1817 0832 8076 andi r24,lo8(96)
1818 0834 8034 cpi r24,lo8(64)
1819 0836 19F5 brne .L143
1820 .LM313:
1821 0838 8091 0000 lds r24,ControlData+10
1822 083c 9091 0000 lds r25,(ControlData+10)+1
1823 0840 8050 subi r24,lo8(-(ControlData+14))
1824 0842 9040 sbci r25,hi8(-(ControlData+14))
1825 0844 AC01 movw r20,r24
1826 0846 60E1 ldi r22,lo8(16)
1827 0848 80E0 ldi r24,lo8(0)
1828 084a 0E94 0000 call D12_ReadEndpoint
1829 .LM314:
1830 084e 2091 0000 lds r18,ControlData+10
1831 0852 3091 0000 lds r19,(ControlData+10)+1
1832 0856 280F add r18,r24
1833 0858 311D adc r19,__zero_reg__
1834 085a 3093 0000 sts (ControlData+10)+1,r19
1835 085e 2093 0000 sts ControlData+10,r18
1836 .LM315:
1837 0862 8031 cpi r24,lo8(16)
1838 0864 39F4 brne .L145
1839 0866 8091 0000 lds r24,ControlData+8
1840 086a 9091 0000 lds r25,(ControlData+8)+1
1841 086e 2817 cp r18,r24
1842 0870 3907 cpc r19,r25
1843 0872 40F0 brlo .L133
1844 .L145:
1845 .LM316:
1846 0874 8091 0000 lds r24,bEPPflags
1847 0878 8460 ori r24,lo8(4)
1848 .L148:
1849 .LM317:
1850 087a 8F79 andi r24,lo8(-97)
1851 087c BDCF rjmp .L147
1852 .L143:
1853 .LM318:
1854 087e 9F79 andi r25,lo8(-97)
1855 0880 9093 0000 sts bEPPflags,r25
1856 .L133:
1857 0884 0895 ret
1858 /* epilogue: frame size=0 */
1859 0886 0895 ret
1860 /* epilogue end (size=1) */
1861 /* function ep0_rxdone size 130 (129) */
1862 .LFE44:
1864 .global ep0_txdone
1866 ep0_txdone:
1867 .LFB45:
1868 .LM319:
1869 /* prologue: frame size=0 */
1870 0888 CF93 push r28
1871 088a DF93 push r29
1872 /* prologue end (size=2) */
1873 .LM320:
1874 088c C091 0000 lds r28,ControlData+8
1875 0890 D091 0000 lds r29,(ControlData+8)+1
1876 0894 8091 0000 lds r24,ControlData+10
1877 0898 9091 0000 lds r25,(ControlData+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -