📄 ds1302.lst
字号:
1264 .LM197:
1265 0432 E32F mov r30,r19
1266 0434 FF27 clr r31
1267 0436 E050 subi r30,lo8(-(display_code))
1268 0438 F040 sbci r31,hi8(-(display_code))
1269 /* #APP */
1270 043a 8491 lpm r24, Z
1271
1272 /* #NOAPP */
1273 .LBE19:
1274 043c 8093 0000 sts display_buffer+7,r24
1275 /* epilogue: frame size=0 */
1276 0440 0895 ret
1277 /* epilogue end (size=1) */
1278 /* function display_timer size 77 (76) */
1298 .Lscope9:
1300 .global check_timer
1302 check_timer:
250:ds1302.c **** }
251:ds1302.c **** void check_timer(void)
252:ds1302.c **** {
1304 .LM198:
1305 /* prologue: frame size=0 */
1306 /* prologue end (size=0) */
253:ds1302.c **** if(timer0_hour) flag|=1<<timer0_available;
1308 .LM199:
1309 0442 E091 0000 lds r30,timer0_hour
1310 0446 EE23 tst r30
1311 0448 31F0 breq .L51
1313 .LM200:
1314 044a 8091 0000 lds r24,flag
1315 044e 8460 ori r24,lo8(4)
1316 0450 8093 0000 sts flag,r24
1317 0454 0BC0 rjmp .L52
1318 .L51:
254:ds1302.c **** else if(timer0_minute) flag|=1<<timer0_available;
1320 .LM201:
1321 0456 8091 0000 lds r24,timer0_minute
1322 045a 9091 0000 lds r25,flag
1323 045e 8823 tst r24
1324 0460 11F0 breq .L53
1325 0462 9460 ori r25,lo8(4)
1326 0464 01C0 rjmp .L93
1327 .L53:
255:ds1302.c **** else flag&=~(1<<timer0_available);
1329 .LM202:
1330 0466 9B7F andi r25,lo8(-5)
1331 .L93:
1332 0468 9093 0000 sts flag,r25
1333 .L52:
256:ds1302.c ****
257:ds1302.c **** if(timer1_hour) flag|=1<<timer1_available;
1335 .LM203:
1336 046c 7091 0000 lds r23,timer1_hour
1337 0470 7723 tst r23
1338 0472 31F0 breq .L55
1339 0474 8091 0000 lds r24,flag
1340 0478 8860 ori r24,lo8(8)
1341 047a 8093 0000 sts flag,r24
1342 047e 0BC0 rjmp .L56
1343 .L55:
258:ds1302.c **** else if(timer1_minute) flag|=1<<timer1_available;
1345 .LM204:
1346 0480 8091 0000 lds r24,timer1_minute
1347 0484 9091 0000 lds r25,flag
1348 0488 8823 tst r24
1349 048a 11F0 breq .L57
1350 048c 9860 ori r25,lo8(8)
1351 048e 01C0 rjmp .L94
1352 .L57:
259:ds1302.c **** else flag&=~(1<<timer1_available);
1354 .LM205:
1355 0490 977F andi r25,lo8(-9)
1356 .L94:
1357 0492 9093 0000 sts flag,r25
1358 .L56:
260:ds1302.c ****
261:ds1302.c **** if(timer2_hour) flag|=1<<timer2_available;
1360 .LM206:
1361 0496 6091 0000 lds r22,timer2_hour
1362 049a 6623 tst r22
1363 049c 31F0 breq .L59
1364 049e 8091 0000 lds r24,flag
1365 04a2 8061 ori r24,lo8(16)
1366 04a4 8093 0000 sts flag,r24
1367 04a8 0BC0 rjmp .L60
1368 .L59:
262:ds1302.c **** else if(timer2_minute) flag|=1<<timer2_available;
1370 .LM207:
1371 04aa 8091 0000 lds r24,timer2_minute
1372 04ae 9091 0000 lds r25,flag
1373 04b2 8823 tst r24
1374 04b4 11F0 breq .L61
1375 04b6 9061 ori r25,lo8(16)
1376 04b8 01C0 rjmp .L95
1377 .L61:
263:ds1302.c **** else flag&=~(1<<timer2_available);
1379 .LM208:
1380 04ba 9F7E andi r25,lo8(-17)
1381 .L95:
1382 04bc 9093 0000 sts flag,r25
1383 .L60:
264:ds1302.c ****
265:ds1302.c **** if(timer3_hour) flag|=1<<timer3_available;
1385 .LM209:
1386 04c0 5091 0000 lds r21,timer3_hour
1387 04c4 5523 tst r21
1388 04c6 31F0 breq .L63
1389 04c8 8091 0000 lds r24,flag
1390 04cc 8062 ori r24,lo8(32)
1391 04ce 8093 0000 sts flag,r24
1392 04d2 0BC0 rjmp .L64
1393 .L63:
266:ds1302.c **** else if(timer3_minute) flag|=1<<timer3_available;
1395 .LM210:
1396 04d4 8091 0000 lds r24,timer3_minute
1397 04d8 9091 0000 lds r25,flag
1398 04dc 8823 tst r24
1399 04de 11F0 breq .L65
1400 04e0 9062 ori r25,lo8(32)
1401 04e2 01C0 rjmp .L96
1402 .L65:
267:ds1302.c **** else flag&=~(1<<timer3_available);
1404 .LM211:
1405 04e4 9F7D andi r25,lo8(-33)
1406 .L96:
1407 04e6 9093 0000 sts flag,r25
1408 .L64:
268:ds1302.c ****
269:ds1302.c **** if(timer4_hour) flag|=1<<timer4_available;
1410 .LM212:
1411 04ea 4091 0000 lds r20,timer4_hour
1412 04ee 4423 tst r20
1413 04f0 31F0 breq .L67
1414 04f2 8091 0000 lds r24,flag
1415 04f6 8064 ori r24,lo8(64)
1416 04f8 8093 0000 sts flag,r24
1417 04fc 0BC0 rjmp .L68
1418 .L67:
270:ds1302.c **** else if(timer4_minute) flag|=1<<timer4_available;
1420 .LM213:
1421 04fe 8091 0000 lds r24,timer4_minute
1422 0502 9091 0000 lds r25,flag
1423 0506 8823 tst r24
1424 0508 11F0 breq .L69
1425 050a 9064 ori r25,lo8(64)
1426 050c 01C0 rjmp .L97
1427 .L69:
271:ds1302.c **** else flag&=~(1<<timer4_available);
1429 .LM214:
1430 050e 9F7B andi r25,lo8(-65)
1431 .L97:
1432 0510 9093 0000 sts flag,r25
1433 .L68:
272:ds1302.c ****
273:ds1302.c **** if(timer5_hour) flag|=1<<timer5_available;
1435 .LM215:
1436 0514 3091 0000 lds r19,timer5_hour
1437 0518 3323 tst r19
1438 051a 31F0 breq .L71
1439 051c 8091 0000 lds r24,flag
1440 0520 8068 ori r24,lo8(-128)
1441 0522 8093 0000 sts flag,r24
1442 0526 0BC0 rjmp .L72
1443 .L71:
274:ds1302.c **** else if(timer5_minute) flag|=1<<timer5_available;
1445 .LM216:
1446 0528 8091 0000 lds r24,timer5_minute
1447 052c 9091 0000 lds r25,flag
1448 0530 8823 tst r24
1449 0532 11F0 breq .L73
1450 0534 9068 ori r25,lo8(-128)
1451 0536 01C0 rjmp .L98
1452 .L73:
275:ds1302.c **** else flag&=~(1<<timer5_available);
1454 .LM217:
1455 0538 9F77 andi r25,lo8(127)
1456 .L98:
1457 053a 9093 0000 sts flag,r25
1458 .L72:
276:ds1302.c ****
277:ds1302.c **** if(flag&(1<<timer0_available))
1460 .LM218:
1461 053e 2091 0000 lds r18,flag
1462 0542 22FF sbrs r18,2
1463 0544 0DC0 rjmp .L75
278:ds1302.c **** {
279:ds1302.c **** if(timer0_hour==hour)
1465 .LM219:
1466 0546 8091 0000 lds r24,hour
1467 054a E817 cp r30,r24
1468 054c 49F4 brne .L75
280:ds1302.c **** {
281:ds1302.c **** if(timer0_minute==minute) flag|=1<<buzzer_flag;
1470 .LM220:
1471 054e 9091 0000 lds r25,timer0_minute
1472 0552 8091 0000 lds r24,minute
1473 0556 9817 cp r25,r24
1474 0558 19F4 brne .L75
1475 055a 2260 ori r18,lo8(2)
1476 055c 2093 0000 sts flag,r18
1477 .L75:
282:ds1302.c **** }
283:ds1302.c **** }
284:ds1302.c ****
285:ds1302.c **** if(flag&(1<<timer1_available))
1479 .LM221:
1480 0560 2091 0000 lds r18,flag
1481 0564 23FF sbrs r18,3
1482 0566 0DC0 rjmp .L78
286:ds1302.c **** {
287:ds1302.c **** if(timer1_hour==hour)
1484 .LM222:
1485 0568 8091 0000 lds r24,hour
1486 056c 7817 cp r23,r24
1487 056e 49F4 brne .L78
288:ds1302.c **** {
289:ds1302.c **** if(timer1_minute==minute) flag|=1<<buzzer_flag;
1489 .LM223:
1490 0570 9091 0000 lds r25,timer1_minute
1491 0574 8091 0000 lds r24,minute
1492 0578 9817 cp r25,r24
1493 057a 19F4 brne .L78
1494 057c 2260 ori r18,lo8(2)
1495 057e 2093 0000 sts flag,r18
1496 .L78:
290:ds1302.c **** }
291:ds1302.c **** }
292:ds1302.c ****
293:ds1302.c **** if(flag&(1<<timer2_available))
1498 .LM224:
1499 0582 2091 0000 lds r18,flag
1500 0586 24FF sbrs r18,4
1501 0588 0DC0 rjmp .L81
294:ds1302.c **** {
295:ds1302.c **** if(timer2_hour==hour)
1503 .LM225:
1504 058a 8091 0000 lds r24,hour
1505 058e 6817 cp r22,r24
1506 0590 49F4 brne .L81
296:ds1302.c **** {
297:ds1302.c **** if(timer2_minute==minute) flag|=1<<buzzer_flag;
1508 .LM226:
1509 0592 9091 0000 lds r25,timer2_minute
1510 0596 8091 0000 lds r24,minute
1511 059a 9817 cp r25,r24
1512 059c 19F4 brne .L81
1513 059e 2260 ori r18,lo8(2)
1514 05a0 2093 0000 sts flag,r18
1515 .L81:
298:ds1302.c **** }
299:ds1302.c **** }
300:ds1302.c ****
301:ds1302.c **** if(flag&(1<<timer3_available))
1517 .LM227:
1518 05a4 2091 0000 lds r18,flag
1519 05a8 25FF sbrs r18,5
1520 05aa 0DC0 rjmp .L84
302:ds1302.c **** {
303:ds1302.c **** if(timer3_hour==hour)
1522 .LM228:
1523 05ac 8091 0000 lds r24,hour
1524 05b0 5817 cp r21,r24
1525 05b2 49F4 brne .L84
304:ds1302.c **** {
305:ds1302.c **** if(timer3_minute==minute) flag|=1<<buzzer_flag;
1527 .LM229:
1528 05b4 9091 0000 lds r25,timer3_minute
1529 05b8 8091 0000 lds r24,minute
1530 05bc 9817 cp r25,r24
1531 05be 19F4 brne .L84
1532 05c0 2260 ori r18,lo8(2)
1533 05c2 2093 0000 sts flag,r18
1534 .L84:
306:ds1302.c **** }
307:ds1302.c **** }
308:ds1302.c ****
309:ds1302.c **** if(flag&(1<<timer4_available))
1536 .LM230:
1537 05c6 2091 0000 lds r18,flag
1538 05ca 26FF sbrs r18,6
1539 05cc 0DC0 rjmp .L87
310:ds1302.c **** {
311:ds1302.c **** if(timer4_hour==hour)
1541 .LM231:
1542 05ce 8091 0000 lds r24,hour
1543 05d2 4817 cp r20,r24
1544 05d4 49F4 brne .L87
312:ds1302.c **** {
313:ds1302.c **** if(timer4_minute==minute) flag|=1<<buzzer_flag;
1546 .LM232:
1547 05d6 9091 0000 lds r25,timer4_minute
1548 05da 8091 0000 lds r24,minute
1549 05de 9817 cp r25,r24
1550 05e0 19F4 brne .L87
1551 05e2 2260 ori r18,lo8(2)
1552 05e4 2093 0000 sts flag,r18
1553 .L87:
314:ds1302.c **** }
315:ds1302.c **** }
316:ds1302.c ****
317:ds1302.c **** if(flag&(1<<timer5_available))
1555 .LM233:
1556 05e8 2091 0000 lds r18,flag
1557 05ec 27FF sbrs r18,7
1558 05ee 0DC0 rjmp .L50
318:ds1302.c **** {
319:ds1302.c **** if(timer5_hour==hour)
1560 .LM234:
1561 05f0 8091 0000 lds r24,hour
1562 05f4 3817 cp r19,r24
1563 05f6 49F4 brne .L50
320:ds1302.c **** {
321:ds1302.c **** if(timer5_minute==minute) flag|=1<<buzzer_flag;
1565 .LM235:
1566 05f8 9091 0000 lds r25,timer5_minute
1567 05fc 8091 0000 lds r24,minute
1568 0600 9817 cp r25,r24
1569 0602 19F4 brne .L50
1570 0604 2260 ori r18,lo8(2)
1571 0606 2093 0000 sts flag,r18
1572 .L50:
1573 060a 0895 ret
1574 /* epilogue: frame size=0 */
1575 /* epilogue: noreturn */
1576 /* epilogue end (size=0) */
1577 /* function check_timer size 229 (229) */
1579 .Lscope10:
1580 .text
1582 Letext:
1583 /* File "ds1302.c": code 883 = 0x0373 ( 857), prologues 9, epilogues 17 */
DEFINED SYMBOLS
*ABS*:00000000 ds1302.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:96 .text:00000000 ds1302_write
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:284 .text:0000006a ds1302_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:476 .text:000000d6 check_ds1302
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:514 .text:000000f0 ds1302_read_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:563 .text:0000012a ds1302_write_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:632 .text:0000017c __vector_8
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:782 .text:00000256 display_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:941 .text:000002f2 display_date
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1078 .text:00000376 display_year
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1166 .text:000003c6 display_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1302 .text:00000442 check_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1582 .text:0000060c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
year
month
day
week
hour
minute
second
half_second
flash_var
flash_control
second_flag
flag
display_code
display_buffer
timer0_hour
timer0_minute
timer1_hour
timer1_minute
timer2_hour
timer2_minute
timer3_hour
timer3_minute
timer4_hour
timer4_minute
timer5_hour
timer5_minute
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -