📄 os_cpu_c.ls1
字号:
003A 120000 F 412 LCALL ?C?XBPOFF
003D 120000 F 413 LCALL ?C?PLDXDATA
0040 850083 F 414 MOV DPH,?C_XBP
0043 850082 F 415 MOV DPL,?C_XBP+01H
0046 120000 F 416 LCALL ?C?PSTXDATA
417 ;
418 ; *stk++ = 2 + 13; /* tow byte
s of return address and 13 byte registers */
419 ; SOURCE LINE # 188
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 8
0049 850083 F 420 MOV DPH,?C_XBP
004C 850082 F 421 MOV DPL,?C_XBP+01H
004F E4 422 CLR A
0050 75F001 423 MOV B,#01H
0053 120000 F 424 LCALL ?C?PLDIXDATA
0056 740F 425 MOV A,#0FH
0058 120000 F 426 LCALL ?C?CSTPTR
427 ; *stk++ = (INT16U)task & 0xFF; /* low byte of return address */
428 ; SOURCE LINE # 189
005B 900003 429 MOV DPTR,#03H
005E 120000 F 430 LCALL ?C?XBPOFF
0061 120000 F 431 LCALL ?C?PLDXDATA
0064 AF01 432 MOV R7,AR1
0066 850083 F 433 MOV DPH,?C_XBP
0069 850082 F 434 MOV DPL,?C_XBP+01H
006C E4 435 CLR A
006D 75F001 436 MOV B,#01H
0070 120000 F 437 LCALL ?C?PLDIXDATA
0073 EF 438 MOV A,R7
0074 120000 F 439 LCALL ?C?CSTPTR
440 ; *stk++ = (INT16U)task >> 8; /* high byte of return address */
441 ; SOURCE LINE # 190
0077 900003 442 MOV DPTR,#03H
007A 120000 F 443 LCALL ?C?XBPOFF
007D 120000 F 444 LCALL ?C?PLDXDATA
0080 EA 445 MOV A,R2
0081 FF 446 MOV R7,A
0082 850083 F 447 MOV DPH,?C_XBP
0085 850082 F 448 MOV DPL,?C_XBP+01H
0088 E4 449 CLR A
0089 75F001 450 MOV B,#01H
008C 120000 F 451 LCALL ?C?PLDIXDATA
008F EF 452 MOV A,R7
0090 120000 F 453 LCALL ?C?CSTPTR
454 ; *stk++ = 0x0A; /* ACC */
455 ; SOURCE LINE # 191
0093 850083 F 456 MOV DPH,?C_XBP
0096 850082 F 457 MOV DPL,?C_XBP+01H
0099 E4 458 CLR A
009A 75F001 459 MOV B,#01H
009D 120000 F 460 LCALL ?C?PLDIXDATA
00A0 740A 461 MOV A,#0AH
00A2 120000 F 462 LCALL ?C?CSTPTR
463 ; *stk++ = 0x0B; /* B */
464 ; SOURCE LINE # 192
00A5 850083 F 465 MOV DPH,?C_XBP
00A8 850082 F 466 MOV DPL,?C_XBP+01H
00AB E4 467 CLR A
00AC 75F001 468 MOV B,#01H
00AF 120000 F 469 LCALL ?C?PLDIXDATA
00B2 740B 470 MOV A,#0BH
00B4 120000 F 471 LCALL ?C?CSTPTR
472 ; *stk++ = 0xD1; /* DPH */
473 ; SOURCE LINE # 193
00B7 850083 F 474 MOV DPH,?C_XBP
00BA 850082 F 475 MOV DPL,?C_XBP+01H
00BD E4 476 CLR A
00BE 75F001 477 MOV B,#01H
00C1 120000 F 478 LCALL ?C?PLDIXDATA
00C4 74D1 479 MOV A,#0D1H
00C6 120000 F 480 LCALL ?C?CSTPTR
481 ; *stk++ = 0xD0; /* DPL */
482 ; SOURCE LINE # 194
00C9 850083 F 483 MOV DPH,?C_XBP
00CC 850082 F 484 MOV DPL,?C_XBP+01H
00CF E4 485 CLR A
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 9
00D0 75F001 486 MOV B,#01H
00D3 120000 F 487 LCALL ?C?PLDIXDATA
00D6 74D0 488 MOV A,#0D0H
00D8 120000 F 489 LCALL ?C?CSTPTR
490 ; *stk++ = 0x00; /* PSW */
491 ; SOURCE LINE # 195
00DB 850083 F 492 MOV DPH,?C_XBP
00DE 850082 F 493 MOV DPL,?C_XBP+01H
00E1 E4 494 CLR A
00E2 75F001 495 MOV B,#01H
00E5 120000 F 496 LCALL ?C?PLDIXDATA
00E8 E4 497 CLR A
00E9 120000 F 498 LCALL ?C?CSTPTR
499 ; *stk++ = 0x00; /* R0 */
500 ; SOURCE LINE # 196
00EC 850083 F 501 MOV DPH,?C_XBP
00EF 850082 F 502 MOV DPL,?C_XBP+01H
00F2 75F001 503 MOV B,#01H
00F5 120000 F 504 LCALL ?C?PLDIXDATA
00F8 E4 505 CLR A
00F9 120000 F 506 LCALL ?C?CSTPTR
507 ; *stk++ = 0x01; /* R1 */
508 ; SOURCE LINE # 197
00FC 850083 F 509 MOV DPH,?C_XBP
00FF 850082 F 510 MOV DPL,?C_XBP+01H
0102 75F001 511 MOV B,#01H
0105 120000 F 512 LCALL ?C?PLDIXDATA
0108 7401 513 MOV A,#01H
010A 120000 F 514 LCALL ?C?CSTPTR
515 ; *stk++ = 0x02; /* R2 */
516 ; SOURCE LINE # 198
010D 850083 F 517 MOV DPH,?C_XBP
0110 850082 F 518 MOV DPL,?C_XBP+01H
0113 E4 519 CLR A
0114 75F001 520 MOV B,#01H
0117 120000 F 521 LCALL ?C?PLDIXDATA
011A 7402 522 MOV A,#02H
011C 120000 F 523 LCALL ?C?CSTPTR
524 ; *stk++ = 0x03; /* R3 */
525 ; SOURCE LINE # 199
011F 850083 F 526 MOV DPH,?C_XBP
0122 850082 F 527 MOV DPL,?C_XBP+01H
0125 E4 528 CLR A
0126 75F001 529 MOV B,#01H
0129 120000 F 530 LCALL ?C?PLDIXDATA
012C 7403 531 MOV A,#03H
012E 120000 F 532 LCALL ?C?CSTPTR
533 ; *stk++ = 0x04; /* R4 */
534 ; SOURCE LINE # 200
0131 850083 F 535 MOV DPH,?C_XBP
0134 850082 F 536 MOV DPL,?C_XBP+01H
0137 E4 537 CLR A
0138 75F001 538 MOV B,#01H
013B 120000 F 539 LCALL ?C?PLDIXDATA
013E 7404 540 MOV A,#04H
0140 120000 F 541 LCALL ?C?CSTPTR
542 ; *stk++ = 0x05; /* R5 */
543 ; SOURCE LINE # 201
0143 850083 F 544 MOV DPH,?C_XBP
0146 850082 F 545 MOV DPL,?C_XBP+01H
0149 E4 546 CLR A
014A 75F001 547 MOV B,#01H
014D 120000 F 548 LCALL ?C?PLDIXDATA
0150 7405 549 MOV A,#05H
0152 120000 F 550 LCALL ?C?CSTPTR
551 ; *stk++ = 0x06; /* R6 */
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 10
552 ; SOURCE LINE # 202
0155 850083 F 553 MOV DPH,?C_XBP
0158 850082 F 554 MOV DPL,?C_XBP+01H
015B E4 555 CLR A
015C 75F001 556 MOV B,#01H
015F 120000 F 557 LCALL ?C?PLDIXDATA
0162 7406 558 MOV A,#06H
0164 120000 F 559 LCALL ?C?CSTPTR
560 ; *stk++ = 0x07; /* R7 */
561 ; SOURCE LINE # 203
0167 850083 F 562 MOV DPH,?C_XBP
016A 850082 F 563 MOV DPL,?C_XBP+01H
016D E4 564 CLR A
016E 75F001 565 MOV B,#01H
0171 120000 F 566 LCALL ?C?PLDIXDATA
0174 7407 567 MOV A,#07H
0176 120000 F 568 LCALL ?C?CSTPTR
569 ;
570 ; return ((void *)ptos);
571 ; SOURCE LINE # 205
0179 900009 572 MOV DPTR,#09H
017C 120000 F 573 LCALL ?C?XBPOFF
017F 120000 F 574 LCALL ?C?PLDXDATA
575 ; }
576 ; SOURCE LINE # 206
0182 577 ?C0007:
0182 90000E 578 MOV DPTR,#0EH
0185 020000 F 579 LJMP ?C?ADDXBP
580 ; END OF _?OSTaskStkInit
581
582 ;
583 ; /*$PAGE*/
584 ;
585 ; /*
586 ; *****************************************************************************************
****************
587 ; * TASK SWITCH HOOK
588 ; *
589 ; * Description: This function is called when a task switch is performed. This allows you
to perform other
590 ; * operations during a context switch.
591 ; *
592 ; * Arguments : none
593 ; *
594 ; * Note(s) : 1) Interrupts are disabled during this call.
595 ; * 2) It is assumed that the global pointer 'OSTCBHighRdy' points to the TCB
of the task that
596 ; * will be 'switched in' (i.e. the highest priority task) and, 'OSTCBCur'
points to the
597 ; * task being switched out (i.e. the preempted task).
598 ; *****************************************************************************************
****************
599 ; */
600 ; #if OS_CPU_HOOKS_EN > 0
601 ; void OSTaskSwHook (void) reentrant
602
---- 603 RSEG ?PR?_?OSTaskSwHook?OS_CPU_C
0000 604 _?OSTaskSwHook:
605 ; SOURCE LINE # 226
606 ; {
607 ; }
608 ; SOURCE LINE # 228
0000 22 609 RET
610 ; END OF _?OSTaskSwHook
611
612 ; #endif
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 11
613 ;
614 ; /*
615 ; *****************************************************************************************
****************
616 ; * OSTCBInit() HOOK
617 ; *
618 ; * Description: This function is called by OS_TCBInit() after setting up most of the TCB.
619 ; *
620 ; * Arguments : ptcb is a pointer to the TCB of the task being created.
621 ; *
622 ; * Note(s) : 1) Interrupts may or may not be ENABLED during this call.
623 ; *****************************************************************************************
****************
624 ; */
625 ; #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
626 ; void OSTCBInitHook (OS_TCB *ptcb) reentrant
627
---- 628 RSEG ?PR?_?OSTCBInitHook?OS_CPU_C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -