📄 main.lst
字号:
228 ;MAIN.C: 48: {
229 0469 _T3
230 ;MAIN.C: 49: while(1) {
231 0469 l24
232 ;MAIN.C: 50: counter++;
233 0469 1283 bcf 3,5
234 046A 1303 bcf 3,6
235 046B 0AA0 incf _counter
236 046C 1903 btfsc 3,2
237 046D 0AA1 incf _counter+1
238 046E l28
239 ;MAIN.C: 51: { do { ; if ( (&semaphore2)->event
+ .e_code != 0 ) { (&semaphore2)->event.e_code--;
+ break; } OS_Wait_TO(&semaphore2,14); { os_stat
+ us.state_parts.task_run = 0; asm("save_address"
+ );}; } while(! OS_Is_TO()); ; };
240 046E 08AB movf _semaphore2+1
241 046F 1903 btfsc 3,2
242 0470 2C73 goto l29
243 0471 03AB decf _semaphore2+1
244 0472 2C88 goto l27
245 0473 l29
246 0473 300E movlw 14
247 0474 0084 movwf ?_OS_Wait_TO
248 0475 302A movlw _semaphore2
249 0476 120A 118A 238D fcall _OS_Wait_TO
250 0479 1180 bcf _os_status,3 ;#
251 047A 3004 movlw high ??0008 ;#
252 047B 0084 movwf ?_OS_Cooperate_+1 ;#
253 047C 3080 movlw low ??0008 ;#
254 047D 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
255 0480 ??0008
256 ;#
257 0480 120A 118A 22F7 fcall _OS_Is_TO
+ 120A 118A
258 0485 3800 iorlw 0
259 0486 1903 btfsc 3,2
260 0487 2C6E goto l28
261 0488 l27
262 ;MAIN.C: 52: counter++;
263 0488 0AA0 incf _counter
264 0489 1903 btfsc 3,2
265 048A 0AA1 incf _counter+1
266 ;MAIN.C: 53: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
267 048B 1180 bcf _os_status,3 ;#
268 048C 3004 movlw high ??0009 ;#
269 048D 0084 movwf ?_OS_Cooperate_+1 ;#
270 048E 3092 movlw low ??0009 ;#
271 048F 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
272 0492 ??0009
273 ;#
274 ;MAIN.C: 54: }
275 0492 2C69 goto l24
276
277 psect text4
278 ;MAIN.C: 57: void T4( void )
279 ;MAIN.C: 58: {
280 0409 _T4
281 ; _msg assigned to ?a_T4+0
282 0000 _T4$msg set ?a_T4
283 ;MAIN.C: 59: OST_MSG_P msg;
284 ;MAIN.C: 61: counter++;
285 0409 1283 bcf 3,5
286 040A 1303 bcf 3,6
287 040B L2
288 040B 0AA0 incf _counter
289 040C 1903 btfsc 3,2
290 040D 0AA1 incf _counter+1
291 040E ??0010
292 ;#
293 ;MAIN.C: 62: { do { ; if ( ((msg) = (&message1)
+ ->event.message) != (void *)0 ) { (&message1)->
+ event.message = (void *)0; ; break; } os_event_
+ wait = (&message1); os_status.state_parts.wait_
+ event = 1; { os_status.state_parts.task_run = 0
+ ; asm("save_addr...
294 040E 0825 movf _message1+1,w
295 040F 0083 movwf ?a_T4
296 0410 1903 btfsc 3,2
297 0411 2C1E goto l37
298 0412 01A5 clrf _message1+1
299 ;MAIN.C: 63: counter++;
300 0413 0AA0 incf _counter
301 0414 1903 btfsc 3,2
302 0415 0AA1 incf _counter+1
303 ;MAIN.C: 64: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
304 0416 1180 bcf _os_status,3 ;#
305 0417 3004 movlw high ??0011 ;#
306 0418 0084 movwf ?_OS_Cooperate_+1 ;#
307 0419 301D movlw low ??0011 ;#
308 041A 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
309 041D ??0011
310 ;#
311 ;MAIN.C: 65: }
312 041D 2C0B goto L2
313 041E l37
314 041E 3024 movlw _message1
315 041F 0080 movwf _os_event_wait
316 0420 1680 bsf _os_status,5 ;volatile
317 0421 1180 bcf _os_status,3 ;#
318 0422 3004 movlw high ??0010 ;#
319 0423 0084 movwf ?_OS_Cooperate_+1 ;#
320 0424 300E movlw low ??0010 ;#
321 0425 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
322
323 psect text5
324 ;MAIN.C: 68: void T5( void )
325 ;MAIN.C: 69: {
326 0493 _T5
327 ; _msg assigned to ?a_T5+0
328 0000 _T5$msg set ?a_T5
329 ;MAIN.C: 70: OST_MSG_P msg;
330 0493 l40
331 ;MAIN.C: 72: counter++;
332 0493 1283 bcf 3,5
333 0494 1303 bcf 3,6
334 0495 0AA0 incf _counter
335 0496 1903 btfsc 3,2
336 0497 0AA1 incf _counter+1
337 0498 l44
338 ;MAIN.C: 73: { do { ; if ((&message2)->event.me
+ ssage != (void *)0) { (msg) = (&message2)->even
+ t.message; (&message2)->event.message = (void *
+ )0; break; } OS_Wait_TO(&message2,8); { os_stat
+ us.state_parts.task_run = 0; asm("save_address"
+ );}; } while( ! ...
339 0498 08A7 movf _message2+1
340 0499 1903 btfsc 3,2
341 049A 2C9F goto l45
342 049B 0827 movf _message2+1,w
343 049C 0083 movwf ?a_T5
344 049D 01A7 clrf _message2+1
345 049E 2CB4 goto l43
346 049F l45
347 049F 3008 movlw 8
348 04A0 0084 movwf ?_OS_Wait_TO
349 04A1 3026 movlw _message2
350 04A2 120A 118A 238D fcall _OS_Wait_TO
351 04A5 1180 bcf _os_status,3 ;#
352 04A6 3004 movlw high ??0012 ;#
353 04A7 0084 movwf ?_OS_Cooperate_+1 ;#
354 04A8 30AC movlw low ??0012 ;#
355 04A9 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
356 04AC ??0012
357 ;#
358 04AC 120A 118A 22F7 fcall _OS_Is_TO
+ 120A 118A
359 04B1 3800 iorlw 0
360 04B2 1903 btfsc 3,2
361 04B3 2C98 goto l44
362 04B4 l43
363 ;MAIN.C: 74: counter++;
364 04B4 0AA0 incf _counter
365 04B5 1903 btfsc 3,2
366 04B6 0AA1 incf _counter+1
367 ;MAIN.C: 75: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
368 04B7 1180 bcf _os_status,3 ;#
369 04B8 3004 movlw high ??0013 ;#
370 04B9 0084 movwf ?_OS_Cooperate_+1 ;#
371 04BA 30BE movlw low ??0013 ;#
372 04BB 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
373 04BE ??0013
374 ;#
375 ;MAIN.C: 76: }
376 04BE 2C93 goto l40
377
378 psect text6
379 ;MAIN.C: 79: void T6( void )
380 ;MAIN.C: 80: {
381 0447 _T6
382 ;MAIN.C: 81: while(1) {
383 0447 l48
384 ;MAIN.C: 82: counter++;
385 0447 1283 bcf 3,5
386 0448 1303 bcf 3,6
387 0449 0AA0 incf _counter
388 044A 1903 btfsc 3,2
389 044B 0AA1 incf _counter+1
390 044C l52
391 ;MAIN.C: 83: { do { ; if ( ((&flags)->event.e_c
+ ode & 0x03) == 0x03 ) break; os_event_wait = (&
+ flags); os_status.state_parts.wait_event = 1; {
+ os_status.state_parts.task_run = 0; asm("save_
+ address");}; } while(1); ; };
392 044C 0823 movf _flags+1,w
393 044D 3903 andlw 3
394 044E 3A03 xorlw 3
395 044F 1903 btfsc 3,2
396 0450 2C5C goto l51
397 0451 3022 movlw _flags
398 0452 0080 movwf _os_event_wait
399 0453 1680 bsf _os_status,5 ;volatile
400 0454 1180 bcf _os_status,3 ;#
401 0455 3004 movlw high ??0014 ;#
402 0456 0084 movwf ?_OS_Cooperate_+1 ;#
403 0457 305B movlw low ??0014 ;#
404 0458 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
405 045B ??0014
406 ;#
407 045B 2C4C goto l52
408 045C l51
409 ;MAIN.C: 84: { ; (&flags)->event.e_code &= ~0x0
+ 3; ;};
410 045C 30FC movlw -4
411 045D 05A3 andwf _flags+1
412 ;MAIN.C: 85: counter++;
413 045E 0AA0 incf _counter
414 045F 1903 btfsc 3,2
415 0460 0AA1 incf _counter+1
416 ;MAIN.C: 86: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
417 0461 1180 bcf _os_status,3 ;#
418 0462 3004 movlw high ??0015 ;#
419 0463 0084 movwf ?_OS_Cooperate_+1 ;#
420 0464 3068 movlw low ??0015 ;#
421 0465 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
422 0468 ??0015
423 ;#
424 ;MAIN.C: 87: }
425 0468 2C47 goto l48
426
427 psect text7
428 ;MAIN.C: 90: void T7( void )
429 ;MAIN.C: 91: {
430 0380 _T7
431 ;MAIN.C: 92: while(1) {
432 ;MAIN.C: 93: counter++;
433 0380 1283 bcf 3,5
434 0381 1303 bcf 3,6
435 0382 L4
436 0382 0AA0 incf _counter
437 0383 1903 btfsc 3,2
438 0384 0AA1 incf _counter+1
439 ;MAIN.C: 94: { os_status.state_parts.task_run =
+ 0; asm("save_address");};
440 0385 1180 bcf _os_status,3 ;#
441 0386 3003 movlw high ??0016 ;#
442 0387 0084 movwf ?_OS_Cooperate_+1 ;#
443 0388 308C movlw low ??0016 ;#
444 0389 120A 118A 2B00 ljmp _OS_Cooperate_ ;#
445 038C ??0016
446 ;#
447 ;MAIN.C: 95: }
448 038C 2B82 goto L4
449
450 psect text8
451 ;MAIN.C: 98: void T8( void )
452 ;MAIN.C: 99: {
453 0366 _T8
454 ;MAIN.C: 100: while(1) {
455 ;MAIN.C: 101: counter++;
456 0366 1283 bcf 3,5
457 0367 1303 bcf 3,6
458 0368 L6
459 0368 0AA0 incf _counter
460 0369 1903 btfsc 3,2
461 036A 0AA1 incf _counter+1
462 ;MAIN.C: 102: { os_status.state_parts.task_run
+ = 0; asm("save_address");};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -