📄 os_cpu_a.lst
字号:
A51 MACRO ASSEMBLER OS_CPU_A 04/25/2005 23:03:52 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN OS_CPU_A.obj
ASSEMBLER INVOKED BY: D:\tools\Keil\C51\BIN\A51.EXE Port\OS_CPU_A.ASM SET(LARGE) DEBUG PRINT(.\OS_CPU_A.lst) OBJECT(OS_C
PU_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++ V4.51
13 ; (at89c55wd Compatible Target)
14 ;
15 ; File : OS_CPU_A.ASM
16 ; By : Jean J. Labrosse
17 ;******************************************************************************************
**************
18
19 ;******************************************************************************************
**************
20 ; 要使用的外部函数和公共数据
21 ;******************************************************************************************
**************
22
23 ; EXTRN _OSIntExit:FAR
24 ; EXTRN _OSTimeTick:FAR
25 EXTRN CODE (_?OSTaskSwHook)
26
27 EXTRN DATA (?C_XBP)
28 ; EXTRN _OSIntNesting:BYTE
29 ; EXTRN _OSTickDOSCtr:BYTE
30 ; EXTRN _OSPrioHighRdy:BYTE
31 ; EXTRN _OSPrioCur:BYTE
32 EXTRN BIT (_OSRunning)
33 ; EXTRN _OSTCBCur:DWORD
34 ; EXTRN _OSTCBHighRdy:DWORD
35
36 ;******************************************************************************************
**************
37 ; MACRO DEFINE
38 ;******************************************************************************************
**************
39 PUSHALL MACRO
40 ;PUSH PC
41 PUSH ACC
42 PUSH B
43 PUSH DPH
44 PUSH DPL
45 PUSH PSW
46 PUSH AR0
47 PUSH AR1
48 PUSH AR2
49 PUSH AR3
50 PUSH AR4
51 PUSH AR5
A51 MACRO ASSEMBLER OS_CPU_A 04/25/2005 23:03:52 PAGE 2
52 PUSH AR6
53 PUSH AR7
54 ENDM
55 POPALL MACRO
56 POP AR7
57 POP AR6
58 POP AR5
59 POP AR4
60 POP AR3
61 POP AR2
62 POP AR1
63 POP AR0
64 POP PSW
65 POP DPL
66 POP DPH
67 POP B
68 POP ACC
69 ;RET/RETI
70 ENDM
71 ;******************************************************************************************
**************
72 ; 供外部使用的函数
73 ;******************************************************************************************
**************
74 ; PUBLIC _OSTickISR
75 PUBLIC _?OSStartHighRdy
76 PUBLIC _?OSCtxSw
77 ; PUBLIC _OSIntCtxSw
78 ;******************************************************************************************
**************
79 ; 数据段
80 ;******************************************************************************************
**************
81
82
83
84 ;******************************************************************************************
**************
85 ; 函数体段
86 ;******************************************************************************************
**************
87 ;******************************************************************************************
***************
88 ; START MULTITASKING
89 ; void OSStartHighRdy(void) LG_REENTRANT
90 ;出栈后就意味着启动了第一个任务
91 ; The stack frame is assumed to look as follows:
92 ;
93 ; 出 /\ 出栈:task底\高 (高内存)
94 ; 栈 || 出栈:ACC
95 ; 顺 || 出栈:B
96 ; 序 || 出栈:DPH //暂时忽略
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -