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

📄 main.lst

📁 AVR做的打印机控制例子,基于AVR和CH375
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -