main.lst

来自「ARP协议,含ARP」· LST 代码 · 共 1,926 行 · 第 1/5 页

LST
1,926
字号
 1215 04c8 9140      		sbci r25,hi8(301)
 1216 04ca 00F4      		brsh .L137
 1217               	.LM206:
 1218 04cc E091 0000 		lds r30,mb_head
 1219 04d0 F091 0000 		lds r31,(mb_head)+1
 1220 04d4 3097      		sbiw r30,0
 1221 04d6 01F0      		breq .L137
 1222               	.LM207:
 1223 04d8 8081      		ld r24,Z
 1224 04da 9181      		ldd r25,Z+1
 1225               	.LVL43:
 1226 04dc 9093 0000 		sts (mb_head)+1,r25
 1227 04e0 8093 0000 		sts mb_head,r24
 1228               	.LM208:
 1229 04e4 1182      		std Z+1,__zero_reg__
 1230 04e6 1082      		st Z,__zero_reg__
 1231               	.LM209:
 1232 04e8 1382      		std Z+3,__zero_reg__
 1233 04ea 1282      		std Z+2,__zero_reg__
 1234               	.LM210:
 1235 04ec 9F01      		movw r18,r30
 1236 04ee 2C5F      		subi r18,lo8(-(4))
 1237 04f0 3F4F      		sbci r19,hi8(-(4))
 1238 04f2 00C0      		rjmp .L138
 1239               	.LVL44:
 1240               	.L137:
 1241 04f4 20E0      		ldi r18,lo8(0)
 1242 04f6 30E0      		ldi r19,hi8(0)
 1243               	.L138:
 1244               	.LM211:
 1245 04f8 C901      		movw r24,r18
 1246               	.LVL45:
 1247               	/* epilogue start */
 1248 04fa 0895      		ret
 1249               	.LFE30:
 1251               	.global	free_mem
 1253               	free_mem:
 1254               	.LFB31:
 1255               	.LM212:
 1256               	.LVL46:
 1257               	/* prologue: function */
 1258               	/* frame size = 0 */
 1259               	.LM213:
 1260 04fc FC01      		movw r30,r24
 1261               	.LVL47:
 1262 04fe 3497      		sbiw r30,4
 1263               	.LM214:
 1264 0500 8091 0000 		lds r24,mb_head
 1265 0504 9091 0000 		lds r25,(mb_head)+1
 1266               	.LVL48:
 1267 0508 9183      		std Z+1,r25
 1268 050a 8083      		st Z,r24
 1269               	.LM215:
 1270 050c 1382      		std Z+3,__zero_reg__
 1271 050e 1282      		std Z+2,__zero_reg__
 1272               	.LM216:
 1273 0510 F093 0000 		sts (mb_head)+1,r31
 1274 0514 E093 0000 		sts mb_head,r30
 1275               	/* epilogue start */
 1276               	.LM217:
 1277 0518 0895      		ret
 1278               	.LFE31:
 1280               	.global	alloc_mb
 1282               	alloc_mb:
 1283               	.LFB32:
 1284               	.LM218:
 1285               	/* prologue: function */
 1286               	/* frame size = 0 */
 1287               	.LM219:
 1288 051a E091 0000 		lds r30,mb_head
 1289 051e F091 0000 		lds r31,(mb_head)+1
 1290 0522 3097      		sbiw r30,0
 1291 0524 01F4      		brne .L143
 1292 0526 20E0      		ldi r18,lo8(0)
 1293 0528 30E0      		ldi r19,hi8(0)
 1294 052a 00C0      		rjmp .L144
 1295               	.L143:
 1296               	.LM220:
 1297 052c 8081      		ld r24,Z
 1298 052e 9181      		ldd r25,Z+1
 1299 0530 9093 0000 		sts (mb_head)+1,r25
 1300 0534 8093 0000 		sts mb_head,r24
 1301               	.LM221:
 1302 0538 1182      		std Z+1,__zero_reg__
 1303 053a 1082      		st Z,__zero_reg__
 1304               	.LM222:
 1305 053c 1382      		std Z+3,__zero_reg__
 1306 053e 1282      		std Z+2,__zero_reg__
 1307               	.LM223:
 1308 0540 9F01      		movw r18,r30
 1309               	.L144:
 1310               	.LM224:
 1311 0542 C901      		movw r24,r18
 1312               	/* epilogue start */
 1313 0544 0895      		ret
 1314               	.LFE32:
 1316               	.global	free_mb
 1318               	free_mb:
 1319               	.LFB33:
 1320               	.LM225:
 1321               	.LVL49:
 1322               	/* prologue: function */
 1323               	/* frame size = 0 */
 1324 0546 FC01      		movw r30,r24
 1325               	.LM226:
 1326 0548 8091 0000 		lds r24,mb_head
 1327 054c 9091 0000 		lds r25,(mb_head)+1
 1328               	.LVL50:
 1329 0550 9183      		std Z+1,r25
 1330 0552 8083      		st Z,r24
 1331               	.LM227:
 1332 0554 1382      		std Z+3,__zero_reg__
 1333 0556 1282      		std Z+2,__zero_reg__
 1334               	.LM228:
 1335 0558 F093 0000 		sts (mb_head)+1,r31
 1336 055c E093 0000 		sts mb_head,r30
 1337               	/* epilogue start */
 1338               	.LM229:
 1339 0560 0895      		ret
 1340               	.LFE33:
 1342               	.global	chk_mem
 1344               	chk_mem:
 1345               	.LFB34:
 1346               	.LM230:
 1347               	.LVL51:
 1348               	/* prologue: function */
 1349               	/* frame size = 0 */
 1350               	.LM231:
 1351 0562 20E0      		ldi r18,lo8(mbs)
 1352 0564 30E0      		ldi r19,hi8(mbs)
 1353               	.L151:
 1354               	.LM232:
 1355 0566 8217      		cp r24,r18
 1356 0568 9307      		cpc r25,r19
 1357 056a 01F4      		brne .L149
 1358 056c 81E0      		ldi r24,lo8(1)
 1359               	.LVL52:
 1360 056e 0895      		ret
 1361               	.LVL53:
 1362               	.L149:
 1363 0570 205D      		subi r18,lo8(-(304))
 1364 0572 3E4F      		sbci r19,hi8(-(304))
 1365               	.LM233:
 1366 0574 40E0      		ldi r20,hi8(mbs+2128)
 1367 0576 2030      		cpi r18,lo8(mbs+2128)
 1368 0578 3407      		cpc r19,r20
 1369 057a 01F4      		brne .L151
 1370 057c 80E0      		ldi r24,lo8(0)
 1371               	.LVL54:
 1372               	.LM234:
 1373 057e 0895      		ret
 1374               	.LFE34:
 1376               	.global	free_msg
 1378               	free_msg:
 1379               	.LFB36:
 1380               	.LM235:
 1381               	.LVL55:
 1382               	/* prologue: function */
 1383               	/* frame size = 0 */
 1384 0580 FC01      		movw r30,r24
 1385               	.LM236:
 1386 0582 4091 0000 		lds r20,mb_head
 1387               	.LVL56:
 1388 0586 5091 0000 		lds r21,mb_head+1
 1389               	.LVL57:
 1390 058a 00C0      		rjmp .L155
 1391               	.LVL58:
 1392               	.L156:
 1393               	.LM237:
 1394 058c 8081      		ld r24,Z
 1395               	.LVL59:
 1396 058e 9181      		ldd r25,Z+1
 1397               	.LVL60:
 1398               	.LBB439:
 1399               	.LBB440:
 1400               	.LM238:
 1401 0590 4083      		st Z,r20
 1402 0592 5183      		std Z+1,r21
 1403               	.LM239:
 1404 0594 1382      		std Z+3,__zero_reg__
 1405 0596 1282      		std Z+2,__zero_reg__
 1406 0598 AF01      		movw r20,r30
 1407 059a FC01      		movw r30,r24
 1408               	.LVL61:
 1409               	.L155:
 1410               	.LBE440:
 1411               	.LBE439:
 1412               	.LM240:
 1413 059c 3097      		sbiw r30,0
 1414 059e 01F4      		brne .L156
 1415 05a0 4093 0000 		sts mb_head,r20
 1416 05a4 5093 0000 		sts mb_head+1,r21
 1417               	/* epilogue start */
 1418               	.LM241:
 1419 05a8 0895      		ret
 1420               	.LFE36:
 1422               	.global	get_msg_len
 1424               	get_msg_len:
 1425               	.LFB37:
 1426               	.LM242:
 1427               	.LVL62:
 1428               	/* prologue: function */
 1429               	/* frame size = 0 */
 1430 05aa FC01      		movw r30,r24
 1431               	.LM243:
 1432 05ac 20E0      		ldi r18,lo8(0)
 1433 05ae 30E0      		ldi r19,hi8(0)
 1434               	.LVL63:
 1435 05b0 00C0      		rjmp .L159
 1436               	.LVL64:
 1437               	.L160:
 1438               	.LM244:
 1439 05b2 8281      		ldd r24,Z+2
 1440 05b4 9381      		ldd r25,Z+3
 1441 05b6 280F      		add r18,r24
 1442 05b8 391F      		adc r19,r25
 1443               	.LM245:
 1444 05ba 0190      		ld __tmp_reg__,Z+
 1445 05bc F081      		ld r31,Z
 1446 05be E02D      		mov r30,__tmp_reg__
 1447               	.LVL65:
 1448               	.L159:
 1449               	.LM246:
 1450 05c0 3097      		sbiw r30,0
 1451 05c2 01F4      		brne .L160
 1452               	.LM247:
 1453 05c4 C901      		movw r24,r18
 1454               	.LVL66:
 1455               	/* epilogue start */
 1456 05c6 0895      		ret
 1457               	.LFE37:
 1459               	.global	make_list_msg
 1461               	make_list_msg:
 1462               	.LFB40:
 1463               	.LM248:
 1464               	.LVL67:
 1465 05c8 CF92      		push r12
 1466 05ca DF92      		push r13
 1467 05cc EF92      		push r14
 1468 05ce FF92      		push r15
 1469 05d0 0F93      		push r16
 1470 05d2 1F93      		push r17
 1471 05d4 CF93      		push r28
 1472 05d6 DF93      		push r29
 1473               	/* prologue: function */
 1474               	/* frame size = 0 */
 1475 05d8 7C01      		movw r14,r24
 1476               	.LM249:
 1477 05da 0097      		sbiw r24,0
 1478 05dc 01F0      		breq .L178
 1479               	.L163:
 1480               	.LM250:
 1481 05de 0197      		sbiw r24,1
 1482               	.LVL68:
 1483 05e0 6CE2      		ldi r22,lo8(300)
 1484 05e2 71E0      		ldi r23,hi8(300)
 1485 05e4 0E94 0000 		call __udivmodhi4
 1486 05e8 8B01      		movw r16,r22
 1487               	.LVL69:
 1488 05ea 0F5F      		subi r16,lo8(-(1))
 1489 05ec 1F4F      		sbci r17,hi8(-(1))
 1490 05ee C091 0000 		lds r28,mb_head
 1491 05f2 D091 0000 		lds r29,(mb_head)+1
 1492               	.LVL70:
 1493 05f6 A0E0      		ldi r26,lo8(0)
 1494 05f8 B0E0      		ldi r27,hi8(0)
 1495               	.LVL71:
 1496 05fa 60E0      		ldi r22,lo8(0)
 1497 05fc 70E0      		ldi r23,hi8(0)
 1498               	.LVL72:
 1499               	.L170:
 1500               	.LBB441:
 1501               	.LBB442:
 1502               	.LM251:
 1503 05fe 2097      		sbiw r28,0
 1504 0600 01F4      		brne .L165
 1505               	.LVL73:
 1506 0602 40E0      		ldi r20,lo8(0)
 1507 0604 50E0      		ldi r21,hi8(0)
 1508               	.LVL74:
 1509 0606 00C0      		rjmp .L166
 1510               	.LVL75:
 1511               	.L165:
 1512               	.LM252:
 1513 0608 8881      		ld r24,Y
 1514               	.LVL76:
 1515 060a 9981      		ldd r25,Y+1
 1516               	.LM253:
 1517 060c 1982      		std Y+1,__zero_reg__
 1518 060e 1882      		st Y,__zero_reg__
 1519               	.LM254:
 1520 0610 1B82      		std Y+3,__zero_reg__
 1521 0612 1A82      		std Y+2,__zero_reg__
 1522               	.LM255:
 1523 0614 AE01      		movw r20,r28
 1524               	.LVL77:
 1525 0616 EC01      		movw r28,r24
 1526               	.LVL78:
 1527               	.L166:
 1528               	.LBE442:
 1529               	.LBE441:
 1530               	.LM256:
 1531 0618 6A01      		movw r12,r20
 1532               	.LM257:
 1533 061a 4115      		cp r20,__zero_reg__
 1534 061c 5105      		cpc r21,__zero_reg__
 1535 061e 01F4      		brne .L177
 1536               	.LVL79:
 1537 0620 00C0      		rjmp .L176
 1538               	.LVL80:
 1539               	.L169:
 1540               	.LBB443:
 1541               	.LBB444:
 1542               	.LM258:
 1543 0622 8C91      		ld r24,X
 1544               	.LVL81:
 1545 0624 1196      		adiw r26,1
 1546 0626 9C91      		ld r25,X
 1547 0628 1197      		sbiw r26,1
 1548               	.LVL82:
 1549               	.LBB445:
 1550               	.LBB446:
 1551               	.LM259:
 1552 062a 1196      		adiw r26,1
 1553 062c DC93      		st X,r29
 1554 062e CE93      		st -X,r28
 1555               	.LM260:
 1556 0630 1396      		adiw r26,2+1
 1557 0632 1C92      		st X,__zero_reg__
 1558 0634 1E92      		st -X,__zero_reg__
 1559 0636 1297      		sbiw r26,2
 1560 0638 ED01      		movw r28,r26
 1561 063a DC01      		movw r26,r24
 1562               	.LVL83:
 1563               	.L176:
 1564               	.LBE446:
 1565               	.LBE445:
 1566               	.LM261:
 1567 063c 1097      		sbiw r26,0
 1568 063e 01F4      		brne .L169
 1569 0640 D093 0000 		sts (mb_head)+1,r29
 1570 0644 C093 0000 		sts mb_head,r28
 1571               	.LVL84:
 1572               	.L178:
 1573 0648 20E0      		ldi r18,lo8(0)
 1574 064a 30E0      		ldi r19,hi8(0)
 1575 064c 00C0      		rjmp .L164
 1576               	.LVL85:
 1577               	.L177:
 1578               	.LBE444:
 1579               	.LBE443:
 1580               	.LM262:
 1581 064e FA01      		movw r30,r20
 1582               	.LVL86:
 1583 0650 B183      		std Z+1,r27
 1584 0652 A083      		st Z,r26
 1585               	.LM263:
 1586 0654 6F5F      		subi r22,lo8(-(1))
 1587 0656 7F4F      		sbci r23,hi8(-(1))
 1588 0658 DA01      		movw r26,r20
 1589               	.LVL87:
 1590 065a 6017      		cp r22,r16
 1591 065c 7107      		cpc r23,r17
 1592 065e 00F0      		brlo .L170
 1593               	.LVL88:
 1594 0660 BA01      		movw r22,r20
 1595               	.LVL89:
 1596 0662 D093 0000 		sts (mb_head)+1,r29
 1597 0666 C093 0000 		sts mb_head,r28
 1598               	.LM264:
 1599 066a 81E0      		ldi r24,lo8(1)
 1600 066c 90E0      		ldi r25,hi8(1)
 1601 066e 801B      		sub r24,r16
 1602 0670 910B      		sbc r25,r17
 1603 0672 2CE2      		ldi r18,lo8(300)
 1604 0674 31E0      		ldi r19,hi8(300)
 1605 0676 829F      		mul r24,r18
 1606 0678 A001      		movw r20,r0
 1607 067a 839F      		mul r24,r19
 1608 067c 500D      		add r21,r0
 1609 067e 929F      		mul r25,r18
 1610 0680 500D      		add r21,r0
 1611 0682 1124      		clr r1
 1612 0684 4E0D      		add r20,r14
 1613 0686 5F1D      		adc r21,r15
 1614               	.LVL90:

⌨️ 快捷键说明

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