?? os_cpu_a.lst
字號:
A51 MACRO ASSEMBLER OS_CPU_A 04/20/2009 11:36:12 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Os_cpu_a.OBJ
ASSEMBLER INVOKED BY: D:\KEIL\C51\BIN\KE51.EXE Os_cpu_a.asm SET(LARGE) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
00AF 23 EA BIT 0A8H.7
0081 24 SP DATA 081H
00F0 25 B DATA 0F0H
00E0 26 ACC DATA 0E0H
0083 27 DPH DATA 083H
0082 28 DPL DATA 082H
00D0 29 PSW DATA 0D0H
008E 30 TR1 BIT 088H.6
008D 31 TH1 DATA 08DH
008B 32 TL1 DATA 08BH
00CF 33 TF2 BIT 0C8H.7
34
35 NAME OS_CPU_A
36
37
38 ?PR?OSStartHighRdy?OS_CPU_A SEGMENT CODE
39 ?PR?OSCtxSw?OS_CPU_A SEGMENT CODE
40 ?PR?OSIntCtxSw?OS_CPU_A SEGMENT CODE
41 ?PR?OSTickISR?OS_CPU_A SEGMENT CODE
42 ?PR?_?serial?OS_CPU_A SEGMENT CODE
43
44
45
46 EXTRN DATA (?C_XBP)
47
48 EXTRN IDATA (OSTCBCur)
49 EXTRN IDATA (OSTCBHighRdy)
50 EXTRN IDATA (OSRunning)
51 EXTRN IDATA (OSPrioCur)
52 EXTRN IDATA (OSPrioHighRdy)
53
54 EXTRN CODE (_?OSTaskSwHook)
55 EXTRN CODE (_?serial)
56 EXTRN CODE (_?OSIntEnter)
57 EXTRN CODE (_?OSIntExit)
58 EXTRN CODE (_?OSTimeTick)
A51 MACRO ASSEMBLER OS_CPU_A 04/20/2009 11:36:12 PAGE 2
59
60
61
62 PUBLIC OSStartHighRdy
63 PUBLIC OSCtxSw
64 PUBLIC OSIntCtxSw
65 PUBLIC OSTickISR
66
67
68
69 ?STACK SEGMENT IDATA
---- 70 RSEG ?STACK
0000 71 OSStack:
0000 72 DS 40H
FFFF 73 OSStkStart IDATA OSStack-1
74
75
76 PUSHALL MACRO
77 PUSH PSW
78 PUSH ACC
79 PUSH B
80 PUSH DPL
81 PUSH DPH
82 MOV A,R0
83 PUSH ACC
84 MOV A,R1
85 PUSH ACC
86 MOV A,R2
87 PUSH ACC
88 MOV A,R3
89 PUSH ACC
90 MOV A,R4
91 PUSH ACC
92 MOV A,R5
93 PUSH ACC
94 MOV A,R6
95 PUSH ACC
96 MOV A,R7
97 PUSH ACC
98
99 ENDM
100
101 POPALL MACRO
102
103 POP ACC
104 MOV R7,A
105 POP ACC
106 MOV R6,A
107 POP ACC
108 MOV R5,A
109 POP ACC
110 MOV R4,A
111 POP ACC
112 MOV R3,A
113 POP ACC
114 MOV R2,A
115 POP ACC
116 MOV R1,A
117 POP ACC
118 MOV R0,A
119 POP DPH
120 POP DPL
121 POP B
122 POP ACC
123 POP PSW
124 ENDM
A51 MACRO ASSEMBLER OS_CPU_A 04/20/2009 11:36:12 PAGE 3
125
126
127
---- 128 RSEG ?PR?OSStartHighRdy?OS_CPU_A
0000 129 OSStartHighRdy:
130 USING 0
0000 120000 F 131 LCALL _?OSTaskSwHook
132
0003 133 OSCtxSw_in:
134
135
0003 7800 F 136 MOV R0,#LOW (OSTCBCur)
0005 08 137 INC R0
0006 8683 138 MOV DPH,@R0
0008 08 139 INC R0
0009 8682 140 MOV DPL,@R0
141
142
000B A3 143 INC DPTR
000C E0 144 MOVX A,@DPTR
000D F8 145 MOV R0,A
000E A3 146 INC DPTR
000F E0 147 MOVX A,@DPTR
0010 F9 148 MOV R1,A
0011 8883 149 MOV DPH,R0
0013 8982 150 MOV DPL,R1
151
152
0015 E0 153 MOVX A,@DPTR
0016 FD 154 MOV R5,A
155
156
0017 7800 F 157 MOV R0,#OSStkStart
158
0019 159 restore_stack:
160
0019 A3 161 INC DPTR
001A 08 162 INC R0
001B E0 163 MOVX A,@DPTR
001C F6 164 MOV @R0,A
001D DDFA 165 DJNZ R5,restore_stack
166
167
001F 8881 168 MOV SP,R0
169
170
0021 A3 171 INC DPTR
0022 E0 172 MOVX A,@DPTR
0023 F500 F 173 MOV ?C_XBP,A
0025 A3 174 INC DPTR
0026 E0 175 MOVX A,@DPTR
0027 F500 F 176 MOV ?C_XBP+1,A
177
178
0029 7800 F 179 MOV R0,#LOW (OSRunning)
002B 7601 180 MOV @R0,#01
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -