⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_c.ls1

📁 本文面向首次接触uC/OS-II的程序员
💻 LS1
📖 第 1 页 / 共 4 页
字号:
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 + -