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