📄 ucos_ii.lis
字号:
00FC 00D0 rcall empy16s
00FE F801 movw R30,R16
0100 80E0 ldi R24,<_OSTCBTbl+2
0102 90E0 ldi R25,>_OSTCBTbl+2
0104 E80F add R30,R24
0106 F91F adc R31,R25
0108 2082 std z+0,R2
010A 3182 std z+1,R3
010C .dbline 106
010C L12:
010C .dbline 104
010C C501 movw R24,R10
010E 0196 adiw R24,1
0110 5C01 movw R10,R24
0112 L14:
0112 .dbline 104
0112 ;
0112 ;
0112 ;
0112 C501 movw R24,R10
0114 8530 cpi R24,5
0116 E0E0 ldi R30,0
0118 9E07 cpc R25,R30
011A 10F3 brlo L11
011C .dbline 107
011C ;
011C ;
011C ;
011C 2224 clr R2
011E 3324 clr R3
0120 30924900 sts _OSTCBTbl+70+2+1,R3
0124 20924800 sts _OSTCBTbl+70+2,R2
0128 .dbline 108
0128 ;
0128 80E0 ldi R24,<_OSTCBTbl
012A 90E0 ldi R25,>_OSTCBTbl
012C 9093E200 sts _OSTCBFreeList+1,R25
0130 8093E100 sts _OSTCBFreeList,R24
0134 .dbline 111
0134 AA24 clr R10
0136 BB24 clr R11
0138 19C0 rjmp L21
013A L18:
013A .dbline 111
013A .dbline 112
013A 9501 movw R18,R10
013C 2F5F subi R18,255 ; offset = 1
013E 3F4F sbci R19,255
0140 08E0 ldi R16,8
0142 10E0 ldi R17,0
0144 00D0 rcall empy16s
0146 1801 movw R2,R16
0148 80E0 ldi R24,<_OSEventTbl
014A 90E0 ldi R25,>_OSEventTbl
014C 280E add R2,R24
014E 391E adc R3,R25
0150 08E0 ldi R16,8
0152 10E0 ldi R17,0
0154 9501 movw R18,R10
0156 00D0 rcall empy16s
0158 F801 movw R30,R16
015A 80E0 ldi R24,<_OSEventTbl
015C 90E0 ldi R25,>_OSEventTbl
015E E80F add R30,R24
0160 F91F adc R31,R25
0162 2082 std z+0,R2
0164 3182 std z+1,R3
0166 .dbline 113
0166 L19:
0166 .dbline 111
0166 C501 movw R24,R10
0168 0196 adiw R24,1
016A 5C01 movw R10,R24
016C L21:
016C .dbline 111
016C ;
016C ;
016C ;
016C C501 movw R24,R10
016E 8130 cpi R24,1
0170 E0E0 ldi R30,0
0172 9E07 cpc R25,R30
0174 10F3 brlo L18
0176 .dbline 114
0176 ;
0176 ;
0176 ;
0176 2224 clr R2
0178 3324 clr R3
017A 3092FB00 sts _OSEventTbl+8+1,R3
017E 2092FA00 sts _OSEventTbl+8,R2
0182 .dbline 115
0182 ;
0182 80E0 ldi R24,<_OSEventTbl
0184 90E0 ldi R25,>_OSEventTbl
0186 90930301 sts _OSEventFreeList+1,R25
018A 80930201 sts _OSEventFreeList,R24
018E .dbline 119
018E ;
018E ;
018E ;
018E ;
018E 8FE0 ldi R24,15
0190 8A83 std y+2,R24
0192 80E0 ldi R24,<_OSTaskIdleStk+99
0194 90E0 ldi R25,>_OSTaskIdleStk+99
0196 8883 std y+0,R24
0198 9983 std y+1,R25
019A 2227 clr R18
019C 3327 clr R19
019E 00E0 ldi R16,<PL_OSTaskIdle
01A0 10E0 ldi R17,>PL_OSTaskIdle
01A2 15D3 rcall _OSTaskCreate
01A4 .dbline -2
01A4 .dbline 124
01A4 ;
01A4 ;
01A4 ;
01A4 ;
01A4 ;
01A4 L2:
01A4 2396 adiw R28,3
01A6 00D0 rcall pop_gset3x
01A8 .dbline 0 ; func end
01A8 0895 ret
01AA .dbsym r i 10 i
01AA .dbend
01AA .dbfunc e OSIntExit _OSIntExit fV
.even
01AA _OSIntExit::
01AA .dbline -1
01AA .dbline 146
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA ;
01AA .dbline 147
01AA ;
01AA 0A93 st -y,r16
01AC 0FB7 in r16,0x3F
01AE F894 cli
01B0 0F93 push r16
01B2 0991 ld r16,y+
01B4 .dbline 147
01B4 .dbline 148
01B4 ;
01B4 8091ED00 lds R24,_OSIntNesting
01B8 8150 subi R24,1
01BA 282E mov R2,R24
01BC 2092ED00 sts _OSIntNesting,R2
01C0 4090EC00 lds R4,_OSLockNesting
01C4 2428 or R2,R4
01C6 09F0 breq X0
01C8 4FC0 rjmp L25
01CA X0:
01CA .dbline 148
01CA .dbline 149
01CA ;
01CA 80E0 ldi R24,<_OSUnMapTbl
01CC 90E0 ldi R25,>_OSUnMapTbl
01CE E091E900 lds R30,_OSRdyGrp
01D2 FF27 clr R31
01D4 E80F add R30,R24
01D6 F91F adc R31,R25
01D8 E491 lpm R30,Z
01DA E093B800 sts _OSIntExitY,R30
01DE .dbline 150
01DE ;
01DE 80E0 ldi R24,<_OSRdyTbl
01E0 90E0 ldi R25,>_OSRdyTbl
01E2 FF27 clr R31
01E4 E80F add R30,R24
01E6 F91F adc R31,R25
01E8 E081 ldd R30,z+0
01EA FF27 clr R31
01EC 80E0 ldi R24,<_OSUnMapTbl
01EE 90E0 ldi R25,>_OSUnMapTbl
01F0 E80F add R30,R24
01F2 F91F adc R31,R25
01F4 2490 lpm R2,Z
01F6 3324 clr R3
01F8 4090B800 lds R4,_OSIntExitY
01FC 5524 clr R5
01FE 440C lsl R4
0200 551C rol R5
0202 440C lsl R4
0204 551C rol R5
0206 440C lsl R4
0208 551C rol R5
020A 420C add R4,R2
020C 531C adc R5,R3
020E 4092EA00 sts _OSPrioHighRdy,R4
0212 .dbline 151
0212 ;
0212 2090EB00 lds R2,_OSPrioCur
0216 4214 cp R4,R2
0218 39F1 breq L27
021A .dbline 151
021A .dbline 152
021A ;
021A 242C mov R2,R4
021C 82E0 ldi R24,2
021E 829D mul R24,R2
0220 F001 movw R30,R0
0222 80E0 ldi R24,<_OSTCBPrioTbl
0224 90E0 ldi R25,>_OSTCBPrioTbl
0226 E80F add R30,R24
0228 F91F adc R31,R25
022A 2080 ldd R2,z+0
022C 3180 ldd R3,z+1
022E 3092E000 sts _OSTCBHighRdy+1,R3
0232 2092DF00 sts _OSTCBHighRdy,R2
0236 .dbline 153
0236 ;
0236 81E0 ldi R24,1
0238 90E0 ldi R25,0
023A A0E0 ldi R26,0
023C B0E0 ldi R27,0
023E 40900601 lds R4,_OSCtxSwCtr+2
0242 50900701 lds R5,_OSCtxSwCtr+2+1
0246 20900401 lds R2,_OSCtxSwCtr
024A 30900501 lds R3,_OSCtxSwCtr+1
024E 280E add R2,R24
0250 391E adc R3,R25
0252 4A1E adc R4,R26
0254 5B1E adc R5,R27
0256 30920501 sts _OSCtxSwCtr+1,R3
025A 20920401 sts _OSCtxSwCtr,R2
025E 50920701 sts _OSCtxSwCtr+2+1,R5
0262 40920601 sts _OSCtxSwCtr+2,R4
0266 .dbline 154
0266 ;
0266 00D0 rcall _OSIntCtxSw
0268 .dbline 155
0268 ;
0268 L27:
0268 .dbline 156
0268 ;
0268 L25:
0268 .dbline 157
0268 ;
0268 0A93 st -y,r16
026A 0F91 pop r16
026C 0FBF out 0x3F,r16
026E 0991 ld r16,y+
0270 .dbline 157
0270 .dbline -2
0270 .dbline 158
0270 ;
0270 L24:
0270 .dbline 0 ; func end
0270 0895 ret
0272 .dbend
0272 .dbfunc e OSSched _OSSched fV
0272 ; y -> R10
.even
0272 _OSSched::
0272 00D0 rcall push_gset3x
0274 .dbline -1
0274 .dbline 178
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 ;
0274 .dbline 182
0274 ;
0274 ;
0274 ;
0274 ;
0274 0A93 st -y,r16
0276 0FB7 in r16,0x3F
0278 F894 cli
027A 0F93 push r16
027C 0991 ld r16,y+
027E .dbline 182
027E .dbline 183
027E ;
027E 2090ED00 lds R2,_OSIntNesting
0282 3090EC00 lds R3,_OSLockNesting
0286 3228 or R3,R2
0288 09F0 breq X1
028A 4DC0 rjmp L30
028C X1:
028C .dbline 183
028C .dbline 184
028C ;
028C 80E0 ldi R24,<_OSUnMapTbl
028E 90E0 ldi R25,>_OSUnMapTbl
0290 E091E900 lds R30,_OSRdyGrp
0294 FF27 clr R31
0296 E80F add R30,R24
0298 F91F adc R31,R25
029A A490 lpm R10,Z
029C .dbline 185
029C ;
029C 80E0 ldi R24,<_OSRdyTbl
029E 90E0 ldi R25,>_OSRdyTbl
02A0 EA2D mov R30,R10
02A2 FF27 clr R31
02A4 E80F add R30,R24
02A6 F91F adc R31,R25
02A8 E081 ldd R30,z+0
02AA FF27 clr R31
02AC 80E0 ldi R24,<_OSUnMapTbl
02AE 90E0 ldi R25,>_OSUnMapTbl
02B0 E80F add R30,R24
02B2 F91F adc R31,R25
02B4 2490 lpm R2,Z
02B6 3324 clr R3
02B8 4A2C mov R4,R10
02BA 5524 clr R5
02BC 440C lsl R4
02BE 551C rol R5
02C0 440C lsl R4
02C2 551C rol R5
02C4 440C lsl R4
02C6 551C rol R5
02C8 420C add R4,R2
02CA 531C adc R5,R3
02CC 4092EA00 sts _OSPrioHighRdy,R4
02D0 .dbline 186
02D0 ;
02D0 2090EB00 lds R2,_OSPrioCur
02D4 4214 cp R4,R2
02D6 39F1 breq L32
02D8 .dbline 186
02D8 .dbline 187
02D8 ;
02D8 242C mov R2,R4
02DA 82E0 ldi R24,2
02DC 829D mul R24,R2
02DE F001 movw R30,R0
02E0 80E0 ldi R24,<_OSTCBPrioTbl
02E2 90E0 ldi R25,>_OSTCBPrioTbl
02E4 E80F add R30,R24
02E6 F91F adc R31,R25
02E8 2080 ldd R2,z+0
02EA 3180 ldd R3,z+1
02EC 3092E000 sts _OSTCBHighRdy+1,R3
02F0 2092DF00 sts _OSTCBHighRdy,R2
02F4 .dbline 188
02F4 ;
02F4 81E0 ldi R24,1
02F6 90E0 ldi R25,0
02F8 A0E0 ldi R26,0
02FA B0E0 ldi R27,0
02FC 40900601 lds R4,_OSCtxSwCtr+2
0300 50900701 lds R5,_OSCtxSwCtr+2+1
0304 20900401 lds R2,_OSCtxSwCtr
0308 30900501 lds R3,_OSCtxSwCtr+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -