📄 os_cpu_a.lst
字号:
A51 MACRO ASSEMBLER OS_CPU_A 04/04/2006 15:07:23 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\DEBUG\OS_CPU_A.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE Port\OS_CPU_A.ASM INCDIR(F:\test\Port;F:\test) SET(LARGE) DEBUG PRINT(.\LS
T\OS_CPU_A.lst) OBJECT(.\DEBUG\OS_CPU_A.obj) EP
LOC OBJ LINE SOURCE
1 ;******************************************************************************************
**************
2 ; uC/OS-II
3 ; The Real-Time Kernel
4 ;
5 ; (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
6 ; All Rights Reserved
7 ;
8 ;
9 ; at89c55wd Specific code
10 ; LARGE MEMORY MODEL
11 ;
12 ; keil C/C++ V7.2
13 ; (at89c55wd Compatible Target)
14 ;
15 ; File : OS_CPU_A.ASM
16 ; By : Jean J. Labrosse
17 ; Port by : 牛毅 2005-04-25->2005-04-28 QQ:75011221 niuyimail@126.com
18 ;修补 : 2005-05-02-01:30 (增加了中断管理和临界区宏)
19 ;修补 : 2005-05-16-13:00 (修补_CopySPtoC_XBP的漏洞, 有标记处%%%%????%%%%%%)
20 ;******************************************************************************************
**************
21 ;#include "OS_CFG.H"
+1 22
+1 23
+1 24
+1 25
+1 26
+1 27
+1 28
+1 29
+1 30
+1 31
+1 32
+1 33
+1 34
+1 35
+1 36
+1 37
+1 38
+1 39
+1 40
+1 41
+1 42
+1 43
+1 44
+1 45
+1 46
+1 47
+1 48
+1 49
+1 50
+1 51
+1 52
+1 53
+1 54
+1 55
A51 MACRO ASSEMBLER OS_CPU_A 04/04/2006 15:07:23 PAGE 2
+1 56
+1 57
+1 58
+1 59
+1 60
+1 61
+1 62
+1 63
+1 64
+1 65
+1 66
+1 67
+1 68
+1 69
+1 70
+1 71
+1 72
+1 73
+1 74
+1 75
+1 76
+1 77
+1 78
+1 79
+1 80
+1 81
+1 82
+1 83
+1 84
+1 85
+1 86
+1 87
+1 88
+1 89
+1 90
+1 91
+1 92
+1 93
+1 94
+1 95
+1 96
+1 97
+1 98
+1 99
+1 100
+1 101
+1 102
+1 103
+1 104
+1 105
+1 106
+1 107
+1 108
+1 109
+1 110
+1 111
+1 112
+1 113
+1 114
+1 115
+1 116
+1 117
+1 118
+1 119
+1 120
+1 121
A51 MACRO ASSEMBLER OS_CPU_A 04/04/2006 15:07:23 PAGE 3
+1 122
+1 123
+1 124
+1 125
+1 126
+1 127
+1 128
+1 129
+1 130
+1 131
+1 132
+1 133
+1 134
+1 135
+1 136
+1 137
+1 138
+1 139
+1 140
+1 141
+1 142
+1 143
+1 144
+1 145
+1 146
+1 147
148
149
150 NAME OS_CPU_A
151
152 ;******************************************************************************************
**************
153 ; 要使用的外部函数和公共数据
154 ;******************************************************************************************
**************
155 EXTRN CODE (_?OSIntExit)
156 EXTRN CODE (_?OSTimeTick)
157 EXTRN CODE (_?OSTaskSwHook)
158
159 IF 0 <> 0
EXTRN CODE (_?OSISR_T1HOOK)
ENDIF
162 IF 0 <> 0
EXTRN CODE (_?OSISR_INT0HOOK)
ENDIF
165 IF 0 <> 0
EXTRN CODE (_?OSISR_INT1HOOK)
ENDIF
168 IF 1 <> 0
169 EXTRN CODE (_?OSISR_S0HOOK)
170 ENDIF
171
172 EXTRN DATA (?C_XBP)
173 ;DT?C_XBP SEGMENT DATA
174 ; RSEG DT?C_XBP
175 ;?C_XBP:
176 ;C_XBP:
177 ; DS 1
178 ?STACK SEGMENT IDATA
---- 179 RSEG ?STACK
180 ;?STACK:
0000 181 Stack:
0000 182 DS 40
183
184 EXTRN BIT (OSRunning)
185 EXTRN XDATA (OSIntNesting)
A51 MACRO ASSEMBLER OS_CPU_A 04/04/2006 15:07:23 PAGE 4
186 ; EXTRN XDATA (OSTickDOSCtr)
187 EXTRN XDATA (OSPrioHighRdy)
188 EXTRN XDATA (OSPrioCur)
189 EXTRN XDATA (OSTCBCur)
190 EXTRN XDATA (OSTCBHighRdy)
191
192 ;******************************************************************************************
**************
193 ; MACRO DEFINE
194 ;******************************************************************************************
**************
195 PUSHALL MACRO
196 ;PUSH PC
197 PUSH ACC
198 PUSH B
199 PUSH DPH
200 PUSH DPL
201 PUSH PSW
202 IRP REG, <R7, R6, R5, R4, R3, R2, R1, R0>
203 MOV A, REG
204 PUSH ACC
205 ENDM
206 ENDM
207
208 POPALL MACRO
209 IRP REG, <R0, R1, R2, R3, R4, R5, R6, R7>
210 POP ACC
211 MOV REG, A
212 ENDM
213 POP PSW
214 POP DPL
215 POP DPH
216 POP B
217 POP ACC
218 ;RET/RETI
219 ENDM
220
221 OS_ENTER_CRITICAL MACRO
222 MOV B,IE ;因为所有程序没有使用B寄存器,所以使用了B寄
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -