📄 ds1302.lst
字号:
1244 .LM197:
1245 0434 E32F mov r30,r19
1246 0436 FF27 clr r31
1247 0438 E050 subi r30,lo8(-(display_code))
1248 043a F040 sbci r31,hi8(-(display_code))
1249 /* #APP */
1250 043c 8491 lpm r24, Z
1251
1252 /* #NOAPP */
1253 .LBE19:
1254 043e 8093 0000 sts display_buffer+7,r24
1255 /* epilogue: frame size=0 */
1256 0442 0895 ret
1257 /* epilogue end (size=1) */
1258 /* function display_timer size 77 (76) */
1278 .Lscope9:
1280 .global check_timer
1282 check_timer:
250:ds1302.c **** }
251:ds1302.c **** void check_timer(void)
252:ds1302.c **** {
1284 .LM198:
1285 /* prologue: frame size=0 */
1286 /* prologue end (size=0) */
253:ds1302.c **** if(timer0_hour) flag|=1<<timer0_available;
1288 .LM199:
1289 0444 E091 0000 lds r30,timer0_hour
1290 0448 EE23 tst r30
1291 044a 31F0 breq .L51
1293 .LM200:
1294 044c 8091 0000 lds r24,flag
1295 0450 8460 ori r24,lo8(4)
1296 0452 8093 0000 sts flag,r24
1297 0456 0BC0 rjmp .L52
1298 .L51:
254:ds1302.c **** else if(timer0_minute) flag|=1<<timer0_available;
1300 .LM201:
1301 0458 8091 0000 lds r24,timer0_minute
1302 045c 9091 0000 lds r25,flag
1303 0460 8823 tst r24
1304 0462 11F0 breq .L53
1305 0464 9460 ori r25,lo8(4)
1306 0466 01C0 rjmp .L93
1307 .L53:
255:ds1302.c **** else flag&=~(1<<timer0_available);
1309 .LM202:
1310 0468 9B7F andi r25,lo8(-5)
1311 .L93:
1312 046a 9093 0000 sts flag,r25
1313 .L52:
256:ds1302.c ****
257:ds1302.c **** if(timer1_hour) flag|=1<<timer1_available;
1315 .LM203:
1316 046e 7091 0000 lds r23,timer1_hour
1317 0472 7723 tst r23
1318 0474 31F0 breq .L55
1319 0476 8091 0000 lds r24,flag
1320 047a 8860 ori r24,lo8(8)
1321 047c 8093 0000 sts flag,r24
1322 0480 0BC0 rjmp .L56
1323 .L55:
258:ds1302.c **** else if(timer1_minute) flag|=1<<timer1_available;
1325 .LM204:
1326 0482 8091 0000 lds r24,timer1_minute
1327 0486 9091 0000 lds r25,flag
1328 048a 8823 tst r24
1329 048c 11F0 breq .L57
1330 048e 9860 ori r25,lo8(8)
1331 0490 01C0 rjmp .L94
1332 .L57:
259:ds1302.c **** else flag&=~(1<<timer1_available);
1334 .LM205:
1335 0492 977F andi r25,lo8(-9)
1336 .L94:
1337 0494 9093 0000 sts flag,r25
1338 .L56:
260:ds1302.c ****
261:ds1302.c **** if(timer2_hour) flag|=1<<timer2_available;
1340 .LM206:
1341 0498 6091 0000 lds r22,timer2_hour
1342 049c 6623 tst r22
1343 049e 31F0 breq .L59
1344 04a0 8091 0000 lds r24,flag
1345 04a4 8061 ori r24,lo8(16)
1346 04a6 8093 0000 sts flag,r24
1347 04aa 0BC0 rjmp .L60
1348 .L59:
262:ds1302.c **** else if(timer2_minute) flag|=1<<timer2_available;
1350 .LM207:
1351 04ac 8091 0000 lds r24,timer2_minute
1352 04b0 9091 0000 lds r25,flag
1353 04b4 8823 tst r24
1354 04b6 11F0 breq .L61
1355 04b8 9061 ori r25,lo8(16)
1356 04ba 01C0 rjmp .L95
1357 .L61:
263:ds1302.c **** else flag&=~(1<<timer2_available);
1359 .LM208:
1360 04bc 9F7E andi r25,lo8(-17)
1361 .L95:
1362 04be 9093 0000 sts flag,r25
1363 .L60:
264:ds1302.c ****
265:ds1302.c **** if(timer3_hour) flag|=1<<timer3_available;
1365 .LM209:
1366 04c2 5091 0000 lds r21,timer3_hour
1367 04c6 5523 tst r21
1368 04c8 31F0 breq .L63
1369 04ca 8091 0000 lds r24,flag
1370 04ce 8062 ori r24,lo8(32)
1371 04d0 8093 0000 sts flag,r24
1372 04d4 0BC0 rjmp .L64
1373 .L63:
266:ds1302.c **** else if(timer3_minute) flag|=1<<timer3_available;
1375 .LM210:
1376 04d6 8091 0000 lds r24,timer3_minute
1377 04da 9091 0000 lds r25,flag
1378 04de 8823 tst r24
1379 04e0 11F0 breq .L65
1380 04e2 9062 ori r25,lo8(32)
1381 04e4 01C0 rjmp .L96
1382 .L65:
267:ds1302.c **** else flag&=~(1<<timer3_available);
1384 .LM211:
1385 04e6 9F7D andi r25,lo8(-33)
1386 .L96:
1387 04e8 9093 0000 sts flag,r25
1388 .L64:
268:ds1302.c ****
269:ds1302.c **** if(timer4_hour) flag|=1<<timer4_available;
1390 .LM212:
1391 04ec 4091 0000 lds r20,timer4_hour
1392 04f0 4423 tst r20
1393 04f2 31F0 breq .L67
1394 04f4 8091 0000 lds r24,flag
1395 04f8 8064 ori r24,lo8(64)
1396 04fa 8093 0000 sts flag,r24
1397 04fe 0BC0 rjmp .L68
1398 .L67:
270:ds1302.c **** else if(timer4_minute) flag|=1<<timer4_available;
1400 .LM213:
1401 0500 8091 0000 lds r24,timer4_minute
1402 0504 9091 0000 lds r25,flag
1403 0508 8823 tst r24
1404 050a 11F0 breq .L69
1405 050c 9064 ori r25,lo8(64)
1406 050e 01C0 rjmp .L97
1407 .L69:
271:ds1302.c **** else flag&=~(1<<timer4_available);
1409 .LM214:
1410 0510 9F7B andi r25,lo8(-65)
1411 .L97:
1412 0512 9093 0000 sts flag,r25
1413 .L68:
272:ds1302.c ****
273:ds1302.c **** if(timer5_hour) flag|=1<<timer5_available;
1415 .LM215:
1416 0516 3091 0000 lds r19,timer5_hour
1417 051a 3323 tst r19
1418 051c 31F0 breq .L71
1419 051e 8091 0000 lds r24,flag
1420 0522 8068 ori r24,lo8(-128)
1421 0524 8093 0000 sts flag,r24
1422 0528 0BC0 rjmp .L72
1423 .L71:
274:ds1302.c **** else if(timer5_minute) flag|=1<<timer5_available;
1425 .LM216:
1426 052a 8091 0000 lds r24,timer5_minute
1427 052e 9091 0000 lds r25,flag
1428 0532 8823 tst r24
1429 0534 11F0 breq .L73
1430 0536 9068 ori r25,lo8(-128)
1431 0538 01C0 rjmp .L98
1432 .L73:
275:ds1302.c **** else flag&=~(1<<timer5_available);
1434 .LM217:
1435 053a 9F77 andi r25,lo8(127)
1436 .L98:
1437 053c 9093 0000 sts flag,r25
1438 .L72:
276:ds1302.c ****
277:ds1302.c **** if(flag&(1<<timer0_available))
1440 .LM218:
1441 0540 2091 0000 lds r18,flag
1442 0544 22FF sbrs r18,2
1443 0546 0DC0 rjmp .L75
278:ds1302.c **** {
279:ds1302.c **** if(timer0_hour==hour)
1445 .LM219:
1446 0548 8091 0000 lds r24,hour
1447 054c E817 cp r30,r24
1448 054e 49F4 brne .L75
280:ds1302.c **** {
281:ds1302.c **** if(timer0_minute==minute) flag|=1<<buzzer_flag;
1450 .LM220:
1451 0550 9091 0000 lds r25,timer0_minute
1452 0554 8091 0000 lds r24,minute
1453 0558 9817 cp r25,r24
1454 055a 19F4 brne .L75
1455 055c 2260 ori r18,lo8(2)
1456 055e 2093 0000 sts flag,r18
1457 .L75:
282:ds1302.c **** }
283:ds1302.c **** }
284:ds1302.c ****
285:ds1302.c **** if(flag&(1<<timer1_available))
1459 .LM221:
1460 0562 2091 0000 lds r18,flag
1461 0566 23FF sbrs r18,3
1462 0568 0DC0 rjmp .L78
286:ds1302.c **** {
287:ds1302.c **** if(timer1_hour==hour)
1464 .LM222:
1465 056a 8091 0000 lds r24,hour
1466 056e 7817 cp r23,r24
1467 0570 49F4 brne .L78
288:ds1302.c **** {
289:ds1302.c **** if(timer1_minute==minute) flag|=1<<buzzer_flag;
1469 .LM223:
1470 0572 9091 0000 lds r25,timer1_minute
1471 0576 8091 0000 lds r24,minute
1472 057a 9817 cp r25,r24
1473 057c 19F4 brne .L78
1474 057e 2260 ori r18,lo8(2)
1475 0580 2093 0000 sts flag,r18
1476 .L78:
290:ds1302.c **** }
291:ds1302.c **** }
292:ds1302.c ****
293:ds1302.c **** if(flag&(1<<timer2_available))
1478 .LM224:
1479 0584 2091 0000 lds r18,flag
1480 0588 24FF sbrs r18,4
1481 058a 0DC0 rjmp .L81
294:ds1302.c **** {
295:ds1302.c **** if(timer2_hour==hour)
1483 .LM225:
1484 058c 8091 0000 lds r24,hour
1485 0590 6817 cp r22,r24
1486 0592 49F4 brne .L81
296:ds1302.c **** {
297:ds1302.c **** if(timer2_minute==minute) flag|=1<<buzzer_flag;
1488 .LM226:
1489 0594 9091 0000 lds r25,timer2_minute
1490 0598 8091 0000 lds r24,minute
1491 059c 9817 cp r25,r24
1492 059e 19F4 brne .L81
1493 05a0 2260 ori r18,lo8(2)
1494 05a2 2093 0000 sts flag,r18
1495 .L81:
298:ds1302.c **** }
299:ds1302.c **** }
300:ds1302.c ****
301:ds1302.c **** if(flag&(1<<timer3_available))
1497 .LM227:
1498 05a6 2091 0000 lds r18,flag
1499 05aa 25FF sbrs r18,5
1500 05ac 0DC0 rjmp .L84
302:ds1302.c **** {
303:ds1302.c **** if(timer3_hour==hour)
1502 .LM228:
1503 05ae 8091 0000 lds r24,hour
1504 05b2 5817 cp r21,r24
1505 05b4 49F4 brne .L84
304:ds1302.c **** {
305:ds1302.c **** if(timer3_minute==minute) flag|=1<<buzzer_flag;
1507 .LM229:
1508 05b6 9091 0000 lds r25,timer3_minute
1509 05ba 8091 0000 lds r24,minute
1510 05be 9817 cp r25,r24
1511 05c0 19F4 brne .L84
1512 05c2 2260 ori r18,lo8(2)
1513 05c4 2093 0000 sts flag,r18
1514 .L84:
306:ds1302.c **** }
307:ds1302.c **** }
308:ds1302.c ****
309:ds1302.c **** if(flag&(1<<timer4_available))
1516 .LM230:
1517 05c8 2091 0000 lds r18,flag
1518 05cc 26FF sbrs r18,6
1519 05ce 0DC0 rjmp .L87
310:ds1302.c **** {
311:ds1302.c **** if(timer4_hour==hour)
1521 .LM231:
1522 05d0 8091 0000 lds r24,hour
1523 05d4 4817 cp r20,r24
1524 05d6 49F4 brne .L87
312:ds1302.c **** {
313:ds1302.c **** if(timer4_minute==minute) flag|=1<<buzzer_flag;
1526 .LM232:
1527 05d8 9091 0000 lds r25,timer4_minute
1528 05dc 8091 0000 lds r24,minute
1529 05e0 9817 cp r25,r24
1530 05e2 19F4 brne .L87
1531 05e4 2260 ori r18,lo8(2)
1532 05e6 2093 0000 sts flag,r18
1533 .L87:
314:ds1302.c **** }
315:ds1302.c **** }
316:ds1302.c ****
317:ds1302.c **** if(flag&(1<<timer5_available))
1535 .LM233:
1536 05ea 2091 0000 lds r18,flag
1537 05ee 27FF sbrs r18,7
1538 05f0 0DC0 rjmp .L50
318:ds1302.c **** {
319:ds1302.c **** if(timer5_hour==hour)
1540 .LM234:
1541 05f2 8091 0000 lds r24,hour
1542 05f6 3817 cp r19,r24
1543 05f8 49F4 brne .L50
320:ds1302.c **** {
321:ds1302.c **** if(timer5_minute==minute) flag|=1<<buzzer_flag;
1545 .LM235:
1546 05fa 9091 0000 lds r25,timer5_minute
1547 05fe 8091 0000 lds r24,minute
1548 0602 9817 cp r25,r24
1549 0604 19F4 brne .L50
1550 0606 2260 ori r18,lo8(2)
1551 0608 2093 0000 sts flag,r18
1552 .L50:
1553 060c 0895 ret
1554 /* epilogue: frame size=0 */
1555 060e 0895 ret
1556 /* epilogue end (size=1) */
1557 /* function check_timer size 230 (229) */
1559 .Lscope10:
1560 .text
1562 Letext:
1563 /* File "ds1302.c": code 885 = 0x0375 ( 857), prologues 9, epilogues 19 */
DEFINED SYMBOLS
*ABS*:00000000 ds1302.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:76 .text:00000000 ds1302_write
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:264 .text:0000006a ds1302_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:456 .text:000000d6 check_ds1302
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:494 .text:000000f2 ds1302_read_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:543 .text:0000012c ds1302_write_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:612 .text:0000017e __vector_8
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:762 .text:00000258 display_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:921 .text:000002f4 display_date
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1058 .text:00000378 display_year
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1146 .text:000003c8 display_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1282 .text:00000444 check_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1562 .text:00000610 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 + -