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 + -
显示快捷键?