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

📄 main.lst

📁 我学习AVR的代码例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
 1380               	.LBB8:
 305:main.c        **** 		   SendByte(pgm_read_byte(S+HIBYTE(minutes))|(1<<4));   //write data
 1382               	.LM154:
 1383 052c 8091 0000 		lds r24,minutes
 1384 0530 9091 0000 		lds r25,(minutes)+1
 1385 0534 9595      		asr r25
 1386 0536 8795      		ror r24
 1387 0538 9595      		asr r25
 1388 053a 8795      		ror r24
 1389 053c 9595      		asr r25
 1390 053e 8795      		ror r24
 1391 0540 9595      		asr r25
 1392 0542 8795      		ror r24
 1393 0544 E82F      		mov r30,r24
 1394 0546 FF27      		clr r31
 1395 0548 E050      		subi r30,lo8(-(S))
 1396 054a F040      		sbci r31,hi8(-(S))
 1397               	/* #APP */
 1398 054c 8491      		lpm r24, Z
 1399               		
 1400               	/* #NOAPP */
 1401               	.LBE8:
 1402 054e 8061      		ori r24,lo8(16)
 1403 0550 0E94 0000 		call SendByte
 1404               	.LBB9:
 306:main.c        **** 	       SendByte(pgm_read_byte(S+LOBYTE(minutes)));          //write data
 1406               	.LM155:
 1407 0554 8091 0000 		lds r24,minutes
 1408 0558 E82F      		mov r30,r24
 1409 055a FF27      		clr r31
 1410 055c EF70      		andi r30,lo8(15)
 1411 055e F070      		andi r31,hi8(15)
 1412 0560 E050      		subi r30,lo8(-(S))
 1413 0562 F040      		sbci r31,hi8(-(S))
 1414               	/* #APP */
 1415 0564 8491      		lpm r24, Z
 1416               		
 1417               	/* #NOAPP */
 1418               	.LBE9:
 1419 0566 0E94 0000 		call SendByte
 307:main.c        **** 		   return;
 1421               	.LM156:
 1422 056a 19C3      		rjmp .L91
 1423               	.L96:
 308:main.c        **** 		 } 
 309:main.c        **** 		if(Tov1==0xff) Tov1=1; 
 1425               	.LM157:
 1426 056c 8091 0000 		lds r24,Tov1
 1427 0570 8F3F      		cpi r24,lo8(-1)
 1428 0572 19F4      		brne .L97
 1429 0574 81E0      		ldi r24,lo8(1)
 1430 0576 8093 0000 		sts Tov1,r24
 1431               	.L97:
 310:main.c        **** 	    SENDCOMB(0x2c);//秒针闪动
 1433               	.LM158:
 1434 057a 8CE2      		ldi r24,lo8(44)
 1435 057c 0E94 0000 		call SENDCOMB
 1436               	.LBB10:
 311:main.c        ****         SendByte(pgm_read_byte(S+a)|(Fuse1<<4));            //write data
 1438               	.LM159:
 1439 0580 8091 0000 		lds r24,a
 1440 0584 E82F      		mov r30,r24
 1441 0586 FF27      		clr r31
 1442 0588 E050      		subi r30,lo8(-(S))
 1443 058a F040      		sbci r31,hi8(-(S))
 1444               	/* #APP */
 1445 058c 2491      		lpm r18, Z
 1446               		
 1447               	/* #NOAPP */
 1448               	.LBE10:
 1449 058e 8091 0000 		lds r24,Fuse1
 1450 0592 9927      		clr r25
 1451 0594 8295      		swap r24
 1452 0596 9295      		swap r25
 1453 0598 907F      		andi r25,0xf0
 1454 059a 9827      		eor r25,r24
 1455 059c 807F      		andi r24,0xf0
 1456 059e 9827      		eor r25,r24
 1457 05a0 822B      		or r24,r18
 1458 05a2 0E94 0000 		call SendByte
 1459               	.LBB11:
 312:main.c        **** 	    SendByte(pgm_read_byte(S+LOBYTE(hours))|(Fuse2<<4));            //write data
 1461               	.LM160:
 1462 05a6 8091 0000 		lds r24,hours
 1463 05aa E82F      		mov r30,r24
 1464 05ac FF27      		clr r31
 1465 05ae EF70      		andi r30,lo8(15)
 1466 05b0 F070      		andi r31,hi8(15)
 1467 05b2 E050      		subi r30,lo8(-(S))
 1468 05b4 F040      		sbci r31,hi8(-(S))
 1469               	/* #APP */
 1470 05b6 2491      		lpm r18, Z
 1471               		
 1472               	/* #NOAPP */
 1473               	.LBE11:
 1474 05b8 8091 0000 		lds r24,Fuse2
 1475 05bc 9927      		clr r25
 1476 05be 8295      		swap r24
 1477 05c0 9295      		swap r25
 1478 05c2 907F      		andi r25,0xf0
 1479 05c4 9827      		eor r25,r24
 1480 05c6 807F      		andi r24,0xf0
 1481 05c8 9827      		eor r25,r24
 1482 05ca 822B      		or r24,r18
 1483 05cc 0E94 0000 		call SendByte
 1484               	.LBB12:
 313:main.c        **** 		SendByte(pgm_read_byte(S+HIBYTE(minutes))|(Tov1<<4));//write data   
 1486               	.LM161:
 1487 05d0 8091 0000 		lds r24,minutes
 1488 05d4 9091 0000 		lds r25,(minutes)+1
 1489 05d8 9595      		asr r25
 1490 05da 8795      		ror r24
 1491 05dc 9595      		asr r25
 1492 05de 8795      		ror r24
 1493 05e0 9595      		asr r25
 1494 05e2 8795      		ror r24
 1495 05e4 9595      		asr r25
 1496 05e6 8795      		ror r24
 1497 05e8 E82F      		mov r30,r24
 1498 05ea FF27      		clr r31
 1499 05ec E050      		subi r30,lo8(-(S))
 1500 05ee F040      		sbci r31,hi8(-(S))
 1501               	/* #APP */
 1502 05f0 2491      		lpm r18, Z
 1503               		
 1504               	/* #NOAPP */
 1505               	.LBE12:
 1506 05f2 8091 0000 		lds r24,Tov1
 1507 05f6 9927      		clr r25
 1508 05f8 8295      		swap r24
 1509 05fa 9295      		swap r25
 1510 05fc 907F      		andi r25,0xf0
 1511 05fe 9827      		eor r25,r24
 1512 0600 807F      		andi r24,0xf0
 1513 0602 9827      		eor r25,r24
 1514 0604 822B      		or r24,r18
 1515 0606 0E94 0000 		call SendByte
 1516               	.LBB13:
 314:main.c        **** 		SendByte(pgm_read_byte(S+LOBYTE(minutes)));          //write data
 1518               	.LM162:
 1519 060a 8091 0000 		lds r24,minutes
 1520 060e E82F      		mov r30,r24
 1521 0610 FF27      		clr r31
 1522 0612 EF70      		andi r30,lo8(15)
 1523 0614 F070      		andi r31,hi8(15)
 1524 0616 E050      		subi r30,lo8(-(S))
 1525 0618 F040      		sbci r31,hi8(-(S))
 1526               	/* #APP */
 1527 061a 8491      		lpm r24, Z
 1528               		
 1529               	/* #NOAPP */
 1530               	.LBE13:
 1531 061c 0E94 0000 		call SendByte
 315:main.c        **** 		if(Tov1==1) Tov1=0xff;
 1533               	.LM163:
 1534 0620 8091 0000 		lds r24,Tov1
 1535 0624 8130      		cpi r24,lo8(1)
 1536 0626 09F0      		breq .+2
 1537 0628 BAC2      		rjmp .L91
 1538 062a 8FEF      		ldi r24,lo8(-1)
 1539 062c 8093 0000 		sts Tov1,r24
 316:main.c        **** 		return;                                
 1541               	.LM164:
 1542 0630 B6C2      		rjmp .L91
 1543               	.L92:
 317:main.c        **** 	 }
 318:main.c        ****    if(N==1)
 1545               	.LM165:
 1546 0632 8091 0000 		lds r24,N
 1547 0636 8130      		cpi r24,lo8(1)
 1548 0638 09F0      		breq .+2
 1549 063a 22C1      		rjmp .L99
 319:main.c        ****      {
 320:main.c        **** 	   a=HIBYTE(month);
 1551               	.LM166:
 1552 063c 8091 0000 		lds r24,month
 1553 0640 9091 0000 		lds r25,(month)+1
 1554 0644 9C01      		movw r18,r24
 1555 0646 3595      		asr r19
 1556 0648 2795      		ror r18
 1557 064a 3595      		asr r19
 1558 064c 2795      		ror r18
 1559 064e 3595      		asr r19
 1560 0650 2795      		ror r18
 1561 0652 3595      		asr r19
 1562 0654 2795      		ror r18
 1563 0656 2093 0000 		sts a,r18
 321:main.c        **** 	   b=HIBYTE(date);
 1565               	.LM167:
 1566 065a 8091 0000 		lds r24,date
 1567 065e 9091 0000 		lds r25,(date)+1
 1568 0662 9595      		asr r25
 1569 0664 8795      		ror r24
 1570 0666 9595      		asr r25
 1571 0668 8795      		ror r24
 1572 066a 9595      		asr r25
 1573 066c 8795      		ror r24
 1574 066e 9595      		asr r25
 1575 0670 8795      		ror r24
 1576 0672 8093 0000 		sts b,r24
 322:main.c        **** 	   if(a==0) a=10;
 1578               	.LM168:
 1579 0676 2223      		tst r18
 1580 0678 19F4      		brne .L100
 1581 067a 8AE0      		ldi r24,lo8(10)
 1582 067c 8093 0000 		sts a,r24
 1583               	.L100:
 323:main.c        **** 	   if(b==0) b=10;
 1585               	.LM169:
 1586 0680 8091 0000 		lds r24,b
 1587 0684 8823      		tst r24
 1588 0686 19F4      		brne .L101
 1589 0688 8AE0      		ldi r24,lo8(10)
 1590 068a 8093 0000 		sts b,r24
 1591               	.L101:
 324:main.c        **** 	   if(M[0]==1)
 1593               	.LM170:
 1594 068e 8091 0000 		lds r24,M
 1595 0692 8130      		cpi r24,lo8(1)
 1596 0694 09F0      		breq .+2
 1597 0696 51C0      		rjmp .L102
 325:main.c        **** 	     {
 326:main.c        **** 		   SENDCOMB(0x2c);       //Write address
 1599               	.LM171:
 1600 0698 8CE2      		ldi r24,lo8(44)
 1601 069a 0E94 0000 		call SENDCOMB
 1602               	.LBB14:
 327:main.c        ****            SendByte(pgm_read_byte(S+a)|(Fuse1<<4));         //write data
 1604               	.LM172:
 1605 069e 8091 0000 		lds r24,a
 1606 06a2 E82F      		mov r30,r24
 1607 06a4 FF27      		clr r31
 1608 06a6 E050      		subi r30,lo8(-(S))
 1609 06a8 F040      		sbci r31,hi8(-(S))
 1610               	/* #APP */
 1611 06aa 2491      		lpm r18, Z
 1612               		
 1613               	/* #NOAPP */
 1614               	.LBE14:
 1615 06ac 8091 0000 		lds r24,Fuse1
 1616 06b0 9927      		clr r25
 1617 06b2 8295      		swap r24
 1618 06b4 9295      		swap r25
 1619 06b6 907F      		andi r25,0xf0
 1620 06b8 9827      		eor r25,r24
 1621 06ba 807F      		andi r24,0xf0
 1622 06bc 9827      		eor r25,r24
 1623 06be 822B      		or r24,r18
 1624 06c0 0E94 0000 		call SendByte
 1625               	.LBB15:
 328:main.c        **** 	       SendByte(pgm_read_byte(S+LOBYTE(month))|(Fuse2<<4));         //write data
 1627               	.LM173:
 1628 06c4 8091 0000 		lds r24,month
 1629 06c8 E82F      		mov r30,r24
 1630 06ca FF27      		clr r31
 1631 06cc EF70      		andi r30,lo8(15)
 1632 06ce F070      		andi r31,hi8(15)
 1633 06d0 E050      		subi r30,lo8(-(S))
 1634 06d2 F040      		sbci r31,hi8(-(S))
 1635               	/* #APP */
 1636 06d4 2491      		lpm r18, Z
 1637               		
 1638               	/* #NOAPP */
 1639               	.LBE15:
 1640 06d6 8091 0000 		lds r24,Fuse2
 1641 06da 9927      		clr r25
 1642 06dc 8295      		swap r24
 1643 06de 9295      		swap r25
 1644 06e0 907F      		andi r25,0xf0
 1645 06e2 9827      		eor r25,r24
 1646 06e4 807F      		andi r24,0xf0
 1647 06e6 9827      		eor r25,r24
 1648 06e8 822B      		or r24,r18
 1649 06ea 0E94 0000 		call SendByte
 1650               	.LBB16:
 329:main.c        **** 		   SendByte(pgm_read_byte(S+HIBYTE(date))&Tov1);     //write data
 1652               	.LM174:
 1653 06ee 8091 0000 		lds r24,date
 1654 06f2 9091 0000 		lds r25,(date)+1
 1655 06f6 9595      		asr r25
 1656 06f8 8795      		ror r24
 1657 06fa 9595      		asr r25
 1658 06fc 8795      		ror r24
 1659 06fe 9595      		asr r25
 1660 0700 8795      		ror r24
 1661 0702 9595      		asr r25
 1662 0704 8795      		ror r24
 1663 0706 E82F      		mov r30,r24
 1664 0708 FF27      		clr r31
 1665 070a E050      		subi r30,lo8(-(S))
 1666 070c F040      		sbci r31,hi8(-(S))
 1667               	/* #APP */
 1668 070e 9491      		lpm r25, Z
 1669               		
 1670               	/* #NOAPP */
 1671               	.LBE16:
 1672 0710 8091 0000 		lds r24,Tov1
 1673 0714 8923      		and r24,r25
 1674 0716 0E94 0000 		call SendByte
 1675               	.LBB17:
 330:main.c        **** 	       SendByte((pgm_read_byte(S+LOBYTE(date))&Tov1)|(1<<4));     //write data
 1677               	.LM175:
 1678 071a 8091 0000 		lds r24,date
 1679 071e E82F      		mov r30,r24
 1680 0720 FF27      		clr r31
 1681 0722 EF70      		andi r30,lo8(15)
 1682 0724 F070      		andi r31,hi8(15)
 1683 0726 E050      		subi r30,lo8(-(S))
 1684 0728 F040      		sbci r31,hi8(-(S))
 1685               	/* #APP */
 1686 072a 9491      		lpm r25, Z
 1687               		
 1688               	/* #NOAPP */
 1689               	.LBE17:
 1690 072c 8091 0000 		lds r24,Tov1
 1691 0730 8923      		and r24,r25
 1692 0732 8061      		ori r24,lo8(16)
 1693 0734 0E94 0000 		call SendByte
 331:main.c        **** 		   return;
 1695               	.LM176:
 1696 0738 32C2      		rjmp .L91
 1697               	.L102:
 332:main.c        **** 		 }  
 333:main.c        **** 	   if(M[0]==2)
 1699               	.LM177:
 1700 073a 8091 0000 		lds r24,M
 1701 073e 8230      		cpi r24,lo8(2)
 1702 0740 09F0      		breq .+2
 1703 0742 53C0      		rjmp .L103
 334:main.c        **** 	     {
 335:main.c        **** 		   SENDCOMB(0x2c);       //Write address
 1705               	.LM178:
 1706 0744 8CE2      		ldi r24,lo8(44)
 1707 0746 0E94 0000 		call SENDCOMB
 1708               	.LBB18:
 336:main.c        ****            SendByte((p

⌨️ 快捷键说明

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