📄 os_cpu_a.lst
字号:
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 1
DOS 5.00 (046-N) MCS-96 MACRO ASSEMBLER, V1.3
SOURCE FILE: c:\ic96\work\ucos_ii\I196kc\os_cpu_a.asm
OBJECT FILE: c:\ic96\work\ucos_ii\I196kc\os_cpu_a.obj
CONTROLS SPECIFIED IN INVOCATION COMMAND: <none>
LOC OBJECT STMT SOURCE STATEMENT
1 OS_CPU_A MODULE
2
0000 3 R0 EQU 00H:WORD ; R ZERO REGISTER
0002 4 AD_COMMAND EQU 02H:BYTE ; W
0002 5 AD_RESULT_LO EQU 02H:BYTE ; R
0003 6 AD_RESULT_HI EQU 03H:BYTE ; R
0003 7 HSI_MODE EQU 03H:BYTE ; W
0004 8 HSO_TIME EQU 04H:WORD ; W
0004 9 HSI_TIME EQU 04H:WORD ; R
0006 10 HSO_COMMAND EQU 06H:BYTE ; W
0006 11 HSI_STATUS EQU 06H:BYTE ; R
0007 12 SBUF EQU 07H:BYTE ; R/W
0008 13 INT_MASK EQU 08H:BYTE ; R/W
0009 14 INT_PENDING EQU 09H:BYTE ; R/W
000A 15 WATCHDOG EQU 0AH:BYTE ; W WATCHDOG TIMER
000A 16 TIMER1 EQU 0AH:WORD ; R
000C 17 TIMER2 EQU 0CH:WORD ; R/w
000B 18 IOC2 EQU 0BH:BYTE ; W
000C 19 IOC3 EQU 0CH:BYTE ; W
000E 20 BAUD_RATE EQU 0EH:BYTE ; W
000E 21 IOPORT0 EQU 0EH:BYTE ; R
000F 22 IOPORT1 EQU 0FH:BYTE ; R/W
0010 23 IOPORT2 EQU 10H:BYTE ; R/W
0011 24 SP_CON EQU 11H:BYTE ; W
0011 25 SP_STAT EQU 11H:BYTE ; R
0012 26 INT_PEND1 EQU 12H:BYTE ; R/W
0013 27 INT_MASK1 EQU 13H:BYTE ; R/W
0014 28 WSR EQU 14H:BYTE ; R/W
29
0015 30 IOC0 EQU 15H:BYTE ; W
0015 31 IOS0 EQU 15H:BYTE ; R
0016 32 IOC1 EQU 16H:BYTE ; W
0016 33 IOS1 EQU 16H:BYTE ; R
0017 34 IOS2 EQU 17H:BYTE ; R
0017 35 PWM_CONTROL EQU 17H:BYTE ; W
0018 36 SP EQU 18H:WORD ; R/W
37
38 PUBLIC OSCtxSw
39 PUBLIC OSIntCtxSw
40 PUBLIC OSStartHighRdy
41 PUBLIC TxISR
42 PUBLIC RxISR
43 PUBLIC OSTickISR
44
45 ;#ifdef OS_CPU_HOOKS_EN
46 extrn OSTaskSwHook
47 ;#endif
48 extrn OSRunning
49 extrn OSTCBCur
50 extrn OSPrioCur
51 extrn OSPrioHighRdy
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 2
LOC OBJECT STMT SOURCE STATEMENT
52 extrn OSTCBHighRdy
53 extrn OSIntNesting
54 extrn OSIntEnter
55 extrn OSTimeTick
56 extrn OSIntExit
57 extrn TxIntHandler
58 extrn RxIntHandler
59
0000 60 rseg
61 extrn ?FRAME01
62 extrn PLMREG
63
0000 64 CSEG
65
66 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0000 67 OSStartHighRdy:
0000 EF0000 E 68 CALL OSTaskSwHook
0003 A301000000 E 69 LD PLMREG,OSTCBHighRdy
0008 A20018 E 70 LD SP,[PLMREG]
71
000B B10100 E 72 LDB PLMREG,#1H
000E C701000000 E 73 STB PLMREG,OSRunning
74
0013 E7A900 75 ljmp popRegisters
76
77 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0016 78 OSIntCtxSw:
0016 65040018 79 ADD SP,#4H
001A A301000000 E 80 LD PLMREG,OSTCBCur
001F C20018 E 81 ST SP,[PLMREG]
0022 EF0000 E 82 CALL OSTaskSwHook
83
0025 A301000000 E 84 LD PLMREG,OSTCBHighRdy
002A C301000000 E 85 ST PLMREG,OSTCBCur
86
002F B301000000 E 87 LDB PLMREG,OSPrioHighRdy
0034 C701000000 E 88 STB PLMREG,OSPrioCur
89
0039 A301000000 E 90 LD PLMREG,OSTCBHighRdy
003E A20018 E 91 LD SP,[PLMREG]
92
0041 E77B00 93 ljmp popRegisters
94
95 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0044 96 OSCtxSw:
0044 F4 97 PUSHA
0045 C81A 98 PUSH 1AH
0047 C81C 99 PUSH 1CH
0049 C81E 100 PUSH 1EH
004B C820 101 PUSH 20H
004D C822 102 PUSH 22H
103
004F A301000000 E 104 LD PLMREG,OSTCBCur
0054 C20018 E 105 ST SP,[PLMREG]
0057 EF0000 E 106 CALL OSTaskSwHook
005A A301000000 E 107 LD PLMREG,OSTCBHighRdy
005F C301000000 E 108 ST PLMREG,OSTCBCur
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 3
LOC OBJECT STMT SOURCE STATEMENT
0064 B301000000 E 109 LDB PLMREG,OSPrioHighRdy
0069 C701000000 E 110 STB PLMREG,OSPrioCur
111
006E A301000000 E 112 LD PLMREG,OSTCBHighRdy
0073 A20018 E 113 LD SP,[PLMREG]
114
0076 E74600 115 ljmp popRegisters
116
117 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0079 118 TxISR:
0079 F4 119 PUSHA
007A C81A 120 PUSH 1AH
007C C81C 121 PUSH 1CH
007E C81E 122 PUSH 1EH
0080 C820 123 PUSH 20H
0082 C822 124 PUSH 22H
125
0084 EF0000 E 126 CALL OSIntEnter
127
0087 EF0000 E 128 CALL TxIntHandler
129
008A EF0000 E 130 CALL OSIntExit
008D E72F00 131 ljmp popRegisters
132
133 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0090 134 RxISR:
0090 F4 135 PUSHA
0091 C81A 136 PUSH 1AH
0093 C81C 137 PUSH 1CH
0095 C81E 138 PUSH 1EH
0097 C820 139 PUSH 20H
0099 C822 140 PUSH 22H
141
142
009B EF0000 E 143 CALL OSIntEnter
009E EF0000 E 144 CALL RxIntHandler
145
00A1 EF0000 E 146 CALL OSIntExit
00A4 E71800 147 ljmp popRegisters
148
149 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00A7 150 OSTickISR:
00A7 F4 151 PUSHA
00A8 C81A 152 PUSH 1AH
00AA C81C 153 PUSH 1CH
00AC C81E 154 PUSH 1EH
00AE C820 155 PUSH 20H
00B0 C822 156 PUSH 22H
157
00B2 EF0000 E 158 CALL OSIntEnter
159
00B5 A160510C 160 LD timer2,#05160h ;SYSTEM_CLOCK/16/OS_TICKS_PER_SEC(60)-1;
161
00B9 EF0000 E 162 CALL OSTimeTick
163
00BC EF0000 E 164 CALL OSIntExit
165
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 4
LOC OBJECT STMT SOURCE STATEMENT
00BF 166 popRegisters:
00BF CC22 167 POP 22H
00C1 CC20 168 POP 20H
00C3 CC1E 169 POP 1EH
00C5 CC1C 170 POP 1CH
00C7 CC1A 171 POP 1AH
00C9 F5 172 POPA
00CA F0 173 RET
174
00CB 175 END
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 5
SYMBOL TABLE LISTING
--------------------
N A M E VALUE ATTRIBUTES
?FRAME01. . . . . . . . . . . . ----- REG EXTERNAL
AD_COMMAND. . . . . . . . . . . 0002H NULL ABS BYTE
AD_RESULT_HI. . . . . . . . . . 0003H NULL ABS BYTE
AD_RESULT_LO. . . . . . . . . . 0002H NULL ABS BYTE
BAUD_RATE . . . . . . . . . . . 000EH NULL ABS BYTE
HSI_MODE. . . . . . . . . . . . 0003H NULL ABS BYTE
HSI_STATUS. . . . . . . . . . . 0006H NULL ABS BYTE
HSI_TIME. . . . . . . . . . . . 0004H NULL ABS WORD
HSO_COMMAND . . . . . . . . . . 0006H NULL ABS BYTE
HSO_TIME. . . . . . . . . . . . 0004H NULL ABS WORD
INT_MASK. . . . . . . . . . . . 0008H NULL ABS BYTE
INT_MASK1 . . . . . . . . . . . 0013H NULL ABS BYTE
INT_PEND1 . . . . . . . . . . . 0012H NULL ABS BYTE
INT_PENDING . . . . . . . . . . 0009H NULL ABS BYTE
IOC0. . . . . . . . . . . . . . 0015H NULL ABS BYTE
IOC1. . . . . . . . . . . . . . 0016H NULL ABS BYTE
IOC2. . . . . . . . . . . . . . 000BH NULL ABS BYTE
IOC3. . . . . . . . . . . . . . 000CH NULL ABS BYTE
IOPORT0 . . . . . . . . . . . . 000EH NULL ABS BYTE
IOPORT1 . . . . . . . . . . . . 000FH NULL ABS BYTE
IOPORT2 . . . . . . . . . . . . 0010H NULL ABS BYTE
IOS0. . . . . . . . . . . . . . 0015H NULL ABS BYTE
IOS1. . . . . . . . . . . . . . 0016H NULL ABS BYTE
IOS2. . . . . . . . . . . . . . 0017H NULL ABS BYTE
OS_CPU_A. . . . . . . . . . . . ----- MODULE STACKSIZE(0)
OSCTXSW . . . . . . . . . . . . 0044H CODE REL PUBLIC ENTRY
OSINTCTXSW. . . . . . . . . . . 0016H CODE REL PUBLIC ENTRY
OSINTENTER. . . . . . . . . . . ----- NULL EXTERNAL
OSINTEXIT . . . . . . . . . . . ----- NULL EXTERNAL
OSINTNESTING. . . . . . . . . . ----- NULL EXTERNAL
OSPRIOCUR . . . . . . . . . . . ----- NULL EXTERNAL
OSPRIOHIGHRDY . . . . . . . . . ----- NULL EXTERNAL
OSRUNNING . . . . . . . . . . . ----- NULL EXTERNAL
OSSTARTHIGHRDY. . . . . . . . . 0000H CODE REL PUBLIC ENTRY
OSTASKSWHOOK. . . . . . . . . . ----- NULL EXTERNAL
OSTCBCUR. . . . . . . . . . . . ----- NULL EXTERNAL
OSTCBHIGHRDY. . . . . . . . . . ----- NULL EXTERNAL
OSTICKISR . . . . . . . . . . . 00A7H CODE REL PUBLIC ENTRY
OSTIMETICK. . . . . . . . . . . ----- NULL EXTERNAL
PLMREG. . . . . . . . . . . . . ----- REG EXTERNAL
POPREGISTERS. . . . . . . . . . 00BFH CODE REL ENTRY
PWM_CONTROL . . . . . . . . . . 0017H NULL ABS BYTE
R0. . . . . . . . . . . . . . . 0000H NULL ABS WORD
RXINTHANDLER. . . . . . . . . . ----- NULL EXTERNAL
RXISR . . . . . . . . . . . . . 0090H CODE REL PUBLIC ENTRY
SBUF. . . . . . . . . . . . . . 0007H NULL ABS BYTE
SP. . . . . . . . . . . . . . . 0018H NULL ABS WORD
SP_CON. . . . . . . . . . . . . 0011H NULL ABS BYTE
SP_STAT . . . . . . . . . . . . 0011H NULL ABS BYTE
TIMER1. . . . . . . . . . . . . 000AH NULL ABS WORD
TIMER2. . . . . . . . . . . . . 000CH NULL ABS WORD
TXINTHANDLER. . . . . . . . . . ----- NULL EXTERNAL
TXISR . . . . . . . . . . . . . 0079H CODE REL PUBLIC ENTRY
MCS-96 MACRO ASSEMBLER OS_CPU_A 01/14/10 11:50:46 PAGE 6
N A M E VALUE ATTRIBUTES
WATCHDOG. . . . . . . . . . . . 000AH NULL ABS BYTE
WSR . . . . . . . . . . . . . . 0014H NULL ABS BYTE
ASSEMBLY COMPLETED, NO ERROR(S) FOUND.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -