?? ucos_ii.s
字號:
.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 + -