📄 atmega.lss
字号:
868: 08 95 ret
0000086a <OSTCBInitHook>:
}
void OSTCBInitHook(OS_TCB *ptcb)
{
86a: 08 95 ret
0000086c <OSTimeTickHook>:
ptcb=ptcb;
}
void OSTimeTickHook(OS_TCB *ptcb)
{
86c: 08 95 ret
0000086e <OSInitHookBegin>:
}
void OSInitHookBegin(void)
{
86e: 08 95 ret
00000870 <OSInitHookEnd>:
}
void OSInitHookEnd(void)
{
870: 08 95 ret
00000872 <OS_StrCopy>:
*/
#if (OS_EVENT_NAME_SIZE > 1) || (OS_FLAG_NAME_SIZE > 1) || (OS_MEM_NAME_SIZE > 1) || (OS_TASK_NAME_SIZE > 1)
INT8U OS_StrCopy (char *pdest, char *psrc)
{
872: dc 01 movw r26, r24
874: fb 01 movw r30, r22
INT8U len;
len = 0;
876: 80 e0 ldi r24, 0x00 ; 0
878: 03 c0 rjmp .+6 ; 0x880
while (*psrc != OS_ASCII_NUL) {
*pdest++ = *psrc++;
87a: 31 96 adiw r30, 0x01 ; 1
87c: 2d 93 st X+, r18
len++;
87e: 8f 5f subi r24, 0xFF ; 255
880: 20 81 ld r18, Z
882: 22 23 and r18, r18
884: d1 f7 brne .-12 ; 0x87a
}
*pdest = OS_ASCII_NUL;
886: 1c 92 st X, r1
return (len);
}
888: 99 27 eor r25, r25
88a: 08 95 ret
0000088c <OSEventNameGet>:
88c: cf 93 push r28
88e: df 93 push r29
890: ec 01 movw r28, r24
892: 8f b7 in r24, 0x3f ; 63
894: f8 94 cli
896: 8f 93 push r24
898: 20 97 sbiw r28, 0x00 ; 0
89a: 21 f1 breq .+72 ; 0x8e4
89c: 61 15 cp r22, r1
89e: 71 05 cpc r23, r1
8a0: 41 f1 breq .+80 ; 0x8f2
8a2: 88 81 ld r24, Y
8a4: 99 27 eor r25, r25
8a6: 01 97 sbiw r24, 0x01 ; 1
8a8: 04 97 sbiw r24, 0x04 ; 4
8aa: a0 f4 brcc .+40 ; 0x8d4
8ac: db 01 movw r26, r22
8ae: fe 01 movw r30, r28
8b0: 37 96 adiw r30, 0x07 ; 7
8b2: 20 e0 ldi r18, 0x00 ; 0
8b4: 8f 81 ldd r24, Y+7 ; 0x07
8b6: 04 c0 rjmp .+8 ; 0x8c0
8b8: 31 96 adiw r30, 0x01 ; 1
8ba: 8d 93 st X+, r24
8bc: 2f 5f subi r18, 0xFF ; 255
8be: 80 81 ld r24, Z
8c0: 88 23 and r24, r24
8c2: d1 f7 brne .-12 ; 0x8b8
8c4: 1c 92 st X, r1
8c6: 9f 91 pop r25
8c8: 9f bf out 0x3f, r25 ; 63
8ca: ea 01 movw r28, r20
8cc: 18 82 st Y, r1
8ce: 62 2f mov r22, r18
8d0: 77 27 eor r23, r23
8d2: 14 c0 rjmp .+40 ; 0x8fc
8d4: 8f 91 pop r24
8d6: 8f bf out 0x3f, r24 ; 63
8d8: 31 e0 ldi r19, 0x01 ; 1
8da: fa 01 movw r30, r20
8dc: 30 83 st Z, r19
8de: 60 e0 ldi r22, 0x00 ; 0
8e0: 70 e0 ldi r23, 0x00 ; 0
8e2: 0c c0 rjmp .+24 ; 0x8fc
8e4: 8f 91 pop r24
8e6: 8f bf out 0x3f, r24 ; 63
8e8: 84 e0 ldi r24, 0x04 ; 4
8ea: fa 01 movw r30, r20
8ec: 80 83 st Z, r24
8ee: be 01 movw r22, r28
8f0: 05 c0 rjmp .+10 ; 0x8fc
8f2: 8f 91 pop r24
8f4: 8f bf out 0x3f, r24 ; 63
8f6: 2f e0 ldi r18, 0x0F ; 15
8f8: ea 01 movw r28, r20
8fa: 28 83 st Y, r18
8fc: cb 01 movw r24, r22
8fe: df 91 pop r29
900: cf 91 pop r28
902: 08 95 ret
00000904 <OS_StrLen>:
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* DETERMINE THE LENGTH OF AN ASCII STRING
*
* Description: This function is called by other uC/OS-II services to determine the size of an ASCII string
* (excluding the NUL character).
*
* Arguments : psrc is a pointer to the string for which we need to know the size.
*
* Returns : The size of the string (excluding the NUL terminating character)
*
* Notes : 1) This function is INTERNAL to uC/OS-II and your application should not call it.
* 2) The string to check must be less than 255 characters long.
*********************************************************************************************************
*/
#if (OS_EVENT_NAME_SIZE > 1) || (OS_FLAG_NAME_SIZE > 1) || (OS_MEM_NAME_SIZE > 1) || (OS_TASK_NAME_SIZE > 1)
INT8U OS_StrLen (char *psrc)
{
904: fc 01 movw r30, r24
INT8U len;
len = 0;
906: 90 e0 ldi r25, 0x00 ; 0
908: 02 c0 rjmp .+4 ; 0x90e
while (*psrc != OS_ASCII_NUL) {
psrc++;
90a: 31 96 adiw r30, 0x01 ; 1
len++;
90c: 9f 5f subi r25, 0xFF ; 255
90e: 80 81 ld r24, Z
910: 88 23 and r24, r24
912: d9 f7 brne .-10 ; 0x90a
}
return (len);
}
914: 89 2f mov r24, r25
916: 99 27 eor r25, r25
918: 08 95 ret
0000091a <OSEventNameSet>:
91a: cf 93 push r28
91c: df 93 push r29
91e: dc 01 movw r26, r24
920: eb 01 movw r28, r22
922: 9a 01 movw r18, r20
924: 8f b7 in r24, 0x3f ; 63
926: f8 94 cli
928: 8f 93 push r24
92a: 10 97 sbiw r26, 0x00 ; 0
92c: f1 f0 breq .+60 ; 0x96a
92e: 61 15 cp r22, r1
930: 71 05 cpc r23, r1
932: 79 f1 breq .+94 ; 0x992
934: 8c 91 ld r24, X
936: 99 27 eor r25, r25
938: 01 97 sbiw r24, 0x01 ; 1
93a: 04 97 sbiw r24, 0x04 ; 4
93c: 90 f4 brcc .+36 ; 0x962
93e: fb 01 movw r30, r22
940: 90 e0 ldi r25, 0x00 ; 0
942: 48 81 ld r20, Y
944: 44 23 and r20, r20
946: 29 f0 breq .+10 ; 0x952
948: 31 96 adiw r30, 0x01 ; 1
94a: 9f 5f subi r25, 0xFF ; 255
94c: 80 81 ld r24, Z
94e: 88 23 and r24, r24
950: d9 f7 brne .-10 ; 0x948
952: 98 30 cpi r25, 0x08 ; 8
954: 70 f0 brcs .+28 ; 0x972
956: 8f 91 pop r24
958: 8f bf out 0x3f, r24 ; 63
95a: 8c e0 ldi r24, 0x0C ; 12
95c: f9 01 movw r30, r18
95e: 80 83 st Z, r24
960: 1c c0 rjmp .+56 ; 0x99a
962: 8f 91 pop r24
964: 8f bf out 0x3f, r24 ; 63
966: 81 e0 ldi r24, 0x01 ; 1
968: f9 cf rjmp .-14 ; 0x95c
96a: 8f 91 pop r24
96c: 8f bf out 0x3f, r24 ; 63
96e: 84 e0 ldi r24, 0x04 ; 4
970: f5 cf rjmp .-22 ; 0x95c
972: 17 96 adiw r26, 0x07 ; 7
974: fe 01 movw r30, r28
976: 44 23 and r20, r20
978: 31 f0 breq .+12 ; 0x986
97a: 88 81 ld r24, Y
97c: 31 96 adiw r30, 0x01 ; 1
97e: 8d 93 st X+, r24
980: 80 81 ld r24, Z
982: 88 23 and r24, r24
984: d9 f7 brne .-10 ; 0x97c
986: 1c 92 st X, r1
988: 8f 91 pop r24
98a: 8f bf out 0x3f, r24 ; 63
98c: e9 01 movw r28, r18
98e: 18 82 st Y, r1
990: 04 c0 rjmp .+8 ; 0x99a
992: 8f 91 pop r24
994: 8f bf out 0x3f, r24 ; 63
996: 8f e0 ldi r24, 0x0F ; 15
998: e1 cf rjmp .-62 ; 0x95c
99a: df 91 pop r29
99c: cf 91 pop r28
99e: 08 95 ret
000009a0 <OSIntEnter>:
9a0: 80 91 e9 01 lds r24, 0x01E9
9a4: 81 30 cpi r24, 0x01 ; 1
9a6: 09 f0 breq .+2 ; 0x9aa
9a8: 08 95 ret
9aa: 80 91 ff 01 lds r24, 0x01FF
9ae: 8f 3f cpi r24, 0xFF ; 255
9b0: d9 f3 breq .-10 ; 0x9a8
9b2: 8f 5f subi r24, 0xFF ; 255
9b4: 80 93 ff 01 sts 0x01FF, r24
9b8: 08 95 ret
9ba: 08 95 ret
000009bc <OSIntExit>:
9bc: 80 91 e9 01 lds r24, 0x01E9
9c0: 81 30 cpi r24, 0x01 ; 1
9c2: 09 f0 breq .+2 ; 0x9c6
9c4: 08 95 ret
9c6: 8f b7 in r24, 0x3f ; 63
9c8: f8 94 cli
9ca: 8f 93 push r24
9cc: 80 91 ff 01 lds r24, 0x01FF
9d0: 88 23 and r24, r24
9d2: 09 f0 breq .+2 ; 0x9d6
9d4: 49 c0 rjmp .+146 ; 0xa68
9d6: 88 23 and r24, r24
9d8: 09 f0 breq .+2 ; 0x9dc
9da: 43 c0 rjmp .+134 ; 0xa62
9dc: 20 91 e8 01 lds r18, 0x01E8
9e0: 22 23 and r18, r18
9e2: 09 f0 breq .+2 ; 0x9e6
9e4: 3e c0 rjmp .+124 ; 0xa62
9e6: 50 91 fb 01 lds r21, 0x01FB
9ea: e5 2f mov r30, r21
9ec: ff 27 eor r31, r31
9ee: ea 55 subi r30, 0x5A ; 90
9f0: fe 4f sbci r31, 0xFE ; 254
9f2: 84 91 lpm r24, Z
9f4: 99 27 eor r25, r25
9f6: fc 01 movw r30, r24
9f8: e4 50 subi r30, 0x04 ; 4
9fa: fe 4f sbci r31, 0xFE ; 254
9fc: 40 81 ld r20, Z
9fe: e4 2f mov r30, r20
a00: ff 27 eor r31, r31
a02: ea 55 subi r30, 0x5A ; 90
a04: fe 4f sbci r31, 0xFE ; 254
a06: e4 91 lpm r30, Z
a08: 88 0f add r24, r24
a0a: 99 1f adc r25, r25
a0c: 88 0f add r24, r24
a0e: 99 1f adc r25, r25
a10: 88 0f add r24, r24
a12: 99 1f adc r25, r25
a14: e8 0f add r30, r24
a16: e0 93 ee 01 sts 0x01EE, r30
a1a: 30 91 ef 01 lds r19, 0x01EF
a1e: e3 17 cp r30, r19
a20: 01 f1 breq .+64 ; 0xa62
a22: ff 27 eor r31, r31
a24: ee 0f add r30, r30
a26: ff 1f adc r31, r31
a28: e4 5d subi r30, 0xD4 ; 212
a2a: fc 4f sbci r31, 0xFC ; 252
a2c: 60 81 ld r22, Z
a2e: 71 81 ldd r23, Z+1 ; 0x01
a30: 70 93 fa 01 sts 0x01FA, r23
a34: 60 93 f9 01 sts 0x01F9, r22
a38: 80 91 f2 01 lds r24, 0x01F2
a3c: 90 91 f3 01 lds r25, 0x01F3
a40: a0 91 f4 01 lds r26, 0x01F4
a44: b0 91 f5 01 lds r27, 0x01F5
a48: 01 96 adiw r24, 0x01 ; 1
a4a: a1 1d adc r26, r1
a4c: b1 1d adc r27, r1
a4e: 80 93 f2 01 sts 0x01F2, r24
a52: 90 93 f3 01 sts 0x01F3, r25
a56: a0 93 f4 01 sts 0x01F4, r26
a5a: b0 93 f5 01 sts 0x01F5, r27
a5e: 0e 94 2a 03 call 0x654
a62: 8f 91 pop r24
a64: 8f bf out 0x3f, r24 ; 63
a66: 08 95 ret
a68: 81 50 subi r24, 0x01 ; 1
a6a: 80 93 ff 01 sts 0x01FF, r24
a6e: b3 cf rjmp .-154 ; 0x9d6
a70: 08 95 ret
00000a72 <OSStart>:
a72: 80 91 e9 01 lds r24, 0x01E9
a76: 81 11 cpse r24, r1
a78: 08 95 ret
a7a: 50 91 fb 01 lds r21, 0x01FB
a7e: e5 2f mov r30, r21
a80: ff 27 eor r31, r31
a82: ea 55 subi r30, 0x5A ; 90
a84: fe 4f sbci r31, 0xFE ; 254
a86: 84 91 lpm r24, Z
a88: 99 27 eor r25, r25
a8a: fc 01 movw r30, r24
a8c: e4 50 subi r30, 0x04 ; 4
a8e: fe 4f sbci r31, 0xFE ; 254
a90: 30 81 ld r19, Z
a92: e3 2f mov r30, r19
a94: ff 27 eor r31, r31
a96: ea 55 subi r30, 0x5A ; 90
a98: fe 4f sbci r31, 0xFE ; 254
a9a: 44 91 lpm r20, Z
a9c: 88 0f add r24, r24
a9e: 99 1f adc r25, r25
aa0: 88 0f add r24, r24
aa2: 99 1f adc r25, r25
aa4: 88 0f add r24, r24
aa6: 99 1f adc r25, r25
aa8: 48 0f add r20, r24
aaa: 40 93 ee 01 sts 0x01EE, r20
aae: 40 93 ef 01 sts 0x01EF, r20
ab2: e4 2f mov r30, r20
ab4: ff 27 eor r31, r31
ab6: ee 0f add r30, r30
ab8: ff 1f adc r31, r31
aba: e4 5d subi r30, 0xD4 ; 212
abc: fc 4f sbci r31, 0xFC ; 252
abe: 20 81 ld r18, Z
ac0: 31 81 ldd r19, Z+1 ; 0x01
ac2: 30 93 fa 01 sts 0x01FA, r19
ac6: 20 93 f9 01 sts 0x01F9, r18
aca: 30 93 01 02 sts 0x0201, r19
ace: 20 93 00 02 sts 0x0200, r18
ad2: 0e 94 95 02 call 0x52a
ad6: 08 95 ret
ad8: 08 95 ret
00000ada <OSTimeTick>:
ada: cf 93 push r28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -