📄 ucos_ii.lst
字号:
1147 0458 8D93 st X+,r24
1148 .LM134:
1149 045a 4150 subi r20,lo8(-(-1))
1150 045c 5040 sbci r21,hi8(-(-1))
1151 045e F8CF rjmp .L78
1152 .L77:
1153 0460 0895 ret
1154 /* epilogue: frame size=0 */
1155 /* epilogue: noreturn */
1156 /* epilogue end (size=0) */
1157 /* function OS_MemCopy size 11 (11) */
1158 .LFE24:
1160 .global OS_Sched
1162 OS_Sched:
1163 .LFB25:
1164 .LM135:
1165 /* prologue: frame size=0 */
1166 /* prologue end (size=0) */
1167 .LM136:
1168 /* #APP */
1169 0462 F894 cli
1170 .LM137:
1171 /* #NOAPP */
1172 0464 8091 0000 lds r24,OSIntNesting
1173 0468 8823 tst r24
1174 046a 09F0 breq .+2
1175 046c 41C0 rjmp .L80
1176 .LM138:
1177 046e 8091 0000 lds r24,OSLockNesting
1178 0472 8823 tst r24
1179 0474 E9F5 brne .L80
1180 .LM139:
1181 0476 8091 0000 lds r24,OSRdyGrp
1182 047a E82F mov r30,r24
1183 047c FF27 clr r31
1184 047e E050 subi r30,lo8(-(OSUnMapTbl))
1185 0480 F040 sbci r31,hi8(-(OSUnMapTbl))
1186 0482 8081 ld r24,Z
1187 .LM140:
1188 0484 9927 clr r25
1189 0486 FC01 movw r30,r24
1190 0488 E050 subi r30,lo8(-(OSRdyTbl))
1191 048a F040 sbci r31,hi8(-(OSRdyTbl))
1192 048c 2081 ld r18,Z
1193 048e E22F mov r30,r18
1194 0490 FF27 clr r31
1195 0492 E050 subi r30,lo8(-(OSUnMapTbl))
1196 0494 F040 sbci r31,hi8(-(OSUnMapTbl))
1197 0496 E081 ld r30,Z
1198 0498 F3E0 ldi r31,3
1199 049a 880F 1: lsl r24
1200 049c 991F rol r25
1201 049e FA95 dec r31
1202 04a0 E1F7 brne 1b
1203 04a2 E80F add r30,r24
1204 04a4 E093 0000 sts OSPrioHighRdy,r30
1205 .LM141:
1206 04a8 8091 0000 lds r24,OSPrioCur
1207 04ac E817 cp r30,r24
1208 04ae 01F1 breq .L80
1209 .LM142:
1210 04b0 FF27 clr r31
1211 04b2 EE0F add r30,r30
1212 04b4 FF1F adc r31,r31
1213 04b6 E050 subi r30,lo8(-(OSTCBPrioTbl))
1214 04b8 F040 sbci r31,hi8(-(OSTCBPrioTbl))
1215 04ba 8081 ld r24,Z
1216 04bc 9181 ldd r25,Z+1
1217 04be 9093 0000 sts (OSTCBHighRdy)+1,r25
1218 04c2 8093 0000 sts OSTCBHighRdy,r24
1219 .LM143:
1220 04c6 8091 0000 lds r24,OSCtxSwCtr
1221 04ca 9091 0000 lds r25,(OSCtxSwCtr)+1
1222 04ce A091 0000 lds r26,(OSCtxSwCtr)+2
1223 04d2 B091 0000 lds r27,(OSCtxSwCtr)+3
1224 04d6 0196 adiw r24,1
1225 04d8 A11D adc r26,__zero_reg__
1226 04da B11D adc r27,__zero_reg__
1227 04dc 8093 0000 sts OSCtxSwCtr,r24
1228 04e0 9093 0000 sts (OSCtxSwCtr)+1,r25
1229 04e4 A093 0000 sts (OSCtxSwCtr)+2,r26
1230 04e8 B093 0000 sts (OSCtxSwCtr)+3,r27
1231 .LM144:
1232 04ec 0E94 0000 call OSCtxSw
1233 .L80:
1234 .LM145:
1235 /* #APP */
1236 04f0 7894 sei
1237 /* #NOAPP */
1238 /* epilogue: frame size=0 */
1239 04f2 0895 ret
1240 /* epilogue end (size=1) */
1241 /* function OS_Sched size 75 (74) */
1242 .LFE25:
1244 .global OSTimeDly
1246 OSTimeDly:
1247 .LFB39:
1248 .LM146:
1249 /* prologue: frame size=0 */
1250 04f4 CF93 push r28
1251 04f6 DF93 push r29
1252 /* prologue end (size=2) */
1253 04f8 9C01 movw r18,r24
1254 .LM147:
1255 04fa 892B or r24,r25
1256 04fc F9F0 breq .L83
1257 .LM148:
1258 /* #APP */
1259 04fe F894 cli
1260 .LM149:
1261 /* #NOAPP */
1262 0500 A091 0000 lds r26,OSTCBCur
1263 0504 B091 0000 lds r27,(OSTCBCur)+1
1264 0508 ED01 movw r28,r26
1265 050a 8E85 ldd r24,Y+14
1266 .LM150:
1267 050c E82F mov r30,r24
1268 050e FF27 clr r31
1269 0510 E050 subi r30,lo8(-(OSRdyTbl))
1270 0512 F040 sbci r31,hi8(-(OSRdyTbl))
1271 0514 9F85 ldd r25,Y+15
1272 0516 9095 com r25
1273 0518 8081 ld r24,Z
1274 051a 8923 and r24,r25
1275 051c 8083 st Z,r24
1276 .LM151:
1277 051e 8823 tst r24
1278 0520 39F4 brne .L85
1279 .LM152:
1280 0522 9889 ldd r25,Y+16
1281 0524 9095 com r25
1282 0526 8091 0000 lds r24,OSRdyGrp
1283 052a 8923 and r24,r25
1284 052c 8093 0000 sts OSRdyGrp,r24
1285 .L85:
1286 .LM153:
1287 0530 FD01 movw r30,r26
1288 0532 2087 std Z+8,r18
1289 0534 3187 std Z+9,r19
1290 .LM154:
1291 /* #APP */
1292 0536 7894 sei
1293 .LM155:
1294 /* #NOAPP */
1295 0538 0E94 0000 call OS_Sched
1296 .L83:
1297 /* epilogue: frame size=0 */
1298 053c DF91 pop r29
1299 053e CF91 pop r28
1300 0540 0895 ret
1301 /* epilogue end (size=3) */
1302 /* function OSTimeDly size 41 (36) */
1303 .LFE39:
1305 .global OSStatInit
1307 OSStatInit:
1308 .LFB10:
1309 .LM156:
1310 /* prologue: frame size=0 */
1311 /* prologue end (size=0) */
1312 .LM157:
1313 0542 82E0 ldi r24,lo8(2)
1314 0544 90E0 ldi r25,hi8(2)
1315 0546 0E94 0000 call OSTimeDly
1316 .LM158:
1317 /* #APP */
1318 054a F894 cli
1319 .LM159:
1320 /* #NOAPP */
1321 054c 1092 0000 sts OSIdleCtr,__zero_reg__
1322 0550 1092 0000 sts (OSIdleCtr)+1,__zero_reg__
1323 0554 1092 0000 sts (OSIdleCtr)+2,__zero_reg__
1324 0558 1092 0000 sts (OSIdleCtr)+3,__zero_reg__
1325 .LM160:
1326 /* #APP */
1327 055c 7894 sei
1328 .LM161:
1329 /* #NOAPP */
1330 055e 8AE0 ldi r24,lo8(10)
1331 0560 90E0 ldi r25,hi8(10)
1332 0562 0E94 0000 call OSTimeDly
1333 .LM162:
1334 /* #APP */
1335 0566 F894 cli
1336 .LM163:
1337 /* #NOAPP */
1338 0568 8091 0000 lds r24,OSIdleCtr
1339 056c 9091 0000 lds r25,(OSIdleCtr)+1
1340 0570 A091 0000 lds r26,(OSIdleCtr)+2
1341 0574 B091 0000 lds r27,(OSIdleCtr)+3
1342 0578 8093 0000 sts OSIdleCtrMax,r24
1343 057c 9093 0000 sts (OSIdleCtrMax)+1,r25
1344 0580 A093 0000 sts (OSIdleCtrMax)+2,r26
1345 0584 B093 0000 sts (OSIdleCtrMax)+3,r27
1346 .LM164:
1347 0588 81E0 ldi r24,lo8(1)
1348 058a 8093 0000 sts OSStatRdy,r24
1349 .LM165:
1350 /* #APP */
1351 058e 7894 sei
1352 /* #NOAPP */
1353 /* epilogue: frame size=0 */
1354 0590 0895 ret
1355 /* epilogue end (size=1) */
1356 /* function OSStatInit size 44 (43) */
1357 .LFE10:
1359 .global OSSchedUnlock
1361 OSSchedUnlock:
1362 .LFB8:
1363 .LM166:
1364 /* prologue: frame size=0 */
1365 /* prologue end (size=0) */
1366 .LM167:
1367 0592 8091 0000 lds r24,OSRunning
1368 0596 8130 cpi r24,lo8(1)
1369 0598 A9F4 brne .L87
1370 .LM168:
1371 /* #APP */
1372 059a F894 cli
1373 .LM169:
1374 /* #NOAPP */
1375 059c 8091 0000 lds r24,OSLockNesting
1376 05a0 8823 tst r24
1377 05a2 79F0 breq .L89
1378 .LM170:
1379 05a4 8150 subi r24,lo8(-(-1))
1380 05a6 8093 0000 sts OSLockNesting,r24
1381 .LM171:
1382 05aa 8823 tst r24
1383 05ac 41F4 brne .L90
1384 .LM172:
1385 05ae 8091 0000 lds r24,OSIntNesting
1386 05b2 8823 tst r24
1387 05b4 21F4 brne .L90
1388 .LM173:
1389 /* #APP */
1390 05b6 7894 sei
1391 .LM174:
1392 /* #NOAPP */
1393 05b8 0E94 0000 call OS_Sched
1394 05bc 0895 ret
1395 .L90:
1396 .LM175:
1397 /* #APP */
1398 05be 7894 sei
1399 /* #NOAPP */
1400 05c0 0895 ret
1401 .L89:
1402 .LM176:
1403 /* #APP */
1404 05c2 7894 sei
1405 /* #NOAPP */
1406 .L87:
1407 05c4 0895 ret
1408 /* epilogue: frame size=0 */
1409 05c6 0895 ret
1410 /* epilogue end (size=1) */
1411 /* function OSSchedUnlock size 31 (30) */
1412 .LFE8:
1414 .global OS_TaskIdle
1416 OS_TaskIdle:
1417 .LFB28:
1418 .LM177:
1419 /* prologue: frame size=0 */
1420 /* prologue end (size=0) */
1421 .L96:
1422 .LM178:
1423 /* #APP */
1424 05c8 F894 cli
1425 .LM179:
1426 /* #NOAPP */
1427 05ca 8091 0000 lds r24,OSIdleCtr
1428 05ce 9091 0000 lds r25,(OSIdleCtr)+1
1429 05d2 A091 0000 lds r26,(OSIdleCtr)+2
1430 05d6 B091 0000 lds r27,(OSIdleCtr)+3
1431 05da 0196 adiw r24,1
1432 05dc A11D adc r26,__zero_reg__
1433 05de B11D adc r27,__zero_reg__
1434 05e0 8093 0000 sts OSIdleCtr,r24
1435 05e4 9093 0000 sts (OSIdleCtr)+1,r25
1436 05e8 A093 0000 sts (OSIdleCtr)+2,r26
1437 05ec B093 0000 sts (OSIdleCtr)+3,r27
1438 .LM180:
1439 /* #APP */
1440 05f0 7894 sei
1441 .LM181:
1442 /* #NOAPP */
1443 05f2 0E94 0000 call OSTaskIdleHook
1444 .LM182:
1445 05f6 E8CF rjmp .L96
1446 /* epilogue: frame size=0 */
1447 /* epilogue: noreturn */
1448 /* epilogue end (size=0) */
1449 /* function OS_TaskIdle size 26 (26) */
1450 .LFE28:
1452 .global OS_TaskStat
1454 OS_TaskStat:
1455 .LFB29:
1456 .LM183:
1457 /* prologue: frame size=0 */
1458 05f8 EF92 push r14
1459 05fa FF92 push r15
1460 05fc 0F93 push r16
1461 05fe 1F93 push r17
1462 /* prologue end (size=4) */
1463 .L110:
1464 .LM184:
1465 0600 8091 0000 lds r24,OSStatRdy
1466 0604 8823 tst r24
1467 0606 29F4 brne .L109
1468 .LM185:
1469 0608 84E1 ldi r24,lo8(20)
1470 060a 90E0 ldi r25,hi8(20)
1471 060c 0E94 0000 call OSTimeDly
1472 0610 F7CF rjmp .L110
1473 .L109:
1474 .LM186:
1475 0612 8091 0000 lds r24,OSIdleCtrMax
1476 0616 9091 0000 lds r25,(OSIdleCtrMax)+1
1477 061a A091 0000 lds r26,(OSIdleCtrMax)+2
1478 061e B091 0000 lds r27,(OSIdleCtrMax)+3
1479 0622 BC01 movw r22,r24
1480 0624 CD01 movw r24,r26
1481 0626 24E6 ldi r18,lo8(100)
1482 0628 30E0 ldi r19,hi8(100)
1483 062a 40E0 ldi r20,hlo8(100)
1484 062c 50E0 ldi r21,hhi8(100)
1485 062e 0E94 0000 call __udivmodsi4
1486 0632 7901 movw r14,r18
1487 0634 8A01 movw r16,r20
1488 .L102:
1489 .LM187:
1490 /* #APP */
1491 0636 F894 cli
1492 .LM188:
1493 /* #NOAPP */
1494 0638 8091 0000 lds r24,OSIdleCtr
1495 063c 9091 0000 lds r25,(OSIdleCtr)+1
1496 0640 A091 0000 lds r26,(OSIdleCtr)+2
1497 0644 B091 0000 lds r27,(OSIdleCtr)+3
1498 0648 8093 0000 sts OSIdleCtrRun,r24
1499 064c 9093 0000 sts (OSIdleCtrRun)+1,r25
1500 0650 A093 0000 sts (OSIdleCtrRun)+2,r26
1501 0654 B093 0000 sts (OSIdleCtrRun)+3,r27
1502 .LM189:
1503 0658 6091 0000 lds r22,OSIdleCtr
1504 065c 7091 0000 lds r23,(OSIdleCtr)+1
1505 0660 8091 0000 lds r24,(OSIdleCtr)+2
1506 0664 9091 0000 lds r25,(OSIdleCtr)+3
1507 .LM190:
1508 0668 1092 0000 sts OSIdleCtr,__zero_reg__
1509 066c 1092 0000 sts (OSIdleCtr)+1,__zero_reg__
1510 0670 1092 0000 sts (OSIdleCtr)+2,__zero_reg__
1511 0674 1092 0000 sts (OSIdleCtr)+3,__zero_reg__
1512 .LM191:
1513 /* #APP */
1514 0678 7894 sei
1515 .LM192:
1516 /* #NOAPP */
1517 067a E114 cp r14,__zero_reg__
1518 067c F104 cpc r15,__zero_reg__
1519 067e 0105 cpc r16,__zero_reg__
1520 0680 1105 cpc r17,__zero_reg__
1521 0682 81F0 breq .L104
1522 .LM193:
1523 0684 A801 movw r20,r16
1524 0686 9701 movw r18,r14
1525 0688 0E94 0000 call __udivmodsi4
1526 068c DA01 movw r26,r20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -