📄 ucos_ii.lst
字号:
C166 COMPILER V6.04, UCOS_II 08/31/2006 20:53:34 PAGE 1
C166 COMPILER V6.04, COMPILATION OF MODULE UCOS_II
OBJECT MODULE PLACED IN uCOS_II.OBJ
COMPILER INVOKED BY: C:\Keil\C166\BIN\C166.EXE uCOS_II.C MODV2 LARGE BROWSE MODV2 DEBUG CODE
stmt lvl source
1 /*
2 *********************************************************************************************************
3 * uC/OS-II
4 * The Real-Time Kernel
5 *
6 * (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
7 * All Rights Reserved
8 *
9 * File : uCOS_II.C
10 * By : Jean J. Labrosse
11 *********************************************************************************************************
12 */
13
14 #define OS_GLOBALS /* Declare GLOBAL variables */
15 #include "includes.h"
16
17
18
19 #define OS_MASTER_FILE /* Prevent the following files from including includes.h */
20 #include "os_core.c"
21 #include "os_flag.c"
22 #include "os_mbox.c"
23 #include "os_mem.c"
24 #include "os_mutex.c"
25 #include "os_q.c"
26 #include "os_sem.c"
27 #include "os_task.c"
*** WARNING C192 IN LINE 294 OF OS_TASK.C: 'parameter 3': value truncated
28 #include "os_time.c"
C166 COMPILER V6.04, UCOS_II 08/31/2006 20:53:34 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION OSInit (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 84
; SOURCE LINE # 87
0000 DA000000 E CALLS SEG (OSInitHookBegin),OSInitHookBegin
; SOURCE LINE # 90
0004 DA000000 E CALLS SEG (OSTickISRInit),OSTickISRInit
; SOURCE LINE # 92
0008 DA000000 R CALLS SEG (OS_InitMisc),OS_InitMisc
; SOURCE LINE # 94
000C DA000000 R CALLS SEG (OS_InitRdyList),OS_InitRdyList
; SOURCE LINE # 95
0010 DA000000 R CALLS SEG (OS_InitTCBList),OS_InitTCBList
; SOURCE LINE # 96
0014 DA000000 R CALLS SEG (OS_InitEventList),OS_InitEventList
; SOURCE LINE # 99
0018 DA000000 R CALLS SEG (OS_FlagInit),OS_FlagInit
; SOURCE LINE # 103
001C DA000000 R CALLS SEG (OS_MemInit),OS_MemInit
; SOURCE LINE # 107
0020 DA000000 R CALLS SEG (OS_QInit),OS_QInit
; SOURCE LINE # 110
0024 DA000000 R CALLS SEG (OS_InitTaskIdle),OS_InitTaskIdle
; SOURCE LINE # 112
0028 DA000000 R CALLS SEG (OS_InitTaskStat),OS_InitTaskStat
; SOURCE LINE # 116
002C DA000000 E CALLS SEG (OSInitHookEnd),OSInitHookEnd
; SOURCE LINE # 118
0030 DB00 RETS
; FUNCTION OSInit (END RMASK = @0x7FFF)
; FUNCTION OSIntEnter (BEGIN RMASK = @0x0010)
; SOURCE LINE # 145
; SOURCE LINE # 147
0032 F3F83B00 R MOVB RL4,OSRunning
0036 4981 CMPB RL4,#01H
0038 3D07 JMPR cc_NZ,?C0001
; SOURCE LINE # 148
003A F3F83900 R MOVB RL4,OSIntNesting
003E 47F8FF00 CMPB RL4,#0FFH
0042 9D02 JMPR cc_UGE,?C0001
; SOURCE LINE # 149
0044 258F3900 R SUBB OSIntNesting,ONES
; SOURCE LINE # 150
0048 ?C0001:
; SOURCE LINE # 152
0048 DB00 RETS
; FUNCTION OSIntEnter (END RMASK = @0x0010)
; FUNCTION OSIntExit (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 173
; SOURCE LINE # 180
004A F3F83B00 R MOVB RL4,OSRunning
004E 4981 CMPB RL4,#01H
0050 3D40 JMPR cc_NZ,?C0003
; SOURCE LINE # 181
0052 BE88 BCLR PSW_IEN
; SOURCE LINE # 182
0054 F3F83900 R MOVB RL4,OSIntNesting
0058 4980 CMPB RL4,#00H
C166 COMPILER V6.04, UCOS_II 08/31/2006 20:53:34 PAGE 3
005A FD02 JMPR cc_ULE,?C0004
; SOURCE LINE # 183
005C 058F3900 R ADDB OSIntNesting,ONES
; SOURCE LINE # 184
0060 ?C0004:
; SOURCE LINE # 185
0060 F3F83900 R MOVB RL4,OSIntNesting
0064 3D35 JMPR cc_NZ,?C0005
0066 F3F83A00 R MOVB RL4,OSLockNesting
006A 3D32 JMPR cc_NZ,?C0005
; SOURCE LINE # 186
006C C2F43D00 R MOVBZ R4,OSRdyGrp
0070 D7400000 R EXTP #PAG (OSUnMapTbl),#01H
0074 F4840000 R MOVB RL4,[R4+#POF(OSUnMapTbl)]
0078 F7F83800 R MOVB OSIntExitY,RL4
; SOURCE LINE # 187
007C C2F43800 R MOVBZ R4,OSIntExitY
0080 D7400000 R EXTP #PAG (OSRdyTbl),#01H
0084 F4840000 R MOVB RL4,[R4+#POF(OSRdyTbl)]
0088 C084 MOVBZ R4,RL4
008A D7400000 R EXTP #PAG (OSUnMapTbl),#01H
008E F4840000 R MOVB RL4,[R4+#POF(OSUnMapTbl)]
0092 C085 MOVBZ R5,RL4
0094 C2F43800 R MOVBZ R4,OSIntExitY
0098 5C34 SHL R4,#03H
009A 0045 ADD R4,R5
009C F7F83400 R MOVB OSPrioHighRdy,RL4
; SOURCE LINE # 188
00A0 F3F83600 R MOVB RL4,OSPrioCur
00A4 43F83400 R CMPB RL4,OSPrioHighRdy
00A8 2D13 JMPR cc_Z,?C0005
; SOURCE LINE # 189
00AA C2F63400 R MOVBZ R6,OSPrioHighRdy
00AE 5C26 SHL R6,#02H
00B0 D7500000 R EXTP #PAG (OSTCBPrioTbl),#02H
00B4 D4560200 R MOV R5,[R6+#POF(OSTCBPrioTbl+02H)]
00B8 D4460000 R MOV R4,[R6+#POF(OSTCBPrioTbl)]
00BC F6F41C00 R MOV OSTCBHighRdy,R4
00C0 F6F51E00 R MOV OSTCBHighRdy+02H,R5
; SOURCE LINE # 190
00C4 248F1000 R SUB OSCtxSwCtr,ONES
00C8 348F1200 R SUBC OSCtxSwCtr+02H,ONES
; SOURCE LINE # 191
00CC DA000000 E CALLS SEG (OSIntCtxSw),OSIntCtxSw
; SOURCE LINE # 193
00D0 ?C0005:
; SOURCE LINE # 195
00D0 BF88 BSET PSW_IEN
; SOURCE LINE # 196
00D2 ?C0003:
00D2 DB00 RETS
; FUNCTION OSIntExit (END RMASK = @0x7FFF)
; FUNCTION OSSchedLock (BEGIN RMASK = @0x4010)
; SOURCE LINE # 217
; SOURCE LINE # 224
00D4 F3F83B00 R MOVB RL4,OSRunning
00D8 4981 CMPB RL4,#01H
00DA 3D09 JMPR cc_NZ,?C0007
; SOURCE LINE # 225
00DC BE88 BCLR PSW_IEN
; SOURCE LINE # 226
C166 COMPILER V6.04, UCOS_II 08/31/2006 20:53:34 PAGE 4
00DE F3F83A00 R MOVB RL4,OSLockNesting
00E2 47F8FF00 CMPB RL4,#0FFH
00E6 9D02 JMPR cc_UGE,?C0008
; SOURCE LINE # 227
00E8 258F3A00 R SUBB OSLockNesting,ONES
; SOURCE LINE # 228
00EC ?C0008:
; SOURCE LINE # 229
00EC BF88 BSET PSW_IEN
; SOURCE LINE # 230
00EE ?C0007:
00EE DB00 RETS
; FUNCTION OSSchedLock (END RMASK = @0x4010)
; FUNCTION OSSchedUnlock (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 251
; SOURCE LINE # 258
00F0 F3F83B00 R MOVB RL4,OSRunning
00F4 4981 CMPB RL4,#01H
00F6 3D14 JMPR cc_NZ,?C0009
; SOURCE LINE # 259
00F8 BE88 BCLR PSW_IEN
; SOURCE LINE # 260
00FA F3F83A00 R MOVB RL4,OSLockNesting
00FE 4980 CMPB RL4,#00H
0100 FD0E JMPR cc_ULE,?C0010
; SOURCE LINE # 261
0102 058F3A00 R ADDB OSLockNesting,ONES
; SOURCE LINE # 262
0106 F3F83A00 R MOVB RL4,OSLockNesting
010A 3D07 JMPR cc_NZ,?C0011
010C F3F83900 R MOVB RL4,OSIntNesting
0110 3D04 JMPR cc_NZ,?C0011
; SOURCE LINE # 263
0112 BF88 BSET PSW_IEN
; SOURCE LINE # 264
0114 DA000000 R CALLS SEG (OS_Sched),OS_Sched
; SOURCE LINE # 265
0118 DB00 RETS
011A ?C0011:
; SOURCE LINE # 266
011A BF88 BSET PSW_IEN
; SOURCE LINE # 267
; SOURCE LINE # 268
011C DB00 RETS
011E ?C0010:
; SOURCE LINE # 269
011E BF88 BSET PSW_IEN
; SOURCE LINE # 270
; SOURCE LINE # 271
0120 ?C0009:
0120 DB00 RETS
; FUNCTION OSSchedUnlock (END RMASK = @0x7FFF)
; FUNCTION OSStart (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 296
; SOURCE LINE # 297
; SOURCE LINE # 302
0122 F3F83B00 R MOVB RL4,OSRunning
0126 3D2B JMPR cc_NZ,?C0014
; SOURCE LINE # 303
0128 C2F43D00 R MOVBZ R4,OSRdyGrp
C166 COMPILER V6.04, UCOS_II 08/31/2006 20:53:34 PAGE 5
012C D7400000 R EXTP #PAG (OSUnMapTbl),#01H
0130 F4A40000 R MOVB RL5,[R4+#POF(OSUnMapTbl)]
;---- Variable 'y' assigned to Register 'RL5' ----
; SOURCE LINE # 304
0134 C0A4 MOVBZ R4,RL5
0136 D7400000 R EXTP #PAG (OSRdyTbl),#01H
013A F4840000 R MOVB RL4,[R4+#POF(OSRdyTbl)]
013E C084 MOVBZ R4,RL4
0140 D7400000 R EXTP #PAG (OSUnMapTbl),#01H
0144 F4840000 R MOVB RL4,[R4+#POF(OSUnMapTbl)]
;---- Variable 'x' assigned to Register 'RL4' ----
; SOURCE LINE # 305
0148 C0A5 MOVBZ R5,RL5
014A 5C35 SHL R5,#03H
014C C084 MOVBZ R4,RL4
014E 0045 ADD R4,R5
0150 F1A8 MOVB RL5,RL4
0152 F7FA3400 R MOVB OSPrioHighRdy,RL5
; SOURCE LINE # 306
0156 F7FA3600 R MOVB OSPrioCur,RL5
; SOURCE LINE # 307
015A C0A6 MOVBZ R6,RL5
015C 5C26 SHL R6,#02H
015E D7500000 R EXTP #PAG (OSTCBPrioTbl),#02H
0162 D4560200 R MOV R5,[R6+#POF(OSTCBPrioTbl+02H)]
0166 D4460000 R MOV R4,[R6+#POF(OSTCBPrioTbl)]
016A F6F41C00 R MOV OSTCBHighRdy,R4
016E F6F51E00 R MOV OSTCBHighRdy+02H,R5
; SOURCE LINE # 308
0172 F6F42000 R MOV OSTCBCur,R4
0176 F6F52200 R MOV OSTCBCur+02H,R5
; SOURCE LINE # 309
017A DA000000 E CALLS SEG (OSStartHighRdy),OSStartHighRdy
; SOURCE LINE # 310
017E ?C0014:
; SOURCE LINE # 311
017E DA000000 E CALLS SEG (OSTickISRInit),OSTickISRInit
; SOURCE LINE # 312
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -