📄 os_cpu_a.lst
字号:
dspa -l -s -v2xx -iC:/ti/c2400/cgtools/include -g os_cpu_a.asm C:/WINDOWS/Desktop/Core\os_cpu_a.obj
TMS320C24xx COFF Assembler Version 7.02 Tue Jul 31 13:34:28 2007
Copyright (c) 1987-2002 Texas Instruments Incorporated
os_cpu_a.asm PAGE 1
2 .include "f2407regs.h"
3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 ;
5 ; Module OS_CPU_A.ASM
6 ;
7 ; Purpose : TMS320C2XX Real Time Operating System.
8 ;
9 ; Language : TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 6.60
10 ; Copyright (c) 1987-1995 Texas Instruments Incorporated
11 ;
12 ; Written : Kirby W. Cartwright, The Vanner Power Group, 06/22/98
13 ;
14 ; Modified :
15 ;
16 ; Project : Vanner Power Group Modular Controller Project PX-2.
17 ;
18 ; Copyright : (C) copyright 1998 by Vanner, Inc. All Rights Reserved.
19 ;
20 ; Notes : we use TI's 'C' interrupt I$$SAVE routine and I$$REST code blocks a lot.
21 ;
22 ; Unit Tested: 7/29/98, KWC
23 ;
24 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25 .global I$$SAVE ; externals
26 .global I$$REST
27 .global _OSIntEnter
28 .global _OSIntExit
29
30 .global _OSRunning
31 .global _OSTimeTick ; globally visible internals.
32 .global _OSTCBCur
33 .global _OSTCBHighRdy
34 .global _OSPrioCur
35 .global _OSPrioHighRdy
36 .global _OSStartHighRdy
37 .global _OSTaskSwHook
38 .global _OSCtxSw
39
40
41 .global _OUTport
42
43 0000 .text
TMS320C24xx COFF Assembler Version 7.02 Tue Jul 31 13:34:28 2007
Copyright (c) 1987-2002 Texas Instruments Incorporated
os_cpu_a.asm PAGE 2
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46 ;
47 ; Routine : _OSStartHighRdy (void OSStartHighRdy(void))
48 ;
49 ; Purpose : START MULTITASKING.
50 ;
51 ; Inputs : None.
52 ;
53 ; Destroys : sp (AR1).
54 ;
55 ; Speed/Size:
56 ;
57 ; Note(s) : assuming current ARP is AR1 the stack pointer. according
58 ; to TI be definition on entering a 'C' routine this
59 ; assumption should be true.
60 ;
61 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62 0000 .even
63 0000 _OSStartHighRdy:
64 0000 7a80 call _OSTaskSwHook
0001 0000!
65
66 0002 b101 lar AR1,#1
67 0003 8100! sar AR1,_OSRunning
68 0004 bf09 lar AR1,#_OSTCBCur ; point to the pointer to the highest
0005 0000!
69 ; priority task.
70 0006 0180 lar AR1,* ; point to the highest priority task.
71 0007 0180 lar AR1,* ; get OSTCBCur->OSTCBStkPtr.
72
73 0008 7980 b I$$REST ; go let TI do the hard work.
0009 0000!
74
TMS320C24xx COFF Assembler Version 7.02 Tue Jul 31 13:34:28 2007
Copyright (c) 1987-2002 Texas Instruments Incorporated
os_cpu_a.asm PAGE 3
76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
77 ;
78 ; ISR : _OSCtxSw (void OSCtxSw(void))
79 ;
80 ; Purpose : PERFORM A CONTEXT SWITCH (From task level).
81 ;
82 ; Inputs : None.
83 ;
84 ; Destroys : sp (AR1), AR0, AR2.
85 ;
86 ; Speed/Size:
87 ;
88 ; Note(s) : Entered through "intr 31" instruction.
89 ;
90 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
91
92 000a _OSCtxSw:
93 ;.global _OSCtxSw
94 000a 7a80 call I$$SAVE ; save this task's context.
000b 0000!
95
96 000c _OSCtxSw_0:
97 000c 7a80 call _OSTaskSwHook
000d 0000!
98 000e bf0a lar AR2,#_OSTCBCur ; point AR2 at the OSTCBCur pointer.
000f 0000!
99
100 0010 8b8a larp AR2 ; make AR2 the currently used address re
101
102 0011 0088 lar AR0,*,AR0 ; point AR0 at current TCB, and switch to using
103
104 0012 8180 sar AR1,* ; save the current task's current
105 ; stack ptr in the current TCB.
106
107 0013 bf08 lar AR0,#_OSTCBHighRdy ; point to OSTCBHighRdy pointer.
0014 0000!
108
109 0015 0080 lar AR0,* ; point to the highest priority task that is rea
110
111 0016 018a lar AR1,*,AR2 ; get the new task's stack ptr, switch
112 ; to using AR2 which points to OSTCBCur
113
114 0017 8080 sar AR0,* ;move _OSTCBHighRdy to _OSTCBCur,
115 ; and switch to using the new current
116 ; stack pointer.
117 0018 bf0a lar AR2,#_OSPrioCur
0019 0000!
118 001a bf08 lar AR0,#_OSPrioHighRdy
001b 0000!
119 001c 8b8a larp AR2
120 001d 8089 sar AR0,*,AR1
121
122
123 001e 7980 b I$$REST ; let TI do the hard work of restoring
TMS320C24xx COFF Assembler Version 7.02 Tue Jul 31 13:34:28 2007
Copyright (c) 1987-2002 Texas Instruments Incorporated
os_cpu_a.asm PAGE 4
001f 0000!
124 ; this task's context.
125
TMS320C24xx COFF Assembler Version 7.02 Tue Jul 31 13:34:28 2007
Copyright (c) 1987-2002 Texas Instruments Incorporated
os_cpu_a.asm PAGE 5
127 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128 ;
129 ; Routine : _OSIntCtxSw (void OSIntCtxSw(void))
130 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -