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

📄 ucos_ii.s

📁 atmel128L
💻 S
📖 第 1 页 / 共 5 页
字号:
	.module uCOS_II.C
	.area lit(rom, con, rel)
_OSMapTbl::
	.byte 1,2
	.byte 4,8
	.byte 16,32
	.byte 64,128
	.dbfile /UCOS-II_AVR_ICC/RTOSIC~1/OS_SOURCE/os_core.c
	.dbsym e OSMapTbl _OSMapTbl A[8:8]kc
_OSUnMapTbl::
	.byte 0,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 5,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 6,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 5,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 7,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 5,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 6,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 5,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 4,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.byte 3,0
	.byte 1,0
	.byte 2,0
	.byte 1,0
	.dbsym e OSUnMapTbl _OSUnMapTbl A[256:256]kc
	.area text(rom, con, rel)
	.dbfile /UCOS-II_AVR_ICC/RTOSIC~1/OS_SOURCE/os_core.c
	.dbfunc e OSInit _OSInit fV
	.even
_OSInit::
	.dbline -1
	.dbline 230
; /*
; *********************************************************************************************************
; *                                                uC/OS-II
; *                                          The Real-Time Kernel
; *
; *                          (c) Copyright 1992-2003, Jean J. Labrosse, Weston, FL
; *                                           All Rights Reserved
; *
; * File : uCOS_II.C
; * By   : Jean J. Labrosse
; *********************************************************************************************************
; */
; 
; #define  OS_GLOBALS                           /* Declare GLOBAL variables                              */
; #include <ucos_ii.h>
; 
; 
; #define  OS_MASTER_FILE                       /* Prevent the following files from including includes.h */
; #include <os_core.c>
; #include <os_flag.c>
; #include <os_mbox.c>
; #include <os_mem.c>
; #include <os_mutex.c>
; #include <os_q.c>
; #include <os_sem.c>
; #include <os_task.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>
; #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>
; #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>
; #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>
; #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>
; #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>
	.dbline 232
; #include <os_time.c>
; #include <os_time.c>
	xcall _OSInitHookBegin
	.dbline 235
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	xcall _OS_InitMisc
	.dbline 237
; #include <os_time.c>
; #include <os_time.c>
	xcall _OS_InitRdyList
	.dbline 239
; #include <os_time.c>
; #include <os_time.c>
	xcall _OS_InitTCBList
	.dbline 241
; #include <os_time.c>
; #include <os_time.c>
	xcall _OS_InitEventList
	.dbline 255
; #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>
	xcall _OS_InitTaskIdle
	.dbline 261
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	xcall _OSInitHookEnd
	.dbline 265
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	.dbline -2
	.dbline 267
; #include <os_time.c>
; #include <os_time.c>
L1:
	.dbline 0 ; func end
	xjmp _OSDebugInit
	.dbend
	.dbfunc e OSIntEnter _OSIntEnter fV
	.even
_OSIntEnter::
	.dbline -1
	.dbline 295
; #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>
	.dbline 296
; #include <os_time.c>
	lds R24,_OSRunning
	cpi R24,1
	brne L3
	.dbline 296
	.dbline 297
; #include <os_time.c>
	lds R24,_OSIntNesting
	cpi R24,255
	brsh L5
	.dbline 297
	.dbline 298
; #include <os_time.c>
	subi R24,255    ; addi 1
	sts _OSIntNesting,R24
	.dbline 299
; #include <os_time.c>
L5:
	.dbline 300
L3:
	.dbline -2
	.dbline 301
; #include <os_time.c>
; #include <os_time.c>
L2:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSIntExit _OSIntExit fV
;         cpu_sr -> R10
	.even
_OSIntExit::
	xcall push_gset3
	.dbline -1
	.dbline 323
; #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>
	.dbline 329
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	lds R24,_OSRunning
	cpi R24,1
	breq X0
	xjmp L8
X0:
	.dbline 329
	.dbline 330
; #include <os_time.c>
	xcall _OS_CPU_SR_Save
	mov R10,R16
	.dbline 331
; #include <os_time.c>
	clr R2
	lds R3,_OSIntNesting
	cp R2,R3
	brsh L10
	.dbline 331
	.dbline 332
; #include <os_time.c>
	mov R24,R3
	subi R24,1
	sts _OSIntNesting,R24
	.dbline 333
; #include <os_time.c>
L10:
	.dbline 334
; #include <os_time.c>
	lds R2,_OSIntNesting
	tst R2
	breq X1
	xjmp L12
X1:
	.dbline 334
	.dbline 335
; #include <os_time.c>
	lds R2,_OSLockNesting
	tst R2
	breq X2
	xjmp L14
X2:
	.dbline 335
	.dbline 336
; #include <os_time.c>
	ldi R24,<_OSUnMapTbl
	ldi R25,>_OSUnMapTbl
	lds R30,_OSRdyGrp
	clr R31
	add R30,R24
	adc R31,R25
	lpm R30,Z
	sts _OSIntExitY,R30
	.dbline 337
; #include <os_time.c>
	ldi R24,<_OSRdyTbl
	ldi R25,>_OSRdyTbl
	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 R2,Z
	clr R3
	lds R4,_OSIntExitY
	clr R5
	lsl R4
	rol R5
	lsl R4
	rol R5
	lsl R4
	rol R5
	add R4,R2
	adc R5,R3
	sts _OSPrioHighRdy,R4
	.dbline 338
; #include <os_time.c>
	lds R2,_OSPrioCur
	cp R4,R2
	brne X3
	xjmp L16
X3:
	.dbline 338
	.dbline 339
; #include <os_time.c>
	mov R2,R4
	ldi R24,2
	mul R24,R2
	movw R30,R0
	ldi R24,<_OSTCBPrioTbl
	ldi R25,>_OSTCBPrioTbl
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldd R3,z+1
	sts _OSTCBHighRdy+1,R3
	sts _OSTCBHighRdy,R2
	.dbline 341
; #include <os_time.c>
; #include <os_time.c>
	movw R24,R2
	adiw R24,16
	ldi R20,1
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R24
	ldd R4,z+0
	ldd R5,z+1
	ldd R6,z+2
	ldd R7,z+3
	add R4,R20
	adc R5,R21
	adc R6,R22
	adc R7,R23
	std z+0,R4
	std z+1,R5
	std z+2,R6
	std z+3,R7
	.dbline 343
; #include <os_time.c>
; #include <os_time.c>
	ldi R20,1
	ldi R21,0
	ldi R22,0
	ldi R23,0
	lds R4,_OSCtxSwCtr+2
	lds R5,_OSCtxSwCtr+2+1
	lds R2,_OSCtxSwCtr
	lds R3,_OSCtxSwCtr+1
	add R2,R20
	adc R3,R21
	adc R4,R22
	adc R5,R23
	sts _OSCtxSwCtr+1,R3
	sts _OSCtxSwCtr,R2
	sts _OSCtxSwCtr+2+1,R5
	sts _OSCtxSwCtr+2,R4
	.dbline 344
; #include <os_time.c>
	xcall _OSIntCtxSw
	.dbline 345
; #include <os_time.c>
L16:
	.dbline 346
; #include <os_time.c>
L14:
	.dbline 347
; #include <os_time.c>
L12:
	.dbline 348
	mov R16,R10
	xcall _OS_CPU_SR_Restore
	.dbline 349
L8:
	.dbline -2
	.dbline 350
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
L7:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r cpu_sr 10 c
	.dbend
	.dbfunc e OSSchedLock _OSSchedLock fV
;         cpu_sr -> R20
	.even
_OSSchedLock::
	xcall push_gset1
	.dbline -1
	.dbline 370
; #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>
	.dbline 376
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	lds R24,_OSRunning
	cpi R24,1
	brne L19
	.dbline 376
	.dbline 377
; #include <os_time.c>
	xcall _OS_CPU_SR_Save
	mov R20,R16
	.dbline 378
; #include <os_time.c>
	lds R24,_OSLockNesting
	cpi R24,255
	brsh L21
	.dbline 378
	.dbline 379
; #include <os_time.c>
	subi R24,255    ; addi 1
	sts _OSLockNesting,R24
	.dbline 380
; #include <os_time.c>
L21:
	.dbline 381
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline 382
L19:
	.dbline -2
	.dbline 383
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
L18:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r cpu_sr 20 c
	.dbend
	.dbfunc e OSSchedUnlock _OSSchedUnlock fV
;         cpu_sr -> R20
	.even
_OSSchedUnlock::
	xcall push_gset1
	.dbline -1
	.dbline 404
; #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>
	.dbline 410
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
; #include <os_time.c>
	lds R24,_OSRunning
	cpi R24,1
	brne L24
	.dbline 410
	.dbline 411
; #include <os_time.c>
	xcall _OS_CPU_SR_Save
	mov R20,R16
	.dbline 412
; #include <os_time.c>
	clr R2
	lds R3,_OSLockNesting
	cp R2,R3
	brsh L26
	.dbline 412
	.dbline 413
; #include <os_time.c>
	mov R24,R3
	subi R24,1
	sts _OSLockNesting,R24
	.dbline 414
; #include <os_time.c>
	tst R24
	brne L28
	.dbline 414
	.dbline 415
; #include <os_time.c>
	lds R2,_OSIntNesting
	tst R2
	brne L30
	.dbline 415
	.dbline 416
; #include <os_time.c>
	xcall _OS_CPU_SR_Restore
	.dbline 417
; #include <os_time.c>
	xcall _OS_Sched
	.dbline 418
	xjmp L27
L30:
	.dbline 418
; #include <os_time.c>
	.dbline 419
; #include <os_time.c>
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline 420
; #include <os_time.c>
	.dbline 421
	xjmp L27
L28:
	.dbline 421
; #include <os_time.c>
	.dbline 422
; #include <os_time.c>
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline 423
; #include <os_time.c>
	.dbline 424
	xjmp L27
L26:
	.dbline 424
; #include <os_time.c>
	.dbline 425
; #include <os_time.c>
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline 426
; #include <os_time.c>
L27:
	.dbline 427
L24:
	.dbline -2
	.dbline 428
; #include <os_time.c>
; #include <os_time.c>
L23:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r cpu_sr 20 c
	.dbend
	.dbfunc e OSStart _OSStart fV
;              x -> R22
;              y -> R20
	.even
_OSStart::
	xcall push_gset2
	.dbline -1
	.dbline 453
	.dbline 458
	lds R2,_OSRunning
	tst R2
	breq X4
	xjmp L33
X4:
	.dbline 458
	.dbline 459
	ldi R24,<_OSUnMapTbl
	ldi R25,>_OSUnMapTbl
	lds R30,_OSRdyGrp
	clr R31
	add R30,R24
	adc R31,R25
	lpm R20,Z
	.dbline 460
	ldi R24,<_OSRdyTbl
	ldi R25,>_OSRdyTbl
	mov R30,R20
	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 R22,Z
	.dbline 461
	mov R2,R22
	clr R3
	mov R4,R20
	clr R5
	lsl R4
	rol R5
	lsl R4
	rol R5
	lsl R4
	rol R5
	add R4,R2
	adc R5,R3
	sts _OSPrioHighRdy,R4
	.dbline 462
	mov R2,R4
	sts _OSPrioCur,R2
	.dbline 463
	ldi R24,2
	mul R24,R2
	movw R30,R0
	ldi R24,<_OSTCBPrioTbl
	ldi R25,>_OSTCBPrioTbl
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldd R3,z+1
	sts _OSTCBHighRdy+1,R3
	sts _OSTCBHighRdy,R2
	.dbline 464

⌨️ 快捷键说明

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