📄 main.lst
字号:
1462 087e 8DE0 ldi r24,lo8(13)
1463 0880 0E94 0000 call uart_putchar
1464 .L115:
1465 .LM116:
1466 0884 EBE2 ldi r30,lo8(43)
1467 0886 F0E0 ldi r31,hi8(43)
1468 0888 8081 ld r24,Z
1469 088a 9927 clr r25
1470 088c 8072 andi r24,lo8(32)
1471 088e 9070 andi r25,hi8(32)
1472 0890 0097 sbiw r24,0
1473 0892 01F0 breq .L115
1474 .LM117:
1475 0894 ECE2 ldi r30,lo8(44)
1476 0896 F0E0 ldi r31,hi8(44)
1477 0898 8981 ldd r24,Y+1
1478 089a 8083 st Z,r24
1479 .LM118:
1480 089c 80E0 ldi r24,lo8(0)
1481 089e 90E0 ldi r25,hi8(0)
1482 /* epilogue: frame size=3 */
1483 08a0 2396 adiw r28,3
1484 08a2 0FB6 in __tmp_reg__,__SREG__
1485 08a4 F894 cli
1486 08a6 DEBF out __SP_H__,r29
1487 08a8 0FBE out __SREG__,__tmp_reg__
1488 08aa CDBF out __SP_L__,r28
1489 08ac DF91 pop r29
1490 08ae CF91 pop r28
1491 08b0 0895 ret
1492 /* epilogue end (size=9) */
1493 /* function uart_putchar size 45 (26) */
1494 .LFE17:
1496 .global uart_str
1497 .data
1500 uart_str:
1501 000d 0000 00 .skip 3,0
1502 0010 02 .byte 2
1503 0011 0000 0000 .skip 4,0
1504 0015 0000 .word pm(uart_putchar)
1505 0017 0000 .word 0
1506 0019 0000 .word 0
1507 .text
1508 .global mInitSTDIO
1510 mInitSTDIO:
1511 .LFB18:
1512 .LM119:
1513 /* prologue: frame size=0 */
1514 08b2 CF93 push r28
1515 08b4 DF93 push r29
1516 08b6 CDB7 in r28,__SP_L__
1517 08b8 DEB7 in r29,__SP_H__
1518 /* prologue end (size=4) */
1519 .LM120:
1520 08ba E0E9 ldi r30,lo8(144)
1521 08bc F0E0 ldi r31,hi8(144)
1522 08be 1082 st Z,__zero_reg__
1523 .LM121:
1524 08c0 E9E2 ldi r30,lo8(41)
1525 08c2 F0E0 ldi r31,hi8(41)
1526 08c4 85E0 ldi r24,lo8(5)
1527 08c6 8083 st Z,r24
1528 .LM122:
1529 08c8 EAE2 ldi r30,lo8(42)
1530 08ca F0E0 ldi r31,hi8(42)
1531 08cc 88E1 ldi r24,lo8(24)
1532 08ce 8083 st Z,r24
1533 .LM123:
1534 08d0 E5E9 ldi r30,lo8(149)
1535 08d2 F0E0 ldi r31,hi8(149)
1536 08d4 86E0 ldi r24,lo8(6)
1537 08d6 8083 st Z,r24
1538 .LM124:
1539 08d8 80E0 ldi r24,lo8(uart_str)
1540 08da 90E0 ldi r25,hi8(uart_str)
1541 08dc 9093 0000 sts (__iob)+1,r25
1542 08e0 8093 0000 sts __iob,r24
1543 08e4 8091 0000 lds r24,__iob
1544 08e8 9091 0000 lds r25,(__iob)+1
1545 08ec 9093 0000 sts (__iob+2)+1,r25
1546 08f0 8093 0000 sts __iob+2,r24
1547 /* epilogue: frame size=0 */
1548 08f4 DF91 pop r29
1549 08f6 CF91 pop r28
1550 08f8 0895 ret
1551 /* epilogue end (size=3) */
1552 /* function mInitSTDIO size 36 (29) */
1553 .LFE18:
1555 .data
1556 .LC1:
1557 001b 5374 6172 .string "Start!!!"
1557 7421 2121
1557 00
1558 .LC2:
1559 0024 7468 6520 .string "the code is %02X\n\r"
1559 636F 6465
1559 2069 7320
1559 2530 3258
1559 0A0D 00
1560 .LC3:
1561 0037 5761 6974 .string "Wait Udisk"
1561 2055 6469
1561 736B 00
1562 .LC4:
1563 0042 5265 6164 .string "Ready ?\n\r"
1563 7920 3F0A
1563 0D00
1564 .LC5:
1565 004c 4469 736B .string "DiskSize\n\r"
1565 5369 7A65
1565 0A0D 00
1566 .LC6:
1567 0057 546F 7461 .string "TotalSize = %d MB \n\r"
1567 6C53 697A
1567 6520 3D20
1567 2564 204D
1567 4220 0A0D
1568 .LC7:
1569 006c 4F70 656E .string "Open"
1569 00
1570 .LC8:
1571 0071 2F43 3531 .string "/C51/CH375.TXT"
1571 2F43 4833
1571 3735 2E54
1571 5854 00
1572 .LC9:
1573 0080 6E65 7874 .string "next\n\r"
1573 0A0D 00
1574 .LC10:
1575 0087 636F 6E64 .string "condition 1!\241\n\r"
1575 6974 696F
1575 6E20 3121
1575 A10A 0D00
1576 .LC11:
1577 0097 2F2A 00 .string "/*"
1578 .LC12:
1579 009a 2F43 3531 .string "/C51/CH375*"
1579 2F43 4833
1579 3735 2A00
1580 .LC13:
1581 00a6 4C69 7374 .string "List file %s\n"
1581 2066 696C
1581 6520 2573
1581 0A00
1582 .LC14:
1583 00b4 2020 6D61 .string " match file %03d#: %s\n"
1583 7463 6820
1583 6669 6C65
1583 2025 3033
1583 6423 3A20
1584 .LC15:
1585 00cc 636F 6E64 .string "condition 2!\241\n\r"
1585 6974 696F
1585 6E20 3221
1585 A10A 0D00
1586 .LC16:
1587 00dc B4D3 CEC4 .string "\264\323\316\304\274\376\326\320\266\301\263\366\265\304\307\260%d\270\366\327\326\267\37
1587 BCFE D6D0
1587 B6C1 B3F6
1587 B5C4 C7B0
1587 2564 B8F6
1588 .LC17:
1589 00f9 CEC4 BCFE .string "\316\304\274\376\322\321\276\255\275\341\312\370"
1589 D2D1 BEAD
1589 BDE1 CAF8
1589 00
1590 .LC18:
1591 0106 436C 6F73 .string "Close"
1591 6500
1592 .LC19:
1593 010c 5461 6B65 .string "Take out"
1593 206F 7574
1593 00
1594 .text
1595 .global main
1597 main:
1598 .LFB19:
1599 .LM125:
1600 /* prologue: frame size=11 */
1601 08fa CF93 push r28
1602 08fc DF93 push r29
1603 08fe CDB7 in r28,__SP_L__
1604 0900 DEB7 in r29,__SP_H__
1605 0902 2B97 sbiw r28,11
1606 0904 0FB6 in __tmp_reg__,__SREG__
1607 0906 F894 cli
1608 0908 DEBF out __SP_H__,r29
1609 090a 0FBE out __SREG__,__tmp_reg__
1610 090c CDBF out __SP_L__,r28
1611 /* prologue end (size=10) */
1612 .LM126:
1613 090e E5E5 ldi r30,lo8(85)
1614 0910 F0E0 ldi r31,hi8(85)
1615 0912 80E8 ldi r24,lo8(-128)
1616 0914 8083 st Z,r24
1617 .LM127:
1618 0916 EAE6 ldi r30,lo8(106)
1619 0918 F0E0 ldi r31,hi8(106)
1620 091a 8FEF ldi r24,lo8(-1)
1621 091c 8083 st Z,r24
1622 .LM128:
1623 091e E9E5 ldi r30,lo8(89)
1624 0920 F0E0 ldi r31,hi8(89)
1625 0922 82E0 ldi r24,lo8(2)
1626 0924 8083 st Z,r24
1627 .LM129:
1628 0926 0E94 0000 call mInitSTDIO
1629 .LM130:
1630 092a 80E0 ldi r24,lo8(.LC1)
1631 092c 90E0 ldi r25,hi8(.LC1)
1632 092e 0E94 0000 call puts
1633 .LM131:
1634 0932 86E0 ldi r24,lo8(6)
1635 0934 0E94 0000 call xWriteCH375Cmd
1636 .LM132:
1637 0938 85E0 ldi r24,lo8(5)
1638 093a 0E94 0000 call mDelaymS
1639 .LM133:
1640 093e 8BE5 ldi r24,lo8(91)
1641 0940 0E94 0000 call xWriteCH375Data
1642 .LM134:
1643 0944 85E0 ldi r24,lo8(5)
1644 0946 0E94 0000 call mDelaymS
1645 .LM135:
1646 094a 0E94 0000 call xReadCH375Data
1647 094e 8D83 std Y+5,r24
1648 .LM136:
1649 0950 85E0 ldi r24,lo8(5)
1650 0952 0E94 0000 call mDelaymS
1651 .LM137:
1652 0956 8D81 ldd r24,Y+5
1653 0958 9927 clr r25
1654 095a 9F93 push r25
1655 095c 8F93 push r24
1656 095e 80E0 ldi r24,lo8(.LC2)
1657 0960 90E0 ldi r25,hi8(.LC2)
1658 0962 9F93 push r25
1659 0964 8F93 push r24
1660 0966 0E94 0000 call printf
1661 096a 0F90 pop __tmp_reg__
1662 096c 0F90 pop __tmp_reg__
1663 096e 0F90 pop __tmp_reg__
1664 0970 0F90 pop __tmp_reg__
1665 .LM138:
1666 0972 0E94 0000 call CH375LibInit
1667 0976 8E83 std Y+6,r24
1668 .LM139:
1669 0978 8E81 ldd r24,Y+6
1670 097a 0E94 0000 call mStopIfError
1671 .L122:
1672 .LM140:
1673 097e 80E0 ldi r24,lo8(.LC3)
1674 0980 90E0 ldi r25,hi8(.LC3)
1675 0982 0E94 0000 call puts
1676 .LM141:
1677 0986 00C0 rjmp .L123
1678 .L124:
1679 0988 0E94 0000 call xQueryInterrupt
1680 .L123:
1681 098c 8091 0000 lds r24,CH375DiskStatus
1682 0990 8230 cpi r24,lo8(2)
1683 0992 01F4 brne .L124
1684 .LM142:
1685 0994 88EC ldi r24,lo8(-56)
1686 0996 0E94 0000 call mDelaymS
1687 .LM143:
1688 099a 1E82 std Y+6,__zero_reg__
1689 099c 00C0 rjmp .L126
1690 .L127:
1691 .LM144:
1692 099e 82E0 ldi r24,lo8(2)
1693 09a0 0E94 0000 call mDelaymS
1694 .LM145:
1695 09a4 80E0 ldi r24,lo8(.LC4)
1696 09a6 90E0 ldi r25,hi8(.LC4)
1697 09a8 9F93 push r25
1698 09aa 8F93 push r24
1699 09ac 0E94 0000 call printf
1700 09b0 0F90 pop __tmp_reg__
1701 09b2 0F90 pop __tmp_reg__
1702 .LM146:
1703 09b4 0E94 0000 call CH375DiskReady
1704 09b8 8823 tst r24
1705 09ba 01F0 breq .L128
1706 .LM147:
1707 09bc 8E81 ldd r24,Y+6
1708 09be 8F5F subi r24,lo8(-(1))
1709 09c0 8E83 std Y+6,r24
1710 .L126:
1711 09c2 8E81 ldd r24,Y+6
1712 09c4 8A30 cpi r24,lo8(10)
1713 09c6 00F0 brlo .L127
1714 .L128:
1715 .LM148:
1716 09c8 80E0 ldi r24,lo8(.LC5)
1717 09ca 90E0 ldi r25,hi8(.LC5)
1718 09cc 9F93 push r25
1719 09ce 8F93 push r24
1720 09d0 0E94 0000 call printf
1721 09d4 0F90 pop __tmp_reg__
1722 09d6 0F90 pop __tmp_reg__
1723 .LM149:
1724 09d8 0E94 0000 call CH375DiskSize
1725 09dc 8E83 std Y+6,r24
1726 .LM150:
1727 09de 8E81 ldd r24,Y+6
1728 09e0 0E94 0000 call mStopIfError
1729 .LM151:
1730 09e4 8091 0000 lds r24,mCmdParam
1731 09e8 9091 0000 lds r25,(mCmdParam)+1
1732 09ec A091 0000 lds r26,(mCmdParam)+2
1733 09f0 B091 0000 lds r27,(mCmdParam)+3
1734 09f4 072E mov r0,r23
1735 09f6 7BE0 ldi r23,11
1736 09f8 B695 1: lsr r27
1737 09fa A795 ror r26
1738 09fc 9795 ror r25
1739 09fe 8795 ror r24
1740 0a00 7A95 dec r23
1741 0a02 01F4 brne 1b
1742 0a04 702D mov r23,r0
1743 0a06 9F93 push r25
1744 0a08 8F93 push r24
1745 0a0a 80E0 ldi r24,lo8(.LC6)
1746 0a0c 90E0 ldi r25,hi8(.LC6)
1747 0a0e 9F93 push r25
1748 0a10 8F93 push r24
1749 0a12 0E94 0000 call printf
1750 0a16 0F90 pop __tmp_reg__
1751 0a18 0F90 pop __tmp_reg__
1752 0a1a 0F90 pop __tmp_reg__
1753 0a1c 0F90 pop __tmp_reg__
1754 .LM152:
1755 0a1e 80E0 ldi r24,lo8(.LC7)
1756 0a20 90E0 ldi r25,hi8(.LC7)
1757 0a22 0E94 0000 call puts
1758 .LM153:
1759 0a26 80E0 ldi r24,lo8(mCmdParam)
1760 0a28 90E0 ldi r25,hi8(mCmdParam)
1761 0a2a 9887 std Y+8,r25
1762 0a2c 8F83 std Y+7,r24
1763 0a2e 80E0 ldi r24,lo8(.LC8)
1764 0a30 90E0 ldi r25,hi8(.LC8)
1765 0a32 9A87 std Y+10,r25
1766 0a34 8987 std Y+9,r24
1767 0a36 9FE0 ldi r25,lo8(15)
1768 0a38 9B87 std Y+11,r25
1769 .L130:
1770 0a3a E985 ldd r30,Y+9
1771 0a3c FA85 ldd r31,Y+10
1772 0a3e 0080 ld r0,Z
1773 0a40 8985 ldd r24,Y+9
1774 0a42 9A85 ldd r25,Y+10
1775 0a44 0196 adiw r24,1
1776 0a46 9A87 std Y+10,r25
1777 0a48 8987 std Y+9,r24
1778 0a4a EF81 ldd r30,Y+7
1779 0a4c F885 ldd r31,Y+8
1780 0a4e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -