📄 executive.lst
字号:
171 0054 9105 cpc r25,__zero_reg__
172 0056 69F0 breq .L9
173 0058 8330 cpi r24,3
174 005a 9105 cpc r25,__zero_reg__
175 005c 1CF4 brge .L14
176 005e 0197 sbiw r24,1
177 0060 81F0 breq .L11
178 0062 CFCF rjmp .L18
179 .L14:
180 0064 8430 cpi r24,4
181 0066 9105 cpc r25,__zero_reg__
182 0068 41F0 breq .L10
183 006a 8039 cpi r24,144
184 006c 9105 cpc r25,__zero_reg__
185 006e 81F0 breq .L12
186 0070 C8CF rjmp .L18
187 .L9:
128:Executive.c **** {
129:Executive.c **** case (EV_DUMP_FRAME):
130:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);
189 .LM17:
190 0072 8C2F mov r24,r28
191 0074 0E94 0000 call FrameMgr_dispatchEvent
131:Executive.c **** break;
193 .LM18:
194 0078 C4CF rjmp .L18
195 .L10:
132:Executive.c ****
133:Executive.c **** case (EV_PROCESS_FRAME_COMPLETE):
134:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);
197 .LM19:
198 007a 8C2F mov r24,r28
199 007c 0E94 0000 call FrameMgr_dispatchEvent
135:Executive.c **** break;
201 .LM20:
202 0080 C0CF rjmp .L18
203 .L11:
136:Executive.c ****
137:Executive.c **** case (EV_SERIAL_DATA_RECEIVED)://串口中断,转到此
138:Executive.c **** UIMgr_dispatchEvent(eventGenerated);
205 .LM21:
206 0082 8C2F mov r24,r28
207 0084 0E94 0000 call UIMgr_dispatchEvent
139:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);
209 .LM22:
210 0088 8C2F mov r24,r28
211 008a 0E94 0000 call FrameMgr_dispatchEvent
140:Executive.c **** break;
213 .LM23:
214 008e B9CF rjmp .L18
215 .L12:
141:Executive.c ****
142:Executive.c **** case (EV_SERIAL_DATA_PENDING_TX)://
143:Executive.c **** UIMgr_dispatchEvent(eventGenerated);
217 .LM24:
218 0090 8C2F mov r24,r28
219 0092 0E94 0000 call UIMgr_dispatchEvent
144:Executive.c **** break;
221 .LM25:
222 0096 B5CF rjmp .L18
223 /* epilogue: frame size=0 */
224 /* epilogue: noreturn */
225 /* epilogue end (size=0) */
226 /* function Exec_run size 81 (80) */
231 .Lscope0:
234 Exec_readEventFifo:
145:Executive.c ****
146:Executive.c **** default:
147:Executive.c **** break;
148:Executive.c **** }
149:Executive.c **** }
150:Executive.c ****
151:Executive.c **** /* toggle the debug line */
152:Executive.c ****
153:Executive.c **** }
154:Executive.c **** }
155:Executive.c ****
156:Executive.c **** /***********************************************************
157:Executive.c **** Function Name: Exec_readEventFifo
158:Executive.c **** Function Description: This function is responsible for
159:Executive.c **** reading a single event out of the event fifo.
160:Executive.c **** Inputs: none
161:Executive.c **** Outputs: unsigned char-the data read
162:Executive.c **** ***********************************************************/
163:Executive.c **** static unsigned char Exec_readEventFifo(void)
164:Executive.c **** {
236 .LM26:
237 /* prologue: frame size=0 */
238 /* prologue end (size=0) */
165:Executive.c **** unsigned char dataByte, tmpTail;
166:Executive.c ****
167:Executive.c **** DISABLE_INTS();
240 .LM27:
241 /* #APP */
242 0098 F894 cli
168:Executive.c **** /* just return the current tail from the tx fifo */
169:Executive.c **** dataByte = Exec_eventFifo[Exec_eventFifoTail];
244 .LM28:
245 /* #NOAPP */
246 009a 2091 0000 lds r18,Exec_eventFifoTail
247 009e 80E0 ldi r24,lo8(Exec_eventFifo)
248 00a0 90E0 ldi r25,hi8(Exec_eventFifo)
249 00a2 FC01 movw r30,r24
250 00a4 E20F add r30,r18
251 00a6 F11D adc r31,__zero_reg__
252 00a8 9081 ld r25,Z
170:Executive.c **** tmpTail = (Exec_eventFifoTail+1) & (EXEC_EVENT_FIFO_MASK);
254 .LM29:
255 00aa 822F mov r24,r18
256 00ac 8F5F subi r24,lo8(-(1))
257 00ae 8770 andi r24,lo8(7)
171:Executive.c **** Exec_eventFifoTail = tmpTail;
259 .LM30:
260 00b0 8093 0000 sts Exec_eventFifoTail,r24
172:Executive.c **** ENABLE_INTS();
262 .LM31:
263 /* #APP */
264 00b4 7894 sei
173:Executive.c ****
174:Executive.c **** return(dataByte);
175:Executive.c **** }
266 .LM32:
267 /* #NOAPP */
268 00b6 892F mov r24,r25
269 00b8 9927 clr r25
270 /* epilogue: frame size=0 */
271 00ba 0895 ret
272 /* epilogue end (size=1) */
273 /* function Exec_readEventFifo size 20 (19) */
279 .Lscope1:
282 .global Exec_writeEventFifo
284 Exec_writeEventFifo:
176:Executive.c ****
177:Executive.c **** /***********************************************************
178:Executive.c **** Function Name: Exec_writeEventFifo
179:Executive.c **** Function Description: This function is responsible for
180:Executive.c **** writing a single event to the event fifo and
181:Executive.c **** updating the appropriate pointers.
182:Executive.c **** Inputs: data - the byte to write to the Fifo
183:Executive.c **** Outputs: none
184:Executive.c **** ***********************************************************/
185:Executive.c **** void Exec_writeEventFifo(unsigned char event)
186:Executive.c **** {
286 .LM33:
287 /* prologue: frame size=0 */
288 /* prologue end (size=0) */
289 00bc 382F mov r19,r24
187:Executive.c **** unsigned char tmpHead;
188:Executive.c ****
189:Executive.c **** DISABLE_INTS();
291 .LM34:
292 /* #APP */
293 00be F894 cli
190:Executive.c **** Exec_eventFifo[Exec_eventFifoHead] = event;
295 .LM35:
296 /* #NOAPP */
297 00c0 2091 0000 lds r18,Exec_eventFifoHead
298 00c4 80E0 ldi r24,lo8(Exec_eventFifo)
299 00c6 90E0 ldi r25,hi8(Exec_eventFifo)
300 00c8 FC01 movw r30,r24
301 00ca E20F add r30,r18
302 00cc F11D adc r31,__zero_reg__
303 00ce 3083 st Z,r19
191:Executive.c ****
192:Executive.c **** /* now move the head up */
193:Executive.c **** tmpHead = (Exec_eventFifoHead + 1) & (EXEC_EVENT_FIFO_MASK);
305 .LM36:
306 00d0 822F mov r24,r18
307 00d2 8F5F subi r24,lo8(-(1))
308 00d4 8770 andi r24,lo8(7)
194:Executive.c **** Exec_eventFifoHead = tmpHead;
310 .LM37:
311 00d6 8093 0000 sts Exec_eventFifoHead,r24
195:Executive.c **** ENABLE_INTS();
313 .LM38:
314 /* #APP */
315 00da 7894 sei
316 /* #NOAPP */
317 /* epilogue: frame size=0 */
318 00dc 0895 ret
319 /* epilogue end (size=1) */
320 /* function Exec_writeEventFifo size 19 (18) */
325 .Lscope2:
326 .comm Exec_eventFifo,8,1
331 .text
333 Letext:
334 /* File "Executive.c": code 120 = 0x0078 ( 117), prologues 1, epilogues 2 */
DEFINED SYMBOLS
*ABS*:00000000 Executive.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:77 .bss:00000000 Exec_eventFifoHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:83 .bss:00000001 Exec_eventFifoTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:89 .bss:00000002 fastEventBitmask
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:95 .text:00000000 Exec_run
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:234 .text:00000098 Exec_readEventFifo
*COM*:00000008 Exec_eventFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:284 .text:000000bc Exec_writeEventFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGSaaaa.s:333 .text:000000de Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
FrameMgr_processLine
UIMgr_transmitPendingData
FrameMgr_acquireLine
FrameMgr_dispatchEvent
UIMgr_dispatchEvent
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -