ucos_ii.s
来自「基于mega128的ucos参考源码」· S 代码 · 共 4,541 行 · 第 1/5 页
S
4,541 行
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
.dbline 1267
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
.dbline 1268
L98:
.dbline 1268
.dbline 1269
xcall _OS_CPU_SR_Save
mov R10,R16
.dbline 1270
ldi R20,1
ldi R21,0
ldi R22,0
ldi R23,0
lds R4,_OSIdleCtr+2
lds R5,_OSIdleCtr+2+1
lds R2,_OSIdleCtr
lds R3,_OSIdleCtr+1
add R2,R20
adc R3,R21
adc R4,R22
adc R5,R23
sts _OSIdleCtr+1,R3
sts _OSIdleCtr,R2
sts _OSIdleCtr+2+1,R5
sts _OSIdleCtr+2,R4
.dbline 1271
xcall _OS_CPU_SR_Restore
.dbline 1272
xcall _OSTaskIdleHook
.dbline 1273
.dbline 1268
.dbline 1268
xjmp L98
X17:
.dbline -2
L97:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r cpu_sr 10 c
.dbsym r parg 10 pV
.dbend
.dbfunc e OS_TCBInit _OS_TCBInit fc
; cpu_sr -> R10
; ptcb -> R12,R13
; opt -> y+22
; pext -> y+20
; stk_size -> y+16
; id -> y+14
; pbos -> y+12
; ptos -> y+10
; prio -> R14
.even
_OS_TCBInit::
st -y,r19
st -y,r18
xcall push_gset5
mov R14,R16
.dbline -1
.dbline 1428
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
.dbline 1435
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
xcall _OS_CPU_SR_Save
mov R10,R16
.dbline 1436
; Pピ
lds R12,_OSTCBFreeList
lds R13,_OSTCBFreeList+1
.dbline 1437
; Pピ
tst R12
brne X18
tst R13
brne X20
xjmp L103
X20:
X18:
.dbline 1437
.dbline 1438
; Pピ
movw R30,R12
ldd R2,z+2
ldd R3,z+3
sts _OSTCBFreeList+1,R3
sts _OSTCBFreeList,R2
.dbline 1439
; Pピ
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 1440
; Pピ
movw R30,R12
ldd R0,y+10
ldd R1,y+11
std z+1,R1
std z+0,R0
.dbline 1441
; Pピ
std z+11,R14
.dbline 1442
; Pピ
clr R2
movw R30,R12
std z+10,R2
.dbline 1443
; Pピ
clr R3
movw R30,R12
std z+9,R3
std z+8,R2
.dbline 1452
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
.dbline 1453
; Pピ
movw R30,R28
ldd R2,z+16
ldd R3,z+17
ldd R4,z+18
ldd R5,z+19
movw R30,R28
std z+16,R2
std z+17,R3
std z+18,R4
std z+19,R5
.dbline 1454
; Pピ
.dbline 1455
; Pピ
.dbline 1456
; Pピ
.dbline 1463
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
mov R2,R14
clr R3
asr R3
ror R2
asr R3
ror R2
asr R3
ror R2
movw R30,R12
std z+13,R2
.dbline 1464
; Pピ
ldi R24,<_OSMapTbl
ldi R25,>_OSMapTbl
movw R30,R12
ldd R30,z+13
clr R31
add R30,R24
adc R31,R25
lpm R30,Z
movw R26,R12
adiw R26,15
st x,R30
.dbline 1465
; Pピ
mov R24,R14
clr R25
andi R24,7
andi R25,0
movw R30,R12
std z+12,R24
.dbline 1466
; Pピ
ldi R24,<_OSMapTbl
ldi R25,>_OSMapTbl
movw R30,R12
ldd R30,z+12
clr R31
add R30,R24
adc R31,R25
lpm R30,Z
movw R26,R12
adiw R26,14
st x,R30
.dbline 1469
; Pピ
; Pピ
; Pピ
clr R2
clr R3
movw R30,R12
std z+7,R3
std z+6,R2
.dbline 1481
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R12
std z+16,R20
std z+17,R21
std z+18,R22
std z+19,R23
.dbline 1482
; Pピ
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R12
std z+24,R20
std z+25,R21
std z+26,R22
std z+27,R23
.dbline 1483
; Pピ
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R12
std z+20,R20
std z+21,R21
std z+22,R22
std z+23,R23
.dbline 1484
; Pピ
movw R30,R12
std z+29,R3
std z+28,R2
.dbline 1485
; Pピ
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R12
std z+30,R20
std z+31,R21
std z+32,R22
std z+33,R23
.dbline 1494
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
; Pピ
movw R16,R12
xcall _OSTCBInitHook
.dbline 1497
; Pピ
; Pピ
; Pピ
movw R16,R12
xcall _OSTaskCreateHook
.dbline 1499
; Pピ
; Pピ
xcall _OS_CPU_SR_Save
mov R10,R16
.dbline 1500
; Pピ
ldi R24,2
mul R24,R14
movw R30,R0
ldi R24,<_OSTCBPrioTbl
ldi R25,>_OSTCBPrioTbl
add R30,R24
adc R31,R25
std z+1,R13
std z+0,R12
.dbline 1501
; Pピ
lds R2,_OSTCBList
lds R3,_OSTCBList+1
movw R30,R12
std z+3,R3
std z+2,R2
.dbline 1502
; Pピ
clr R2
clr R3
movw R30,R12
std z+5,R3
std z+4,R2
.dbline 1503
; Pピ
lds R2,_OSTCBList
lds R3,_OSTCBList+1
tst R2
brne X19
tst R3
breq L105
X19:
.dbline 1503
.dbline 1504
; Pピ
lds R30,_OSTCBList
lds R31,_OSTCBList+1
std z+5,R13
std z+4,R12
.dbline 1505
; Pピ
L105:
.dbline 1506
; Pピ
sts _OSTCBList+1,R13
sts _OSTCBList,R12
.dbline 1507
; Pピ
movw R30,R12
ldd R2,z+15
lds R3,_OSRdyGrp
or R3,R2
sts _OSRdyGrp,R3
.dbline 1508
; Pピ
ldi R24,<_OSRdyTbl
ldi R25,>_OSRdyTbl
movw R30,R12
ldd R2,z+13
clr R3
add R2,R24
adc R3,R25
movw R30,R12
ldd R4,z+14
movw R30,R2
ldd R5,z+0
or R5,R4
std z+0,R5
.dbline 1509
; Pピ
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 1510
; Pピ
clr R16
xjmp L102
L103:
.dbline 1512
; Pピ
; Pピ
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 1513
; Pピ
ldi R16,70
.dbline -2
L102:
xcall pop_gset5
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r cpu_sr 10 c
.dbsym r ptcb 12 pS[os_tcb]
.dbsym l opt 22 i
.dbsym l pext 20 pV
.dbsym l stk_size 16 l
.dbsym l id 14 i
.dbsym l pbos 12 pc
.dbsym l ptos 10 pc
.dbsym r prio 14 c
.dbend
.dbfile C:/DOCUME~1/Administrator/MYDOCU~1/doc_ucosii_data_m128_iccavr_by_zhifeng/Source/os_sem.c
.dbfunc e OSSemAccept _OSSemAccept fi
; cpu_sr -> R22
; cnt -> R20,R21
; pevent -> R10,R11
.even
_OSSemAccept::
xcall push_gset3
movw R10,R16
.dbline -1
.dbline 40
.dbline 52
movw R30,R10
ldd R24,z+0
cpi R24,3
breq L108
.dbline 52
.dbline 53
clr R16
clr R17
xjmp L107
L108:
.dbline 55
xcall _OS_CPU_SR_Save
mov R22,R16
.dbline 56
movw R30,R10
ldd R20,z+2
ldd R21,z+3
.dbline 57
cpi R20,0
cpc R20,R21
breq L110
X21:
.dbline 57
.dbline 58
movw R24,R10
adiw R24,2
movw R30,R24
ldd R24,z+0
ldd R25,z+1
sbiw R24,1
std z+1,R25
std z+0,R24
.dbline 59
L110:
.dbline 60
mov R16,R22
xcall _OS_CPU_SR_Restore
.dbline 61
movw R16,R20
.dbline -2
L107:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r cpu_sr 22 c
.dbsym r cnt 20 i
.dbsym r pevent 10 pS[os_event]
.dbend
.dbfunc e OSSemCreate _OSSemCreate fpS[os_event]
; cpu_sr -> R10
; pevent -> R20,R21
; cnt -> R22,R23
.even
_OSSemCreate::
xcall push_gset3
movw R22,R16
.dbline -1
.dbline 84
.dbline 91
clr R2
lds R3,_OSIntNesting
cp R2,R3
brsh L113
.dbline 91
.dbline 92
clr R16
clr R17
xjmp L112
L113:
.dbline 94
xcall _OS_CPU_SR_Save
mov R10,R16
.dbline 95
lds R20,_OSEventFreeList
lds R21,_OSEventFreeList+1
.dbline 96
cpi R20,0
cpc R20,R21
breq L115
X22:
.dbline 96
.dbline 97
lds R30,_OSEventFreeList
lds R31,_OSEventFreeList+1
ldd R2,z+4
ldd R3,z+5
sts _OSEventFreeList+1,R3
sts _OSEventFreeList,R2
.dbline 98
L115:
.dbline 99
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 100
cpi R20,0
cpc R20,R21
breq L117
X23:
.dbline 100
.dbline 101
ldi R24,3
movw R30,R20
std z+0,R24
.dbline 102
std z+3,R23
std z+2,R22
.dbline 103
clr R2
clr R3
movw R30,R20
std z+5,R3
std z+4,R2
.dbline 108
movw R16,R20
xcall _OS_EventWaitListInit
.dbline 109
L117:
.dbline 110
movw R16,R20
.dbline -2
L112:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r cpu_sr 10 c
.dbsym r pevent 20 pS[os_event]
.dbsym r cnt 22 i
.dbend
.dbfunc e OSSemDel _OSSemDel fpS[os_event]
; tasks_waiting -> R12
; cpu_sr -> R10
; err -> R22,R23
; opt -> R14
; pevent -> R20,R21
.even
_OSSemDel::
xcall push_gset5
mov R14,R18
movw R20,R16
sbiw R28,1
ldd R22,y+11
ldd R23,y+12
.dbline -1
.dbline 153
.dbline 160
clr R2
lds R3,_OSIntNesting
cp R2,R3
brsh L120
.dbline 160
.dbline 161
ldi R24,140
movw R30,R22
std z+0,R24
.dbline 162
movw R16,R20
xjmp L119
L120:
.dbline 170
movw R30,R20
ldd R24,z+0
cpi R24,3
breq L122
.dbline 170
.dbline 171
ldi R24,1
movw R30,R22
std z+0,R24
.dbline 172
movw R16,R20
xjmp L119
L122:
.dbline 174
xcall _OS_CPU_SR_Save
mov R10,R16
.dbline 175
movw R30,R20
ldd R2,z+1
tst R2
breq L124
.dbline 175
.dbline 176
clr R12
inc R12
.dbline 177
xjmp L125
L124:
.dbline 177
.dbline 178
clr R12
.dbline 179
L125:
.dbline 180
clr R15
tst R14
brne X24
tst R15
breq L129
X24:
movw R24,R14
cpi R24,1
ldi R30,0
cpc R25,R30
brne X26
xjmp L134
X26:
xjmp L126
X25:
.dbline 180
L129:
.dbline 182
tst R12
brne L130
.dbline 182
.dbline 187
clr R2
movw R30,R20
std z+0,R2
.dbline 188
lds R2,_OSEventFreeList
lds R3,_OSEventFreeList+1
std z+5,R3
std z+4,R2
.dbline 189
clr R2
clr R3
movw R30,R20
std z+3,R3
std z+2,R2
.dbline 190
sts _OSEventFreeList+1,R21
sts _OSEventFreeList,R20
.dbline 191
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 192
clr R2
movw R30,R22
std z+0,R2
.dbline 193
clr R16
clr R17
xjmp L119
L130:
.dbline 194
.dbline 195
mov R16,R10
xcall _OS_CPU_SR_Restore
.dbline 196
ldi R24,8
movw R30,R22
std z+0,R24
.dbline 197
movw R16,R20
xjmp L119
L133:
.dbline 201
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?