⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucos_ii.s

📁 atmel128L
💻 S
📖 第 1 页 / 共 5 页
字号:
	sts _OSTCBCur+1,R3
	sts _OSTCBCur,R2
	.dbline 465
	xcall _OSStartHighRdy
	.dbline 466
L33:
	.dbline -2
	.dbline 467
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
L32:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r x 22 c
	.dbsym r y 20 c
	.dbend
	.dbfunc e OSTimeTick _OSTimeTick fV
;           step -> R20
;         cpu_sr -> R20
;           ptcb -> R22,R23
	.even
_OSTimeTick::
	xcall push_gset2
	.dbline -1
	.dbline 524
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; 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 533
; p
; p
; p
; p
; p
; p
; p
; p
; p
	xcall _OSTimeTickHook
	.dbline 540
; p
; p
; p
; p
; p
; p
; p
	lds R24,_OSRunning
	cpi R24,1
	breq X7
	xjmp L36
X7:
	.dbline 540
	.dbline 562
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	ldi R20,1
	.dbline 564
; p
; p
	cpi R20,1
	breq X8
	xjmp L38
X8:
	.dbline 564
	.dbline 565
; p
	lds R22,_OSTCBList
	lds R23,_OSTCBList+1
	xjmp L41
L40:
	.dbline 566
; p
	.dbline 567
; p
	xcall _OS_CPU_SR_Save
	mov R20,R16
	.dbline 568
; p
	movw R30,R22
	ldd R2,z+8
	ldd R3,z+9
	tst R2
	brne X5
	tst R3
	brne X9
	xjmp L43
X9:
X5:
	.dbline 568
	.dbline 569
; p
	movw R24,R22
	adiw R24,8
	movw R30,R24
	ldd R24,z+0
	ldd R25,z+1
	sbiw R24,1
	movw R4,R24
	std z+1,R5
	std z+0,R4
	cpi R24,0
	cpc R24,R25
	brne L45
X6:
	.dbline 569
	.dbline 570
; p
	movw R30,R22
	ldd R2,z+10
	sbrc R2,3
	rjmp L47
	.dbline 570
	.dbline 571
; p
	ldd R2,z+15
	lds R3,_OSRdyGrp
	or R3,R2
	sts _OSRdyGrp,R3
	.dbline 572
; p
	ldi R24,<_OSRdyTbl
	ldi R25,>_OSRdyTbl
	ldd R2,z+13
	clr R3
	add R2,R24
	adc R3,R25
	ldd R4,z+14
	movw R30,R2
	ldd R5,z+0
	or R5,R4
	std z+0,R5
	.dbline 573
	xjmp L48
L47:
	.dbline 573
; p
	.dbline 574
; p
	ldi R24,1
	ldi R25,0
	movw R30,R22
	std z+9,R25
	std z+8,R24
	.dbline 575
; p
L48:
	.dbline 576
; p
L45:
	.dbline 577
; p
L43:
	.dbline 578
	movw R30,R22
	ldd R22,z+2
	ldd R23,z+3
	.dbline 579
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline 580
L41:
	.dbline 566
	movw R30,R22
	ldd R24,z+11
	cpi R24,8
	breq X10
	xjmp L40
X10:
	.dbline 581
; p
; p
; p
; p
L38:
	.dbline 582
L36:
	.dbline -2
	.dbline 583
; p
; p
L35:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r step 20 c
	.dbsym r cpu_sr 20 c
	.dbsym r ptcb 22 pX
	.dbend
	.dbfunc e OSVersion _OSVersion fi
	.even
_OSVersion::
	.dbline -1
	.dbline 600
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	.dbline 601
; p
	ldi R16,270
	ldi R17,1
	.dbline -2
L49:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OS_EventTaskRdy _OS_EventTaskRdy fc
;           bity -> R12
;           bitx -> R22
;           prio -> R20
;              x -> R20
;           ptcb -> R14,R15
;              y -> R10
;            msk -> y+10
;            msg -> R18,R19
;         pevent -> R16,R17
	.even
_OS_EventTaskRdy::
	xcall push_gset5
	.dbline -1
	.dbline 647
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; 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 656
; p
; p
; p
; p
; p
; p
; p
; p
; p
	ldi R24,<_OSUnMapTbl
	ldi R25,>_OSUnMapTbl
	movw R30,R16
	ldd R30,z+1
	clr R31
	add R30,R24
	adc R31,R25
	lpm R10,Z
	.dbline 657
; p
	ldi R24,<_OSMapTbl
	ldi R25,>_OSMapTbl
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	lpm R12,Z
	.dbline 658
; p
	movw R24,R16
	adiw R24,6
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	ldd R30,z+0
	clr R31
	ldi R24,<_OSUnMapTbl
	ldi R25,>_OSUnMapTbl
	add R30,R24
	adc R31,R25
	lpm R20,Z
	.dbline 659
; p
	ldi R24,<_OSMapTbl
	ldi R25,>_OSMapTbl
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	lpm R22,Z
	.dbline 660
; p
	mov R2,R20
	clr R3
	mov R20,R10
	clr R21
	lsl R20
	rol R21
	lsl R20
	rol R21
	lsl R20
	rol R21
	add R20,R2
	adc R21,R3
	.dbline 661
; p
	movw R24,R16
	adiw R24,6
	mov R2,R10
	clr R3
	add R2,R24
	adc R3,R25
	mov R4,R22
	com R4
	movw R30,R2
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 662
; p
	movw R24,R16
	adiw R24,6
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	tst R2
	brne L51
	.dbline 662
	.dbline 663
; p
	movw R24,R16
	adiw R24,1
	mov R4,R12
	com R4
	movw R30,R24
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 664
; p
L51:
	.dbline 665
; p
	ldi R24,2
	mul R24,R20
	movw R30,R0
	ldi R24,<_OSTCBPrioTbl
	ldi R25,>_OSTCBPrioTbl
	add R30,R24
	adc R31,R25
	ldd R14,z+0
	ldd R15,z+1
	.dbline 666
; p
	clr R2
	clr R3
	movw R30,R14
	std z+9,R3
	std z+8,R2
	.dbline 667
; p
	std z+7,R3
	std z+6,R2
	.dbline 671
; p
; p
; p
; p
	.dbline 673
; p
; p
	movw R24,R30
	adiw R24,10
	ldd R4,y+10
	com R4
	movw R30,R24
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 674
; p
	movw R30,R14
	ldd R2,z+10
	tst R2
	brne L53
	.dbline 674
	.dbline 675
; p
	lds R2,_OSRdyGrp
	or R2,R12
	sts _OSRdyGrp,R2
	.dbline 676
; p
	ldi R24,<_OSRdyTbl
	ldi R25,>_OSRdyTbl
	mov R2,R10
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R4,z+0
	or R4,R22
	std z+0,R4
	.dbline 677
; p
L53:
	.dbline 678
; p
	mov R16,R20
	.dbline -2
L50:
	xcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r bity 12 c
	.dbsym r bitx 22 c
	.dbsym r prio 20 c
	.dbsym r x 20 c
	.dbsym r ptcb 14 pX
	.dbsym r y 10 c
	.dbsym l msk 10 c
	.dbsym r msg 18 pV
	.dbsym r pevent 16 pX
	.dbend
	.dbfunc e OS_EventTaskWait _OS_EventTaskWait fV
;              y -> R20
;         pevent -> R16,R17
	.even
_OS_EventTaskWait::
	xcall push_gset1
	.dbline -1
	.dbline 698
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	.dbline 702
; p
; p
; p
; p
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	std z+7,R17
	std z+6,R16
	.dbline 703
; p
	ldd R20,z+13
	.dbline 704
; p
	ldi R24,<_OSRdyTbl
	ldi R25,>_OSRdyTbl
	mov R2,R20
	clr R3
	add R2,R24
	adc R3,R25
	ldd R4,z+14
	com R4
	movw R30,R2
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 705
; p
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	tst R2
	brne L56
	.dbline 705
	.dbline 706
; p
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	ldd R2,z+15
	com R2
	lds R3,_OSRdyGrp
	and R3,R2
	sts _OSRdyGrp,R3
	.dbline 707
; p
L56:
	.dbline 708
; p
	movw R24,R16
	adiw R24,6
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	ldd R2,z+13
	clr R3
	add R2,R24
	adc R3,R25
	ldd R4,z+14
	movw R30,R2
	ldd R5,z+0
	or R5,R4
	std z+0,R5
	.dbline 709
; p
	movw R24,R16
	adiw R24,1
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	ldd R4,z+15
	movw R30,R24
	ldd R5,z+0
	or R5,R4
	std z+0,R5
	.dbline -2
	.dbline 710
; p
L55:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r y 20 c
	.dbsym r pevent 16 pX
	.dbend
	.dbfunc e OS_EventTO _OS_EventTO fV
;              y -> R20
;         pevent -> R16,R17
	.even
_OS_EventTO::
	xcall push_gset1
	.dbline -1
	.dbline 729
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	.dbline 733
; p
; p
; p
; p
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	ldd R20,z+13
	.dbline 734
; p
	movw R24,R16
	adiw R24,6
	mov R2,R20
	clr R3
	add R2,R24
	adc R3,R25
	ldd R4,z+14
	com R4
	movw R30,R2
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 735
; p
	movw R24,R16
	adiw R24,6
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	tst R2
	brne L59
	.dbline 735
	.dbline 736
; p
	movw R24,R16
	adiw R24,1
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	ldd R4,z+15
	com R4
	movw R30,R24
	ldd R5,z+0
	and R5,R4
	std z+0,R5
	.dbline 737
; p
L59:
	.dbline 738
; p
	clr R2
	lds R30,_OSTCBCur
	lds R31,_OSTCBCur+1
	std z+10,R2
	.dbline 739
; p
	clr R3
	std z+7,R3
	std z+6,R2
	.dbline -2
	.dbline 740
; p
L58:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r y 20 c
	.dbsym r pevent 16 pX
	.dbend
	.dbfunc e OS_EventWaitListInit _OS_EventWaitListInit fV
;           ptbl -> R20,R21
;         pevent -> R16,R17
	.even
_OS_EventWaitListInit::
	xcall push_gset1
	.dbline -1
	.dbline 758
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	.dbline 762
; p
; p
; p
; p
	clr R2
	movw R30,R16
	std z+1,R2
	.dbline 763
; p
	movw R20,R30
	subi R20,250  ; offset = 6
	sbci R21,255
	.dbline 766
; p
; p
; p
	movw R30,R20
	st Z+,R2
	.dbline 770
; p
; p
; p
; p
	st Z+,R2
	movw R20,R30
	.dbline -2
	.dbline 796
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
L61:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r ptbl 20 pc
	.dbsym r pevent 16 pX
	.dbend
	.dbfunc s OS_InitEventList _OS_InitEventList fV
;        pevent2 -> R20,R21
;              i -> R22,R23
;        pevent1 -> R10,R11
	.even
_OS_InitEventList:
	xcall push_gset3
	.dbline -1
	.dbline 813
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
; p
	.dbline 821
; p
; p
; p
; p
; p
; p
; p
; p
	ldi R18,40
	ldi R19,0
	ldi R16,<_OSEventTbl
	ldi R17,>_OSEventTbl
	xcall _OS_MemClr
	.dbline 822
; p
	ldi R24,<_OSEventTbl
	ldi R25,>_OSEventTbl
	movw R10,R24
	.dbline 823
; p
	ldi R20,<_OSEventTbl+8
	ldi R21,>_OSEventTbl+8
	.dbline 824
	clr R22
	clr R23
	xjmp L67
L64:
	.dbline 824
	.dbline 825
	clr R2
	movw R30,R10
	std z+0,R2
	.dbline 826
	std z+5,R21
	std z+4,R20
	.dbline 831
	movw R24,R30
	adiw R24,8
	movw R10,R24
	.dbline 832
	subi R20,248  ; offset = 8
	sbci R21,255
	.dbline 833
L65:
	.dbline 824
	subi R22,255  ; offset = 1
	sbci R23,255
L67:
	.dbline 824
; p
	cpi R22,4
	ldi R30,0
	cpc R23,R30

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -