📄 os_cpu_c.ls1
字号:
A51 MACRO ASSEMBLER OS_CPU_C 03/19/2009 12:41:50 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\OS_CPU_C.OBJ
ASSEMBLER INVOKED BY: D:\KEIL\C51\BIN\A51.EXE .\OS_CPU_C.src PR(.\OS_CPU_C.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\OS_CPU_C.SRC generated from: ..\uc_51\OS_CPU_C.C
2 ; COMPILER INVOKED BY:
3 ; D:\KEIL\C51\BIN\C51.EXE ..\uc_51\OS_CPU_C.C BROWSE DEBUG OBJECTEXTEND PRINT(.\OS_C
PU_C.lst) SRC(.\OS_CPU_C.SRC)
4
5 $nomod51
6
7 NAME OS_CPU_C
8
0080 9 P0 DATA 080H
0090 10 P1 DATA 090H
00A0 11 P2 DATA 0A0H
00B0 12 P3 DATA 0B0H
00B4 13 T0 BIT 0B0H.4
00D6 14 AC BIT 0D0H.6
00B5 15 T1 BIT 0B0H.5
00AF 16 EA BIT 0A8H.7
00A8 17 IE DATA 0A8H
00B7 18 RD BIT 0B0H.7
00AC 19 ES BIT 0A8H.4
00B8 20 IP DATA 0B8H
0098 21 RI BIT 098H.0
00B2 22 INT0 BIT 0B0H.2
00D7 23 CY BIT 0D0H.7
0099 24 TI BIT 098H.1
00B3 25 INT1 BIT 0B0H.3
00BC 26 PS BIT 0B8H.4
0081 27 SP DATA 081H
00D2 28 OV BIT 0D0H.2
00B6 29 WR BIT 0B0H.6
0099 30 SBUF DATA 099H
0087 31 PCON DATA 087H
0098 32 SCON DATA 098H
0089 33 TMOD DATA 089H
0088 34 TCON DATA 088H
0089 35 IE0 BIT 088H.1
008B 36 IE1 BIT 088H.3
00F0 37 B DATA 0F0H
00E0 38 ACC DATA 0E0H
00A9 39 ET0 BIT 0A8H.1
00AB 40 ET1 BIT 0A8H.3
008D 41 TF0 BIT 088H.5
008F 42 TF1 BIT 088H.7
009A 43 RB8 BIT 098H.2
008C 44 TH0 DATA 08CH
00A8 45 EX0 BIT 0A8H.0
0088 46 IT0 BIT 088H.0
008D 47 TH1 DATA 08DH
009B 48 TB8 BIT 098H.3
00AA 49 EX1 BIT 0A8H.2
008A 50 IT1 BIT 088H.2
00D0 51 P BIT 0D0H.0
009F 52 SM0 BIT 098H.7
008A 53 TL0 DATA 08AH
009E 54 SM1 BIT 098H.6
008B 55 TL1 DATA 08BH
009D 56 SM2 BIT 098H.5
00B9 57 PT0 BIT 0B8H.1
A51 MACRO ASSEMBLER OS_CPU_C 03/19/2009 12:41:50 PAGE 2
00BB 58 PT1 BIT 0B8H.3
00D3 59 RS0 BIT 0D0H.3
008C 60 TR0 BIT 088H.4
00D4 61 RS1 BIT 0D0H.4
008E 62 TR1 BIT 088H.6
00B8 63 PX0 BIT 0B8H.0
00BA 64 PX1 BIT 0B8H.2
0083 65 DPH DATA 083H
0082 66 DPL DATA 082H
009C 67 REN BIT 098H.4
00B0 68 RXD BIT 0B0H.0
00B1 69 TXD BIT 0B0H.1
00D5 70 F0 BIT 0D0H.5
00D0 71 PSW DATA 0D0H
72 ?PR?_?OSTaskStkInit?OS_CPU_C SEGMENT CODE
73 ?PR?OSTickISR?OS_CPU_C SEGMENT CODE
74 ?PR?_?OSTaskCreateHook?OS_CPU_C SEGMENT CODE
75 ?PR?_?OSTaskDelHook?OS_CPU_C SEGMENT CODE
76 ?PR?_?OSTaskSwHook?OS_CPU_C SEGMENT CODE
77 ?PR?_?OSTaskStatHook?OS_CPU_C SEGMENT CODE
78 ?PR?_?OSTimeTickHook?OS_CPU_C SEGMENT CODE
79 EXTRN CODE (_?OSIntExit)
80 EXTRN CODE (_?OSTimeTick)
81 EXTRN CODE (_?OSIntEnter)
82 EXTRN DATA (?C_IBP)
83 PUBLIC _?OSTimeTickHook
84 PUBLIC _?OSTaskStatHook
85 PUBLIC _?OSTaskSwHook
86 PUBLIC _?OSTaskDelHook
87 PUBLIC _?OSTaskCreateHook
88 PUBLIC OSTickISR
89 PUBLIC _?OSTaskStkInit
90 ; /*
91 ; *****************************************************************************************
****************
92 ; * uC/OS-II
93 ; * The Real-Time Kernel
94 ; *
95 ; * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
96 ; * All Rights Reserved
97 ; *
98 ; *
99 ; * KeilC51 Specific code
100 ; * SMALL MEMORY MODEL
101 ; *
102 ; * File : OS_CPU_C.C
103 ; * By : Jean J. Labrosse
104 ; * Refer to Code Written By : Yang Yi (http://www.zlgmcu.com/philips/philips-em
bedsys.asp)
105 ; * Port to KeilC51 Small Mode By : Li Zhanglin (wzzlin@nankai.edu.cn)
106 ; *****************************************************************************************
****************
107 ; */
108 ; #define OS_CPU_GLOBALS
109 ; #include "..\uc_os_II\includes.h"
110 ;
111 ; /*
112 ; *****************************************************************************************
****************
113 ; * OSTaskStkInit
114 ; *
115 ; * Description: Init stack before task running.
116 ; *
117 ; * Arguments : task is a pointer to the task code
118 ; *
119 ; * pdata is a pointer to a user supplied data area that will be passe
A51 MACRO ASSEMBLER OS_CPU_C 03/19/2009 12:41:50 PAGE 3
d to the task
120 ; * when the task first executes.
121 ; *
122 ; * ptos is a pointer to the top of stack. It is assumed that 'ptos'
points to
123 ; * a 'free' entry on the task stack. If OS_STK_GROWTH is set t
o 1 then
124 ; * 'ptos' will contain the HIGHEST valid address of the stack.
Similarly, if
125 ; * OS_STK_GROWTH is set to 0, the 'ptos' will contains the LOWE
ST valid address
126 ; * of the stack.
127 ; *
128 ; * opt specifies options that can be used to alter the behavior of
OSTaskStkInit().
129 ; * (see uCOS_II.H for OS_TASK_OPT_???).
130 ; *
131 ; * Returns : Always returns the bottom of stack.
132 ; *
133 ; * Note(s) : 1) stack stored as following format
134 ;
135 ; ; CONTENT
START POSITION IN OSTCBStk
136 ; ; ----------
----------------------
137 ; ; AR7
138 ; ; AR6
139 ; ; AR5
140 ; ; AR4
141 ; ; AR3
142 ; ; AR2
143 ; ; AR1
144 ; ; AR0
145 ; ; PSW
146 ; ; DPL
147 ; ; DPH
148 ; ; B
149 ; ; ACC
150 ; ; HARDWARE STACK CONTENT(NOT INCLUDE REGISTERS) 2+SmltStkSize
151 ; ; HARDWARE STACK SIZE(INCLUDE REGISTERS) 1+SmltStkSi
ze
152 ; ; SIMULATED STACK CONTENT
1
153 ; ; ?C_IBP
0
154 ;
155 ; *****************************************************************************************
****************
156 ; */
157 ;
158 ; void DT_XDATA *OSTaskStkInit (void (DT_CODE *task)(void DT_XDATA *pd), void DT_XDATA *ppd
ata, void DT_XDATA *ptos, INT16U opt) REENTRANT
159
---- 160 RSEG ?PR?_?OSTaskStkInit?OS_CPU_C
0000 161 _?OSTaskStkInit:
162 USING 0
163 ; SOURCE LINE # 69
0000 1500 F 164 DEC ?C_IBP
0002 1500 F 165 DEC ?C_IBP
0004 A800 F 166 MOV R0,?C_IBP
0006 A602 167 MOV @R0,AR2
0008 08 168 INC R0
0009 A603 169 MOV @R0,AR3
000B 1500 F 170 DEC ?C_IBP
000D 1500 F 171 DEC ?C_IBP
A51 MACRO ASSEMBLER OS_CPU_C 03/19/2009 12:41:50 PAGE 4
000F A800 F 172 MOV R0,?C_IBP
0011 A604 173 MOV @R0,AR4
0013 08 174 INC R0
0014 A605 175 MOV @R0,AR5
0016 1500 F 176 DEC ?C_IBP
0018 1500 F 177 DEC ?C_IBP
001A A800 F 178 MOV R0,?C_IBP
001C A606 179 MOV @R0,AR6
001E 08 180 INC R0
001F A607 181 MOV @R0,AR7
0021 1500 F 182 DEC ?C_IBP
0023 1500 F 183 DEC ?C_IBP
184 ; {
185 ; OS_STK DT_XDATA *stk;
186 ;
187 ; ppdata = ppdata;
188 ; SOURCE LINE # 73
0025 E500 F 189 MOV A,?C_IBP
0027 2404 190 ADD A,#04H
0029 F8 191 MOV R0,A
002A E6 192 MOV A,@R0
002B FE 193 MOV R6,A
002C 08 194 INC R0
002D E6 195 MOV A,@R0
002E FF 196 MOV R7,A
002F E500 F 197 MOV A,?C_IBP
0031 2404 198 ADD A,#04H
0033 F8 199 MOV R0,A
0034 A606 200 MOV @R0,AR6
0036 08 201 INC R0
0037 A607 202 MOV @R0,AR7
203 ; opt = opt;
204 ; SOURCE LINE # 74
0039 E500 F 205 MOV A,?C_IBP
003B 2408 206 ADD A,#08H
003D F8 207 MOV R0,A
003E E6 208 MOV A,@R0
003F FE 209 MOV R6,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -