📄 ucos_ii.lst
字号:
1345 073a FF20 tst r15
1346 073c 21F0 breq .L86
1347 073e 82E0 ldi r24,lo8(2)
1348 .L90:
1349 0740 F801 movw r30,r16
1350 0742 8083 st Z,r24
1351 0744 34C0 rjmp .L85
1352 .L86:
1353 /* #APP */
1354 0746 F894 cli
1355 /* #NOAPP */
1356 0748 8A81 ldd r24,Y+2
1357 074a 9B81 ldd r25,Y+3
1358 074c 0097 sbiw r24,0
1359 074e 39F0 breq .L87
1360 0750 0197 sbiw r24,1
1361 0752 8A83 std Y+2,r24
1362 0754 9B83 std Y+3,r25
1363 .L89:
1364 /* #APP */
1365 0756 7894 sei
1366 /* #NOAPP */
1367 0758 F801 movw r30,r16
1368 075a F082 st Z,r15
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 25
1369 075c 28C0 rjmp .L85
1370 .L87:
1371 075e E091 0000 lds r30,OSTCBCur
1372 0762 F091 0000 lds r31,(OSTCBCur)+1
1373 0766 8285 ldd r24,Z+10
1374 0768 8160 ori r24,lo8(1)
1375 076a 8287 std Z+10,r24
1376 076c E091 0000 lds r30,OSTCBCur
1377 0770 F091 0000 lds r31,(OSTCBCur)+1
1378 0774 6087 std Z+8,r22
1379 0776 7187 std Z+9,r23
1380 0778 CE01 movw r24,r28
1381 077a 0E94 0000 call OS_EventTaskWait
1382 /* #APP */
1383 077e 7894 sei
1384 /* #NOAPP */
1385 0780 0E94 0000 call OS_Sched
1386 /* #APP */
1387 0784 F894 cli
1388 /* #NOAPP */
1389 0786 E091 0000 lds r30,OSTCBCur
1390 078a F091 0000 lds r31,(OSTCBCur)+1
1391 078e 8285 ldd r24,Z+10
1392 0790 9927 clr r25
1393 0792 9C01 movw r18,r24
1394 0794 2170 andi r18,lo8(1)
1395 0796 3070 andi r19,hi8(1)
1396 0798 80FD sbrc r24,0
1397 079a 03C0 rjmp .L91
1398 079c 2683 std Z+6,r18
1399 079e 3783 std Z+7,r19
1400 07a0 DACF rjmp .L89
1401 .L91:
1402 07a2 CE01 movw r24,r28
1403 07a4 0E94 0000 call OS_EventTO
1404 /* #APP */
1405 07a8 7894 sei
1406 /* #NOAPP */
1407 07aa 8AE0 ldi r24,lo8(10)
1408 07ac C9CF rjmp .L90
1409 .L85:
1410 /* epilogue: frame size=0 */
1411 07ae DF91 pop r29
1412 07b0 CF91 pop r28
1413 07b2 1F91 pop r17
1414 07b4 0F91 pop r16
1415 07b6 FF90 pop r15
1416 07b8 0895 ret
1417 /* epilogue end (size=6) */
1418 /* function OSSemPend size 78 (67) */
1419 .size OSSemPend, .-OSSemPend
1420 .global OSSemPost
1421 .type OSSemPost, @function
1422 OSSemPost:
1423 /* prologue: frame size=0 */
1424 /* prologue end (size=0) */
1425 07ba FC01 movw r30,r24
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 26
1426 /* #APP */
1427 07bc F894 cli
1428 /* #NOAPP */
1429 07be 8181 ldd r24,Z+1
1430 07c0 8823 tst r24
1431 07c2 69F4 brne .L96
1432 07c4 8281 ldd r24,Z+2
1433 07c6 9381 ldd r25,Z+3
1434 07c8 2FEF ldi r18,hi8(-1)
1435 07ca 8F3F cpi r24,lo8(-1)
1436 07cc 9207 cpc r25,r18
1437 07ce 99F0 breq .L94
1438 07d0 0196 adiw r24,1
1439 07d2 8283 std Z+2,r24
1440 07d4 9383 std Z+3,r25
1441 /* #APP */
1442 07d6 7894 sei
1443 /* #NOAPP */
1444 07d8 80E0 ldi r24,lo8(0)
1445 07da 90E0 ldi r25,hi8(0)
1446 07dc 0895 ret
1447 .L96:
1448 07de 41E0 ldi r20,lo8(1)
1449 07e0 60E0 ldi r22,lo8(0)
1450 07e2 70E0 ldi r23,hi8(0)
1451 07e4 CF01 movw r24,r30
1452 07e6 0E94 0000 call OS_EventTaskRdy
1453 /* #APP */
1454 07ea 7894 sei
1455 /* #NOAPP */
1456 07ec 0E94 0000 call OS_Sched
1457 07f0 80E0 ldi r24,lo8(0)
1458 07f2 90E0 ldi r25,hi8(0)
1459 07f4 0895 ret
1460 .L94:
1461 /* #APP */
1462 07f6 7894 sei
1463 /* #NOAPP */
1464 07f8 82E3 ldi r24,lo8(50)
1465 07fa 90E0 ldi r25,hi8(50)
1466 07fc 0895 ret
1467 /* epilogue: frame size=0 */
1468 /* epilogue: noreturn */
1469 /* epilogue end (size=0) */
1470 /* function OSSemPost size 38 (38) */
1471 .size OSSemPost, .-OSSemPost
1472 .global OSTaskCreate
1473 .type OSTaskCreate, @function
1474 OSTaskCreate:
1475 /* prologue: frame size=0 */
1476 07fe 7F92 push r7
1477 0800 8F92 push r8
1478 0802 9F92 push r9
1479 0804 AF92 push r10
1480 0806 BF92 push r11
1481 0808 CF92 push r12
1482 080a DF92 push r13
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 27
1483 080c EF92 push r14
1484 080e FF92 push r15
1485 0810 0F93 push r16
1486 0812 1F93 push r17
1487 0814 CF93 push r28
1488 0816 DF93 push r29
1489 /* prologue end (size=13) */
1490 0818 FC01 movw r30,r24
1491 081a 722E mov r7,r18
1492 /* #APP */
1493 081c F894 cli
1494 /* #NOAPP */
1495 081e C22F mov r28,r18
1496 0820 DD27 clr r29
1497 0822 CC0F add r28,r28
1498 0824 DD1F adc r29,r29
1499 0826 C050 subi r28,lo8(-(OSTCBPrioTbl))
1500 0828 D040 sbci r29,hi8(-(OSTCBPrioTbl))
1501 082a 8880 ld r8,Y
1502 082c 9980 ldd r9,Y+1
1503 082e 8114 cp r8,__zero_reg__
1504 0830 9104 cpc r9,__zero_reg__
1505 0832 69F5 brne .L98
1506 0834 81E0 ldi r24,lo8(1)
1507 0836 90E0 ldi r25,hi8(1)
1508 0838 8883 st Y,r24
1509 083a 9983 std Y+1,r25
1510 /* #APP */
1511 083c 7894 sei
1512 /* #NOAPP */
1513 083e 9401 movw r18,r8
1514 0840 CF01 movw r24,r30
1515 0842 0E94 0000 call OSTaskStkInit
1516 0846 5401 movw r10,r8
1517 0848 6401 movw r12,r8
1518 084a EE24 clr r14
1519 084c FF24 clr r15
1520 084e 8701 movw r16,r14
1521 0850 9401 movw r18,r8
1522 0852 A401 movw r20,r8
1523 0854 BC01 movw r22,r24
1524 0856 872D mov r24,r7
1525 0858 0E94 0000 call OS_TCBInit
1526 085c 182F mov r17,r24
1527 085e 8823 tst r24
1528 0860 71F4 brne .L99
1529 /* #APP */
1530 0862 F894 cli
1531 /* #NOAPP */
1532 0864 8091 0000 lds r24,OSTaskCtr
1533 0868 8F5F subi r24,lo8(-(1))
1534 086a 8093 0000 sts OSTaskCtr,r24
1535 /* #APP */
1536 086e 7894 sei
1537 /* #NOAPP */
1538 0870 8091 0000 lds r24,OSRunning
1539 0874 8130 cpi r24,lo8(1)
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 28
1540 0876 41F0 breq .L102
1541 .L101:
1542 0878 812F mov r24,r17
1543 087a 9927 clr r25
1544 087c 0BC0 rjmp .L97
1545 .L99:
1546 /* #APP */
1547 087e F894 cli
1548 /* #NOAPP */
1549 0880 8882 st Y,r8
1550 0882 9982 std Y+1,r9
1551 /* #APP */
1552 0884 7894 sei
1553 /* #NOAPP */
1554 0886 F8CF rjmp .L101
1555 .L102:
1556 0888 0E94 0000 call OS_Sched
1557 088c F5CF rjmp .L101
1558 .L98:
1559 /* #APP */
1560 088e 7894 sei
1561 /* #NOAPP */
1562 0890 88E2 ldi r24,lo8(40)
1563 0892 90E0 ldi r25,hi8(40)
1564 .L97:
1565 /* epilogue: frame size=0 */
1566 0894 DF91 pop r29
1567 0896 CF91 pop r28
1568 0898 1F91 pop r17
1569 089a 0F91 pop r16
1570 089c FF90 pop r15
1571 089e EF90 pop r14
1572 08a0 DF90 pop r13
1573 08a2 CF90 pop r12
1574 08a4 BF90 pop r11
1575 08a6 AF90 pop r10
1576 08a8 9F90 pop r9
1577 08aa 8F90 pop r8
1578 08ac 7F90 pop r7
1579 08ae 0895 ret
1580 /* epilogue end (size=14) */
1581 /* function OSTaskCreate size 96 (69) */
1582 .size OSTaskCreate, .-OSTaskCreate
1583 .global OSInit
1584 .type OSInit, @function
1585 OSInit:
1586 /* prologue: frame size=0 */
1587 /* prologue end (size=0) */
1588 08b0 0E94 0000 call OSInitHookBegin
1589 08b4 1092 0000 sts OSIntNesting,__zero_reg__
1590 08b8 1092 0000 sts OSLockNesting,__zero_reg__
1591 08bc 1092 0000 sts OSTaskCtr,__zero_reg__
1592 08c0 1092 0000 sts OSRunning,__zero_reg__
1593 08c4 1092 0000 sts OSCtxSwCtr,__zero_reg__
1594 08c8 1092 0000 sts (OSCtxSwCtr)+1,__zero_reg__
1595 08cc 1092 0000 sts (OSCtxSwCtr)+2,__zero_reg__
1596 08d0 1092 0000 sts (OSCtxSwCtr)+3,__zero_reg__
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 29
1597 08d4 1092 0000 sts OSIdleCtr,__zero_reg__
1598 08d8 1092 0000 sts (OSIdleCtr)+1,__zero_reg__
1599 08dc 1092 0000 sts (OSIdleCtr)+2,__zero_reg__
1600 08e0 1092 0000 sts (OSIdleCtr)+3,__zero_reg__
1601 08e4 1092 0000 sts OSRdyGrp,__zero_reg__
1602 08e8 1092 0000 sts OSRdyTbl,__zero_reg__
1603 08ec 1092 0000 sts OSRdyTbl+1,__zero_reg__
1604 08f0 1092 0000 sts OSPrioCur,__zero_reg__
1605 08f4 1092 0000 sts OSPrioHighRdy,__zero_reg__
1606 08f8 1092 0000 sts (OSTCBHighRdy)+1,__zero_reg__
1607 08fc 1092 0000 sts OSTCBHighRdy,__zero_reg__
1608 0900 1092 0000 sts (OSTCBCur)+1,__zero_reg__
1609 0904 1092 0000 sts OSTCBCur,__zero_reg__
1610 0908 1092 0000 sts (OSTCBList)+1,__zero_reg__
1611 090c 1092 0000 sts OSTCBList,__zero_reg__
1612 0910 8CE0 ldi r24,lo8(12)
1613 0912 E0E0 ldi r30,lo8(OSTCBPrioTbl)
1614 0914 F0E0 ldi r31,hi8(OSTCBPrioTbl)
1615 .L113:
1616 0916 1192 st Z+,__zero_reg__
1617 0918 1192 st Z+,__zero_reg__
1618 091a 8150 subi r24,lo8(-(-1))
1619 091c 87FF sbrs r24,7
1620 091e FBCF rjmp .L113
1621 0920 40E0 ldi r20,lo8(OSTCBTbl)
1622 0922 50E0 ldi r21,hi8(OSTCBTbl)
1623 0924 FA01 movw r30,r20
1624 0926 9A01 movw r18,r20
1625 0928 2F5E subi r18,lo8(-(17))
1626 092a 3F4F sbci r19,hi8(-(17))
1627 092c 85E0 ldi r24,lo8(5)
1628 .L117:
1629 092e 2283 std Z+2,r18
1630 0930 3383 std Z+3,r19
1631 0932 7196 adiw r30,17
1632 0934 2F5E subi r18,lo8(-(17))
1633 0936 3F4F sbci r19,hi8(-(17))
1634 0938 8150 subi r24,lo8(-(-1))
1635 093a 87FF sbrs r24,7
1636 093c F8CF rjmp .L117
1637 093e 1092 0000 sts (OSTCBTbl+104)+1,__zero_reg__
1638 0942 1092 0000 sts OSTCBTbl+104,__zero_reg__
1639 0946 5093 0000 sts (OSTCBFreeList)+1,r21
1640 094a 4093 0000 sts OSTCBFreeList,r20
1641 094e 80E0 ldi r24,lo8(OSEventTbl+8)
1642 0950 90E0 ldi r25,hi8(OSEventTbl+8)
1643 0952 1092 0000 sts OSEventTbl,__zero_reg__
1644 0956 9093 0000 sts (OSEventTbl+4)+1,r25
1645 095a 8093 0000 sts OSEventTbl+4,r24
1646 095e 0896 adiw r24,8
1647 0960 1092 0000 sts OSEventTbl+8,__zero_reg__
1648 0964 9093 0000 sts (OSEventTbl+12)+1,r25
1649 0968 8093 0000 sts OSEventTbl+12,r24
1650 096c 4097 sbiw r24,16
1651 096e 1092 0000 sts OSEventTbl+16,__zero_reg__
1652 0972 1092 0000 sts (OSEventTbl+20)+1,__zero_reg__
1653 0976 1092 0000 sts OSEventTbl+20,__zero_reg__
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s page 30
1654 097a 9093 0000 sts (OSEventFreeList)+1,r25
1655 097e 8093 0000 sts OSEventFreeList,r24
1656 0982 2CE0 ldi r18,lo8(12)
1657 0984 40E0 ldi r20,lo8(OSTaskIdleStk+99)
1658 0986 50E0 ldi r21,hi8(OSTaskIdleStk+99)
1659 0988 60E0 ldi r22,lo8(0)
1660 098a 70E0 ldi r23,hi8(0)
1661 098c 80E0 ldi r24,lo8(pm(OS_TaskIdle))
1662 098e 90E0 ldi r25,hi8(pm(OS_TaskIdle))
1663 0990 0E94 0000 call OSTaskCreate
1664 0994 2BE0 ldi r18,lo8(11)
1665 0996 40E0 ldi r20,lo8(OSTaskStatStk+99)
1666 0998 50E0 ldi r21,hi8(OSTaskStatStk+99)
1667 099a 60E0 ldi r22,lo8(0)
1668 099c 70E0 ldi r23,hi8(0)
1669 099e 80E0 ldi r24,lo8(pm(OS_TaskStat))
1670 09a0 90E0 ldi r25,hi8(pm(OS_TaskStat))
1671 09a2 0E94 0000 call OSTaskCreate
1672 09a6 0E94 0000 call OSInitHookEnd
1673 /* epilogue: frame size=0 */
1674 09aa 0895 ret
1675 /* epilogue end (size=1) */
1676 /* function OSInit size 126 (125) */
1677 .size OSInit, .-OS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -