📄 timers.lss
字号:
268: 19 d0 rcall .+50 ; 0x29c <lpm_inc>
26a: 0c 92 st X, r0
26c: 17 d0 rcall .+46 ; 0x29c <lpm_inc>
26e: 0e 92 st -X, r0
270: 40 e0 ldi r20, 0x00 ; 0
272: 40 e0 ldi r20, 0x00 ; 0
274: 51 e2 ldi r21, 0x21 ; 33
00000276 <PushRegisters>:
276: 4e 93 st -X, r20
278: 5a 95 dec r21
27a: e9 f7 brne .-6 ; 0x276 <PushRegisters>
27c: 11 97 sbiw r26, 0x01 ; 1
27e: 0e d0 rcall .+28 ; 0x29c <lpm_inc>
280: 80 2d mov r24, r0
282: 0c d0 rcall .+24 ; 0x29c <lpm_inc>
284: 90 2d mov r25, r0
286: 0a d0 rcall .+20 ; 0x29c <lpm_inc>
288: e8 2f mov r30, r24
28a: f9 2f mov r31, r25
28c: a4 83 std Z+4, r26 ; 0x04
28e: b5 83 std Z+5, r27 ; 0x05
290: 03 82 std Z+3, r0 ; 0x03
292: a0 e6 ldi r26, 0x60 ; 96
294: a2 83 std Z+2, r26 ; 0x02
296: 41 83 std Z+1, r20 ; 0x01
298: 40 83 st Z, r20
29a: 08 95 ret
0000029c <lpm_inc>:
29c: c8 95 lpm
29e: 31 96 adiw r30, 0x01 ; 1
2a0: 08 95 ret
000002a2 <AvrXResume>:
2a2: f8 94 cli
2a4: 48 df rcall .-368 ; 0x136 <IntProlog>
2a6: 78 94 sei
2a8: e8 2f mov r30, r24
2aa: f9 2f mov r31, r25
2ac: 22 81 ldd r18, Z+2 ; 0x02
2ae: 2f 7d andi r18, 0xDF ; 223
2b0: 22 83 std Z+2, r18 ; 0x02
2b2: 26 ff sbrs r18, 6
2b4: 03 c0 rjmp .+6 ; 0x2bc <ar00>
2b6: 2f 7b andi r18, 0xBF ; 191
2b8: 22 83 std Z+2, r18 ; 0x02
2ba: 01 d0 rcall .+2 ; 0x2be <_QueuePid>
000002bc <ar00>:
2bc: 8a cf rjmp .-236 ; 0x1d2 <_Epilog>
000002be <_QueuePid>:
2be: e8 2f mov r30, r24
2c0: f9 2f mov r31, r25
2c2: 3f ef ldi r19, 0xFF ; 255
2c4: 22 81 ldd r18, Z+2 ; 0x02
2c6: 20 73 andi r18, 0x30 ; 48
2c8: e1 f4 brne .+56 ; 0x302 <_qpSUSPEND>
2ca: cf 93 push r28
2cc: df 93 push r29
2ce: 43 81 ldd r20, Z+3 ; 0x03
2d0: c0 ed ldi r28, 0xD0 ; 208
2d2: d0 e0 ldi r29, 0x00 ; 0
2d4: 2f b7 in r18, 0x3f ; 63
2d6: f8 94 cli
000002d8 <_qp00>:
2d8: 33 95 inc r19
2da: ec 2f mov r30, r28
2dc: fd 2f mov r31, r29
2de: c0 81 ld r28, Z
2e0: d1 81 ldd r29, Z+1 ; 0x01
2e2: 20 96 adiw r28, 0x00 ; 0
2e4: 19 f0 breq .+6 ; 0x2ec <_qp01>
2e6: 5b 81 ldd r21, Y+3 ; 0x03
2e8: 45 17 cp r20, r21
2ea: b0 f7 brcc .-20 ; 0x2d8 <_qp00>
000002ec <_qp01>:
2ec: 91 83 std Z+1, r25 ; 0x01
2ee: 80 83 st Z, r24
2f0: f9 2f mov r31, r25
2f2: e8 2f mov r30, r24
2f4: d1 83 std Z+1, r29 ; 0x01
2f6: c0 83 st Z, r28
2f8: df 91 pop r29
2fa: cf 91 pop r28
2fc: 83 2f mov r24, r19
2fe: 2f bf out 0x3f, r18 ; 63
300: 08 95 ret
00000302 <_qpSUSPEND>:
302: 83 2f mov r24, r19
304: 20 64 ori r18, 0x40 ; 64
306: 22 83 std Z+2, r18 ; 0x02
308: 08 95 ret
0000030a <AvrXWaitMessageAck>:
30a: 8e 5f subi r24, 0xFE ; 254
30c: 9f 4f sbci r25, 0xFF ; 255
0000030e <AvrXWaitSemaphore>:
30e: e8 2f mov r30, r24
310: f9 2f mov r31, r25
312: f8 94 cli
314: 20 81 ld r18, Z
316: 31 81 ldd r19, Z+1 ; 0x01
318: 21 50 subi r18, 0x01 ; 1
31a: 30 40 sbci r19, 0x00 ; 0
31c: 19 f4 brne .+6 ; 0x324 <aws01>
31e: 20 83 st Z, r18
320: 31 83 std Z+1, r19 ; 0x01
322: 18 95 reti
00000324 <aws01>:
324: 08 df rcall .-496 ; 0x136 <IntProlog>
326: e0 ed ldi r30, 0xD0 ; 208
328: f0 e0 ldi r31, 0x00 ; 0
32a: 73 81 ldd r23, Z+3 ; 0x03
32c: 62 81 ldd r22, Z+2 ; 0x02
32e: 3c d0 rcall .+120 ; 0x3a8 <_RemoveObject>
330: e8 2f mov r30, r24
332: f9 2f mov r31, r25
334: 2b d0 rcall .+86 ; 0x38c <_AppendObject>
336: 4d cf rjmp .-358 ; 0x1d2 <_Epilog>
00000338 <AvrXAckMessage>:
338: 8e 5f subi r24, 0xFE ; 254
33a: 9f 4f sbci r25, 0xFF ; 255
0000033c <AvrXSetSemaphore>:
33c: 0c d0 rcall .+24 ; 0x356 <AvrXIntSetSemaphore>
33e: 90 91 d6 00 lds r25, 0x00D6
342: 93 95 inc r25
344: 89 2b or r24, r25
346: 09 f0 breq .+2 ; 0x34a <axss0>
348: 08 95 ret
0000034a <axss0>:
34a: f8 94 cli
34c: f4 de rcall .-536 ; 0x136 <IntProlog>
34e: 78 94 sei
350: 40 cf rjmp .-384 ; 0x1d2 <_Epilog>
00000352 <AvrXIntSetObjectSemaphore>:
352: 8e 5f subi r24, 0xFE ; 254
354: 9f 4f sbci r25, 0xFF ; 255
00000356 <AvrXIntSetSemaphore>:
356: e8 2f mov r30, r24
358: f9 2f mov r31, r25
35a: 81 e0 ldi r24, 0x01 ; 1
35c: 90 e0 ldi r25, 0x00 ; 0
35e: 2f b7 in r18, 0x3f ; 63
360: f8 94 cli
362: 71 81 ldd r23, Z+1 ; 0x01
364: 60 81 ld r22, Z
366: 86 17 cp r24, r22
368: 97 07 cpc r25, r23
36a: 28 f0 brcs .+10 ; 0x376 <aiss00>
36c: 80 83 st Z, r24
36e: 91 83 std Z+1, r25 ; 0x01
00000370 <BogusSemaphore>:
370: 8f ef ldi r24, 0xFF ; 255
372: 2f bf out 0x3f, r18 ; 63
374: 08 95 ret
00000376 <aiss00>:
376: 8f e5 ldi r24, 0x5F ; 95
378: 86 17 cp r24, r22
37a: 97 07 cpc r25, r23
37c: c8 f7 brcc .-14 ; 0x370 <BogusSemaphore>
37e: 23 d0 rcall .+70 ; 0x3c6 <_RemoveObjectAt>
380: 2f bf out 0x3f, r18 ; 63
382: 86 2f mov r24, r22
384: 97 2f mov r25, r23
386: 9b cf rjmp .-202 ; 0x2be <_QueuePid>
00000388 <_ao00>:
388: e2 2f mov r30, r18
38a: f3 2f mov r31, r19
0000038c <_AppendObject>:
38c: 20 81 ld r18, Z
38e: 31 81 ldd r19, Z+1 ; 0x01
390: 20 50 subi r18, 0x00 ; 0
392: 30 40 sbci r19, 0x00 ; 0
394: c9 f7 brne .-14 ; 0x388 <_ao00>
396: 71 83 std Z+1, r23 ; 0x01
398: 60 83 st Z, r22
39a: f7 2f mov r31, r23
39c: e6 2f mov r30, r22
39e: 31 83 std Z+1, r19 ; 0x01
3a0: 20 83 st Z, r18
3a2: 08 95 ret
000003a4 <_ro00>:
3a4: f3 2f mov r31, r19
3a6: e2 2f mov r30, r18
000003a8 <_RemoveObject>:
3a8: 20 81 ld r18, Z
3aa: 31 81 ldd r19, Z+1 ; 0x01
3ac: 62 17 cp r22, r18
3ae: 73 07 cpc r23, r19
3b0: 51 f0 breq .+20 ; 0x3c6 <_RemoveObjectAt>
3b2: 20 50 subi r18, 0x00 ; 0
3b4: 30 40 sbci r19, 0x00 ; 0
3b6: b1 f7 brne .-20 ; 0x3a4 <_ro00>
3b8: 08 95 ret
000003ba <_RemoveFirstObject>:
3ba: 60 81 ld r22, Z
3bc: 71 81 ldd r23, Z+1 ; 0x01
3be: 60 50 subi r22, 0x00 ; 0
3c0: 70 40 sbci r23, 0x00 ; 0
3c2: 09 f4 brne .+2 ; 0x3c6 <_RemoveObjectAt>
3c4: 08 95 ret
000003c6 <_RemoveObjectAt>:
3c6: 4c 2f mov r20, r28
3c8: 5d 2f mov r21, r29
3ca: c6 2f mov r28, r22
3cc: d7 2f mov r29, r23
3ce: 79 81 ldd r23, Y+1 ; 0x01
3d0: 68 81 ld r22, Y
3d2: 71 83 std Z+1, r23 ; 0x01
3d4: 60 83 st Z, r22
3d6: e6 2f mov r30, r22
3d8: f7 2f mov r31, r23
3da: 66 27 eor r22, r22
3dc: 68 83 st Y, r22
3de: 69 83 std Y+1, r22 ; 0x01
3e0: 7d 2f mov r23, r29
3e2: 6c 2f mov r22, r28
3e4: c4 2f mov r28, r20
3e6: d5 2f mov r29, r21
3e8: 98 94 clz
3ea: 08 95 ret
000003ec <AvrXDelay>:
3ec: 01 d0 rcall .+2 ; 0x3f0 <AvrXStartTimer>
3ee: 8d cf rjmp .-230 ; 0x30a <AvrXWaitMessageAck>
000003f0 <AvrXStartTimer>:
3f0: 60 50 subi r22, 0x00 ; 0
3f2: 70 40 sbci r23, 0x00 ; 0
3f4: 09 f4 brne .+2 ; 0x3f8 <CountNotZero>
3f6: a0 cf rjmp .-192 ; 0x338 <AvrXAckMessage>
000003f8 <CountNotZero>:
3f8: f8 94 cli
3fa: 9d de rcall .-710 ; 0x136 <IntProlog>
3fc: 78 94 sei
3fe: 68 d0 rcall .+208 ; 0x4d0 <AvrXIntResetObjectSemaphore>
400: e8 ed ldi r30, 0xD8 ; 216
402: f0 e0 ldi r31, 0x00 ; 0
404: f8 94 cli
406: 20 91 da 00 lds r18, 0x00DA
40a: 2a 95 dec r18
40c: 20 93 da 00 sts 0x00DA, r18
410: 78 94 sei
00000412 <ast00>:
412: ce 2f mov r28, r30
414: df 2f mov r29, r31
416: e8 81 ld r30, Y
418: f9 81 ldd r31, Y+1 ; 0x01
41a: 30 96 adiw r30, 0x00 ; 0
41c: 59 f0 breq .+22 ; 0x434 <ast01>
41e: 24 81 ldd r18, Z+4 ; 0x04
420: 35 81 ldd r19, Z+5 ; 0x05
422: 62 1b sub r22, r18
424: 73 0b sbc r23, r19
426: a8 f7 brcc .-22 ; 0x412 <ast00>
428: 62 0f add r22, r18
42a: 73 1f adc r23, r19
42c: 26 1b sub r18, r22
42e: 37 0b sbc r19, r23
430: 24 83 std Z+4, r18 ; 0x04
432: 35 83 std Z+5, r19 ; 0x05
00000434 <ast01>:
434: 99 83 std Y+1, r25 ; 0x01
436: 88 83 st Y, r24
438: d9 2f mov r29, r25
43a: c8 2f mov r28, r24
43c: f9 83 std Y+1, r31 ; 0x01
43e: e8 83 st Y, r30
440: 6c 83 std Y+4, r22 ; 0x04
442: 7d 83 std Y+5, r23 ; 0x05
444: 3c d0 rcall .+120 ; 0x4be <TimerHandler>
446: c5 ce rjmp .-630 ; 0x1d2 <_Epilog>
00000448 <AvrXTimerHandler>:
448: f8 94 cli
44a: 20 91 da 00 lds r18, 0x00DA
44e: 21 50 subi r18, 0x01 ; 1
450: 20 93 da 00 sts 0x00DA, r18
454: 78 94 sei
456: 08 f0 brcs .+2 ; 0x45a <ati00>
458: 08 95 ret
0000045a <ati00>:
45a: cf 93 push r28
45c: df 93 push r29
45e: af 93 push r26
460: bf 93 push r27
462: d0 91 d9 00 lds r29, 0x00D9
466: c0 91 d8 00 lds r28, 0x00D8
46a: 20 96 adiw r28, 0x00 ; 0
46c: 21 f1 breq .+72 ; 0x4b6 <ati02>
46e: fd 81 ldd r31, Y+5 ; 0x05
470: ec 81 ldd r30, Y+4 ; 0x04
472: 31 97 sbiw r30, 0x01 ; 1
474: fd 83 std Y+5, r31 ; 0x05
476: ec 83 std Y+4, r30 ; 0x04
00000478 <ati01>:
478: ef 2b or r30, r31
47a: e9 f4 brne .+58 ; 0x4b6 <ati02>
47c: a8 81 ld r26, Y
47e: b9 81 ldd r27, Y+1 ; 0x01
480: b0 93 d9 00 sts 0x00D9, r27
484: a0 93 d8 00 sts 0x00D8, r26
488: f9 83 std Y+1, r31 ; 0x01
48a: e8 83 st Y, r30
48c: 8a 81 ldd r24, Y+2 ; 0x02
48e: 9b 81 ldd r25, Y+3 ; 0x03
490: 82 50 subi r24, 0x02 ; 2
492: 90 40 sbci r25, 0x00 ; 0
494: 31 f4 brne .+12 ; 0x4a2 <ati04>
496: 8e 81 ldd r24, Y+6 ; 0x06
498: 9f 81 ldd r25, Y+7 ; 0x07
49a: 7d 2f mov r23, r29
49c: 6c 2f mov r22, r28
49e: 2e d0 rcall .+92 ; 0x4fc <AvrXIntSendMessage>
4a0: 03 c0 rjmp .+6 ; 0x4a8 <ati03>
000004a2 <ati04>:
4a2: 8c 2f mov r24, r28
4a4: 9d 2f mov r25, r29
4a6: 55 df rcall .-342 ; 0x352 <AvrXIntSetObjectSemaphore>
000004a8 <ati03>:
4a8: 10 96 adiw r26, 0x00 ; 0
4aa: 29 f0 breq .+10 ; 0x4b6 <ati02>
4ac: ca 2f mov r28, r26
4ae: db 2f mov r29, r27
4b0: fd 81 ldd r31, Y+5 ; 0x05
4b2: ec 81 ldd r30, Y+4 ; 0x04
4b4: e1 cf rjmp .-62 ; 0x478 <ati01>
000004b6 <ati02>:
4b6: bf 91 pop r27
4b8: af 91 pop r26
4ba: df 91 pop r29
4bc: cf 91 pop r28
000004be <TimerHandler>:
4be: f8 94 cli
4c0: 20 91 da 00 lds r18, 0x00DA
4c4: 23 95 inc r18
4c6: 20 93 da 00 sts 0x00DA, r18
4ca: 78 94 sei
4cc: 31 f6 brne .-116 ; 0x45a <ati00>
4ce: 08 95 ret
000004d0 <AvrXIntResetObjectSemaphore>:
4d0: e8 2f mov r30, r24
4d2: f9 2f mov r31, r25
4d4: 32 96 adiw r30, 0x02 ; 2
4d6: 02 c0 rjmp .+4 ; 0x4dc <ars00>
000004d8 <AvrXIntResetSemaphore>:
4d8: f9 2f mov r31, r25
4da: e8 2f mov r30, r24
000004dc <ars00>:
4dc: f8 94 cli
4de: 40 81 ld r20, Z
4e0: 51 81 ldd r21, Z+1 ; 0x01
4e2: 41 50 subi r20, 0x01 ; 1
4e4: 50 40 sbci r21, 0x00 ; 0
4e6: 11 f0 breq .+4 ; 0x4ec <ars01>
4e8: 4f 5f subi r20, 0xFF ; 255
4ea: 5f 4f sbci r21, 0xFF ; 255
000004ec <ars01>:
4ec: 51 83 std Z+1, r21 ; 0x01
4ee: 40 83 st Z, r20
4f0: 18 95 reti
000004f2 <AvrXSendMessage>:
4f2: f8 94 cli
4f4: 20 de rcall .-960 ; 0x136 <IntProlog>
4f6: 78 94 sei
4f8: 01 d0 rcall .+2 ; 0x4fc <AvrXIntSendMessage>
4fa: 6b ce rjmp .-810 ; 0x1d2 <_Epilog>
000004fc <AvrXIntSendMessage>:
4fc: f9 2f mov r31, r25
4fe: e8 2f mov r30, r24
500: 45 df rcall .-374 ; 0x38c <_AppendObject>
502: 27 cf rjmp .-434 ; 0x352 <AvrXIntSetObjectSemaphore>
00000504 <AvrXWaitMessage>:
504: e8 2f mov r30, r24
506: f9 2f mov r31, r25
508: f8 94 cli
50a: 57 df rcall .-338 ; 0x3ba <_RemoveFirstObject>
50c: 78 94 sei
50e: 21 f4 brne .+8 ; 0x518 <_rm01>
510: fc de rcall .-520 ; 0x30a <AvrXWaitMessageAck>
512: 82 50 subi r24, 0x02 ; 2
514: 90 40 sbci r25, 0x00 ; 0
516: f6 cf rjmp .-20 ; 0x504 <AvrXWaitMessage>
00000518 <_rm01>:
518: db df rcall .-74 ; 0x4d0 <AvrXIntResetObjectSemaphore>
51a: 86 2f mov r24, r22
51c: 97 2f mov r25, r23
51e: 08 95 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -