📄 avrx.lss
字号:
4a6: 20 73 andi r18, 0x30 ; 48
4a8: e1 f4 brne .+56 ; 0x4e2 <_qpSUSPEND>
4aa: cf 93 push r28
4ac: df 93 push r29
4ae: 43 81 ldd r20, Z+3 ; 0x03
4b0: c8 e3 ldi r28, 0x38 ; 56
4b2: d2 e0 ldi r29, 0x02 ; 2
4b4: 2f b7 in r18, 0x3f ; 63
4b6: f8 94 cli
000004b8 <_qp00>:
4b8: 33 95 inc r19
4ba: ec 2f mov r30, r28
4bc: fd 2f mov r31, r29
4be: c0 81 ld r28, Z
4c0: d1 81 ldd r29, Z+1 ; 0x01
4c2: 20 96 adiw r28, 0x00 ; 0
4c4: 19 f0 breq .+6 ; 0x4cc <_qp01>
4c6: 5b 81 ldd r21, Y+3 ; 0x03
4c8: 45 17 cp r20, r21
4ca: b0 f7 brcc .-20 ; 0x4b8 <_qp00>
000004cc <_qp01>:
4cc: 91 83 std Z+1, r25 ; 0x01
4ce: 80 83 st Z, r24
4d0: f9 2f mov r31, r25
4d2: e8 2f mov r30, r24
4d4: d1 83 std Z+1, r29 ; 0x01
4d6: c0 83 st Z, r28
4d8: df 91 pop r29
4da: cf 91 pop r28
4dc: 83 2f mov r24, r19
4de: 2f bf out 0x3f, r18 ; 63
4e0: 08 95 ret
000004e2 <_qpSUSPEND>:
4e2: 83 2f mov r24, r19
4e4: 20 64 ori r18, 0x40 ; 64
4e6: 22 83 std Z+2, r18 ; 0x02
4e8: 08 95 ret
000004ea <AvrXDelay>:
4ea: 01 d0 rcall .+2 ; 0x4ee <AvrXStartTimer>
4ec: 70 c0 rjmp .+224 ; 0x5ce <AvrXWaitMessageAck>
000004ee <AvrXStartTimer>:
4ee: 60 50 subi r22, 0x00 ; 0
4f0: 70 40 sbci r23, 0x00 ; 0
4f2: 09 f4 brne .+2 ; 0x4f6 <CountNotZero>
4f4: 83 c0 rjmp .+262 ; 0x5fc <AvrXAckMessage>
000004f6 <CountNotZero>:
4f6: f8 94 cli
4f8: 0e df rcall .-484 ; 0x316 <IntProlog>
4fa: 78 94 sei
4fc: d9 d0 rcall .+434 ; 0x6b0 <AvrXIntResetObjectSemaphore>
4fe: e0 e4 ldi r30, 0x40 ; 64
500: f2 e0 ldi r31, 0x02 ; 2
502: f8 94 cli
504: 20 91 42 02 lds r18, 0x0242
508: 2a 95 dec r18
50a: 20 93 42 02 sts 0x0242, r18
50e: 78 94 sei
00000510 <ast00>:
510: ce 2f mov r28, r30
512: df 2f mov r29, r31
514: e8 81 ld r30, Y
516: f9 81 ldd r31, Y+1 ; 0x01
518: 30 96 adiw r30, 0x00 ; 0
51a: 59 f0 breq .+22 ; 0x532 <ast01>
51c: 24 81 ldd r18, Z+4 ; 0x04
51e: 35 81 ldd r19, Z+5 ; 0x05
520: 62 1b sub r22, r18
522: 73 0b sbc r23, r19
524: a8 f7 brcc .-22 ; 0x510 <ast00>
526: 62 0f add r22, r18
528: 73 1f adc r23, r19
52a: 26 1b sub r18, r22
52c: 37 0b sbc r19, r23
52e: 24 83 std Z+4, r18 ; 0x04
530: 35 83 std Z+5, r19 ; 0x05
00000532 <ast01>:
532: 99 83 std Y+1, r25 ; 0x01
534: 88 83 st Y, r24
536: d9 2f mov r29, r25
538: c8 2f mov r28, r24
53a: f9 83 std Y+1, r31 ; 0x01
53c: e8 83 st Y, r30
53e: 6c 83 std Y+4, r22 ; 0x04
540: 7d 83 std Y+5, r23 ; 0x05
542: 3c d0 rcall .+120 ; 0x5bc <TimerHandler>
544: 36 cf rjmp .-404 ; 0x3b2 <_Epilog>
00000546 <AvrXTimerHandler>:
546: f8 94 cli
548: 20 91 42 02 lds r18, 0x0242
54c: 21 50 subi r18, 0x01 ; 1
54e: 20 93 42 02 sts 0x0242, r18
552: 78 94 sei
554: 08 f0 brcs .+2 ; 0x558 <ati00>
556: 08 95 ret
00000558 <ati00>:
558: cf 93 push r28
55a: df 93 push r29
55c: af 93 push r26
55e: bf 93 push r27
560: d0 91 41 02 lds r29, 0x0241
564: c0 91 40 02 lds r28, 0x0240
568: 20 96 adiw r28, 0x00 ; 0
56a: 21 f1 breq .+72 ; 0x5b4 <ati02>
56c: fd 81 ldd r31, Y+5 ; 0x05
56e: ec 81 ldd r30, Y+4 ; 0x04
570: 31 97 sbiw r30, 0x01 ; 1
572: fd 83 std Y+5, r31 ; 0x05
574: ec 83 std Y+4, r30 ; 0x04
00000576 <ati01>:
576: ef 2b or r30, r31
578: e9 f4 brne .+58 ; 0x5b4 <ati02>
57a: a8 81 ld r26, Y
57c: b9 81 ldd r27, Y+1 ; 0x01
57e: b0 93 41 02 sts 0x0241, r27
582: a0 93 40 02 sts 0x0240, r26
586: f9 83 std Y+1, r31 ; 0x01
588: e8 83 st Y, r30
58a: 8a 81 ldd r24, Y+2 ; 0x02
58c: 9b 81 ldd r25, Y+3 ; 0x03
58e: 82 50 subi r24, 0x02 ; 2
590: 90 40 sbci r25, 0x00 ; 0
592: 31 f4 brne .+12 ; 0x5a0 <ati04>
594: 8e 81 ldd r24, Y+6 ; 0x06
596: 9f 81 ldd r25, Y+7 ; 0x07
598: 7d 2f mov r23, r29
59a: 6c 2f mov r22, r28
59c: 9f d0 rcall .+318 ; 0x6dc <AvrXIntSendMessage>
59e: 03 c0 rjmp .+6 ; 0x5a6 <ati03>
000005a0 <ati04>:
5a0: 8c 2f mov r24, r28
5a2: 9d 2f mov r25, r29
5a4: 38 d0 rcall .+112 ; 0x616 <AvrXIntSetObjectSemaphore>
000005a6 <ati03>:
5a6: 10 96 adiw r26, 0x00 ; 0
5a8: 29 f0 breq .+10 ; 0x5b4 <ati02>
5aa: ca 2f mov r28, r26
5ac: db 2f mov r29, r27
5ae: fd 81 ldd r31, Y+5 ; 0x05
5b0: ec 81 ldd r30, Y+4 ; 0x04
5b2: e1 cf rjmp .-62 ; 0x576 <ati01>
000005b4 <ati02>:
5b4: bf 91 pop r27
5b6: af 91 pop r26
5b8: df 91 pop r29
5ba: cf 91 pop r28
000005bc <TimerHandler>:
5bc: f8 94 cli
5be: 20 91 42 02 lds r18, 0x0242
5c2: 23 95 inc r18
5c4: 20 93 42 02 sts 0x0242, r18
5c8: 78 94 sei
5ca: 31 f6 brne .-116 ; 0x558 <ati00>
5cc: 08 95 ret
000005ce <AvrXWaitMessageAck>:
5ce: 8e 5f subi r24, 0xFE ; 254
5d0: 9f 4f sbci r25, 0xFF ; 255
000005d2 <AvrXWaitSemaphore>:
5d2: e8 2f mov r30, r24
5d4: f9 2f mov r31, r25
5d6: f8 94 cli
5d8: 20 81 ld r18, Z
5da: 31 81 ldd r19, Z+1 ; 0x01
5dc: 21 50 subi r18, 0x01 ; 1
5de: 30 40 sbci r19, 0x00 ; 0
5e0: 19 f4 brne .+6 ; 0x5e8 <aws01>
5e2: 20 83 st Z, r18
5e4: 31 83 std Z+1, r19 ; 0x01
5e6: 18 95 reti
000005e8 <aws01>:
5e8: 96 de rcall .-724 ; 0x316 <IntProlog>
5ea: e8 e3 ldi r30, 0x38 ; 56
5ec: f2 e0 ldi r31, 0x02 ; 2
5ee: 73 81 ldd r23, Z+3 ; 0x03
5f0: 62 81 ldd r22, Z+2 ; 0x02
5f2: 3c d0 rcall .+120 ; 0x66c <_RemoveObject>
5f4: e8 2f mov r30, r24
5f6: f9 2f mov r31, r25
5f8: 2b d0 rcall .+86 ; 0x650 <_AppendObject>
5fa: db ce rjmp .-586 ; 0x3b2 <_Epilog>
000005fc <AvrXAckMessage>:
5fc: 8e 5f subi r24, 0xFE ; 254
5fe: 9f 4f sbci r25, 0xFF ; 255
00000600 <AvrXSetSemaphore>:
600: 0c d0 rcall .+24 ; 0x61a <AvrXIntSetSemaphore>
602: 90 91 3e 02 lds r25, 0x023E
606: 93 95 inc r25
608: 89 2b or r24, r25
60a: 09 f0 breq .+2 ; 0x60e <axss0>
60c: 08 95 ret
0000060e <axss0>:
60e: f8 94 cli
610: 82 de rcall .-764 ; 0x316 <IntProlog>
612: 78 94 sei
614: ce ce rjmp .-612 ; 0x3b2 <_Epilog>
00000616 <AvrXIntSetObjectSemaphore>:
616: 8e 5f subi r24, 0xFE ; 254
618: 9f 4f sbci r25, 0xFF ; 255
0000061a <AvrXIntSetSemaphore>:
61a: e8 2f mov r30, r24
61c: f9 2f mov r31, r25
61e: 81 e0 ldi r24, 0x01 ; 1
620: 90 e0 ldi r25, 0x00 ; 0
622: 2f b7 in r18, 0x3f ; 63
624: f8 94 cli
626: 71 81 ldd r23, Z+1 ; 0x01
628: 60 81 ld r22, Z
62a: 86 17 cp r24, r22
62c: 97 07 cpc r25, r23
62e: 28 f0 brcs .+10 ; 0x63a <aiss00>
630: 80 83 st Z, r24
632: 91 83 std Z+1, r25 ; 0x01
00000634 <BogusSemaphore>:
634: 8f ef ldi r24, 0xFF ; 255
636: 2f bf out 0x3f, r18 ; 63
638: 08 95 ret
0000063a <aiss00>:
63a: 8f e5 ldi r24, 0x5F ; 95
63c: 86 17 cp r24, r22
63e: 97 07 cpc r25, r23
640: c8 f7 brcc .-14 ; 0x634 <BogusSemaphore>
642: 23 d0 rcall .+70 ; 0x68a <_RemoveObjectAt>
644: 2f bf out 0x3f, r18 ; 63
646: 86 2f mov r24, r22
648: 97 2f mov r25, r23
64a: 29 cf rjmp .-430 ; 0x49e <_QueuePid>
0000064c <_ao00>:
64c: e2 2f mov r30, r18
64e: f3 2f mov r31, r19
00000650 <_AppendObject>:
650: 20 81 ld r18, Z
652: 31 81 ldd r19, Z+1 ; 0x01
654: 20 50 subi r18, 0x00 ; 0
656: 30 40 sbci r19, 0x00 ; 0
658: c9 f7 brne .-14 ; 0x64c <_ao00>
65a: 71 83 std Z+1, r23 ; 0x01
65c: 60 83 st Z, r22
65e: f7 2f mov r31, r23
660: e6 2f mov r30, r22
662: 31 83 std Z+1, r19 ; 0x01
664: 20 83 st Z, r18
666: 08 95 ret
00000668 <_ro00>:
668: f3 2f mov r31, r19
66a: e2 2f mov r30, r18
0000066c <_RemoveObject>:
66c: 20 81 ld r18, Z
66e: 31 81 ldd r19, Z+1 ; 0x01
670: 62 17 cp r22, r18
672: 73 07 cpc r23, r19
674: 51 f0 breq .+20 ; 0x68a <_RemoveObjectAt>
676: 20 50 subi r18, 0x00 ; 0
678: 30 40 sbci r19, 0x00 ; 0
67a: b1 f7 brne .-20 ; 0x668 <_ro00>
67c: 08 95 ret
0000067e <_RemoveFirstObject>:
67e: 60 81 ld r22, Z
680: 71 81 ldd r23, Z+1 ; 0x01
682: 60 50 subi r22, 0x00 ; 0
684: 70 40 sbci r23, 0x00 ; 0
686: 09 f4 brne .+2 ; 0x68a <_RemoveObjectAt>
688: 08 95 ret
0000068a <_RemoveObjectAt>:
68a: 4c 2f mov r20, r28
68c: 5d 2f mov r21, r29
68e: c6 2f mov r28, r22
690: d7 2f mov r29, r23
692: 79 81 ldd r23, Y+1 ; 0x01
694: 68 81 ld r22, Y
696: 71 83 std Z+1, r23 ; 0x01
698: 60 83 st Z, r22
69a: e6 2f mov r30, r22
69c: f7 2f mov r31, r23
69e: 66 27 eor r22, r22
6a0: 68 83 st Y, r22
6a2: 69 83 std Y+1, r22 ; 0x01
6a4: 7d 2f mov r23, r29
6a6: 6c 2f mov r22, r28
6a8: c4 2f mov r28, r20
6aa: d5 2f mov r29, r21
6ac: 98 94 clz
6ae: 08 95 ret
000006b0 <AvrXIntResetObjectSemaphore>:
6b0: e8 2f mov r30, r24
6b2: f9 2f mov r31, r25
6b4: 32 96 adiw r30, 0x02 ; 2
6b6: 02 c0 rjmp .+4 ; 0x6bc <ars00>
000006b8 <AvrXIntResetSemaphore>:
6b8: f9 2f mov r31, r25
6ba: e8 2f mov r30, r24
000006bc <ars00>:
6bc: f8 94 cli
6be: 40 81 ld r20, Z
6c0: 51 81 ldd r21, Z+1 ; 0x01
6c2: 41 50 subi r20, 0x01 ; 1
6c4: 50 40 sbci r21, 0x00 ; 0
6c6: 11 f0 breq .+4 ; 0x6cc <ars01>
6c8: 4f 5f subi r20, 0xFF ; 255
6ca: 5f 4f sbci r21, 0xFF ; 255
000006cc <ars01>:
6cc: 51 83 std Z+1, r21 ; 0x01
6ce: 40 83 st Z, r20
6d0: 18 95 reti
000006d2 <AvrXSendMessage>:
6d2: f8 94 cli
6d4: 20 de rcall .-960 ; 0x316 <IntProlog>
6d6: 78 94 sei
6d8: 01 d0 rcall .+2 ; 0x6dc <AvrXIntSendMessage>
6da: 6b ce rjmp .-810 ; 0x3b2 <_Epilog>
000006dc <AvrXIntSendMessage>:
6dc: f9 2f mov r31, r25
6de: e8 2f mov r30, r24
6e0: b7 df rcall .-146 ; 0x650 <_AppendObject>
6e2: 99 cf rjmp .-206 ; 0x616 <AvrXIntSetObjectSemaphore>
000006e4 <AvrXWaitMessage>:
6e4: e8 2f mov r30, r24
6e6: f9 2f mov r31, r25
6e8: f8 94 cli
6ea: c9 df rcall .-110 ; 0x67e <_RemoveFirstObject>
6ec: 78 94 sei
6ee: 21 f4 brne .+8 ; 0x6f8 <_rm01>
6f0: 6e df rcall .-292 ; 0x5ce <AvrXWaitMessageAck>
6f2: 82 50 subi r24, 0x02 ; 2
6f4: 90 40 sbci r25, 0x00 ; 0
6f6: f6 cf rjmp .-20 ; 0x6e4 <AvrXWaitMessage>
000006f8 <_rm01>:
6f8: db df rcall .-74 ; 0x6b0 <AvrXIntResetObjectSemaphore>
6fa: 86 2f mov r24, r22
6fc: 97 2f mov r25, r23
6fe: 08 95 ret
00000700 <_exit>:
700: ff cf rjmp .-2 ; 0x700 <_exit>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -