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

📄 os_cpu_c.lst

📁 ucOSII在kit-conC167评估板上的移植。
💻 LST
📖 第 1 页 / 共 4 页
字号:
 LOC CODE        LINE   SOURCELINE

                         t)
                   204   ; os_cpu_c.c   55       {
                   205   OS_CPU_C_1_PR   SECTION CODE WORD PUBLIC 'CPROGRAM'
                   206           ?LINE   55
                   207           PUBLIC  _OSTaskStkInit
               R   208           ?SYMB   'OSTaskStkInit',_OSTaskStkInit,37,283
                   209           ?SYMB   '',55,8,34
                   210   _OSTaskStkInit  PROC    FAR
                   211           ?SYMB   '',03c0H,95,0
0000 8890          212           MOV     [-R0],R9
               R   213           ?SYMB   '',$,96,2
0002 8880          214           MOV     [-R0],R8
               R   215           ?SYMB   '',$,96,4
0004 8870          216           MOV     [-R0],R7
               R   217           ?SYMB   '',$,96,6
0006 8860          218           MOV     [-R0],R6
               R   219           ?SYMB   '',$,96,8
0008 88D0          220           MOV     [-R0],R13
               R   221           ?SYMB   '',$,96,10
000A 88C0          222           MOV     [-R0],R12
               R   223           ?SYMB   '',$,96,12
000C 2802          224           SUB     R0,#02h
               R   225           ?SYMB   '',$,96,14
                   226   ; Locals:
                   227   ; 
                   228   ; CSEs:
                   229   ;     stk = R14R15
                   230   ;     task = offset 2
                   231   ;     page = R8
                   232   ;     offset = R9
                   233   ;     data_pof = R6
                   234   ;     usr = R7R1
                   235   ;     data_pag = offset 0
                   236   ;     pdata = R14R15
                   237   ;     ptos = offset 18
                   238   ; 
                   239           ?SYMB   '',1,55,297
                   240           ?SYMB   '',0a0129H,38,299
                   241           ?SYMB   'task',4,99,299
                   242           ?SYMB   'pdata',9,99,262
                   243           ?SYMB   'ptos',6,99,283
                   244           ?SYMB   '',01a0110H,38,301
                   245           ?SYMB   'stk',5,98,301
                   246           ?SYMB   'usr',3,98,279
                   247           ?SYMB   'page',1,98,272
                   248           ?SYMB   'offset',2,98,272
                   249           ?SYMB   'data_pag',8,98,272
                   250           ?SYMB   'data_pof',7,98,272
               R   251           ?SYMB   'R14R15',$,100,9
               R   252           ?SYMB   '4',$,101,6
               R   253           ?SYMB   '-c',$,101,4
                   254   ; os_cpu_c.c   56           INT16U  *stk;
                   255   ; os_cpu_c.c   57           INT32U   usr;
                   256   ; os_cpu_c.c   58           INT16U   page;
                   257   ; os_cpu_c.c   59           INT16U   offset;
C166/ST10 assembler v6.0 r2 SN00082920-083 (c) 1998 TASKING, Inc.                       Date: Dec  5 2000  Time: 10:02:44  Page:   6
os_cpu_c

 LOC CODE        LINE   SOURCELINE

                   258   ; os_cpu_c.c   60           INT16U   data_pag;
                   259   ; os_cpu_c.c   61           INT16U   data_pof;
                   260   ; os_cpu_c.c   62       
                   261   ; os_cpu_c.c   63       
                   262   ; os_cpu_c.c   64           opt      = opt;                                          /* 'opt' is not used, 
                         prevent warning     */
                   263   ; os_cpu_c.c   65           data_pag = (INT16U)_pag(pdata);
                   264           ?LINE   65
000E F01F          265           MOV     R1,R15
0010 B810          266           MOV     [R0],R1
               R   267           ?SYMB   '-e',$,101,8
                   268   ; os_cpu_c.c   66           data_pof = (INT16U)_pof(pdata);
                   269           ?LINE   66
0012 F06E          270           MOV     R6,R14
               R   271           ?SYMB   'R6',$,100,7
                   272   ; os_cpu_c.c   67           stk      = (INT16U *)ptos;                               /* Load stack pointer 
                                             */
                   273           ?LINE   67
0014 D4E01200      274           MOV     R14,[R0+#012H]
               R   275           ?SYMB   '',$,102,9
0018 D4F01400      276           MOV     R15,[R0+#014H]
               R   277           ?SYMB   'R14R15',$,100,5
                   278   ; os_cpu_c.c   68           *stk--   = data_pag;
                   279           ?LINE   68
001C F02E          280           MOV     R2,R14
001E F03F          281           MOV     R3,R15
0020 28E2          282           SUB     R14,#02h
               R   283           ?SYMB   '',$,102,5
               R   284           ?SYMB   'R14R15',$,100,5
0022 DC43          285           EXTP    R3,#01h
0024 B812     1    286           MOV     [R2],R1
                   287   ; os_cpu_c.c   69           *stk--   = data_pof;
                   288           ?LINE   69
0026 F08E          289           MOV     R8,R14
0028 F09F          290           MOV     R9,R15
002A 28E2          291           SUB     R14,#02h
               R   292           ?SYMB   '',$,102,5
               R   293           ?SYMB   'R14R15',$,100,5
002C DC49          294           EXTP    R9,#01h
002E B868     1    295           MOV     [R8],R6
                   296   ; os_cpu_c.c   70           *stk--   = (INT16U)_seg(task);                           /* Task segment start 
                         address             */
                   297           ?LINE   70
0030 D4900200      298           MOV     R9,[R0+#02H]
0034 D4700400      299           MOV     R7,[R0+#04H]
0038 F087          300           MOV     R8,R7
003A F0CE          301           MOV     R12,R14
003C F0DF          302           MOV     R13,R15
003E 28E2          303           SUB     R14,#02h
               R   304           ?SYMB   '',$,102,5
               R   305           ?SYMB   'R14R15',$,100,5
0040 DC4D          306           EXTP    R13,#01h
0042 B88C     1    307           MOV     [R12],R8
                   308   ; os_cpu_c.c   71           *stk--   = (INT16U)_sof(task);                           /* Task offset start a
                         ddress              */
C166/ST10 assembler v6.0 r2 SN00082920-083 (c) 1998 TASKING, Inc.                       Date: Dec  5 2000  Time: 10:02:44  Page:   7
os_cpu_c

 LOC CODE        LINE   SOURCELINE

                   309           ?LINE   71
0044 D4900200      310           MOV     R9,[R0+#02H]
0048 D4700400      311           MOV     R7,[R0+#04H]
004C F089          312           MOV     R8,R9
004E F0CE          313           MOV     R12,R14
0050 F0DF          314           MOV     R13,R15
0052 28E2          315           SUB     R14,#02h
               R   316           ?SYMB   '',$,102,5
               R   317           ?SYMB   'R14R15',$,100,5
0054 DC4D          318           EXTP    R13,#01h
0056 B88C     1    319           MOV     [R12],R8
                   320   ; os_cpu_c.c   72           usr      = (INT32U)stk;
                   321           ?LINE   72
0058 F08E          322           MOV     R8,R14
005A F09F          323           MOV     R9,R15
005C F0C9          324           MOV     R12,R9
005E 5CEC          325           SHL     R12,#0Eh
0060 708C          326           OR      R8,R12
0062 7C29          327           SHR     R9,#02h
0064 F078          328           MOV     R7,R8
0066 F019          329           MOV     R1,R9
               R   330           ?SYMB   'R7R1',$,100,3
                   331   ; os_cpu_c.c   73           offset   = (INT16U)((((usr) & 0x3FFF) - 10) | 0x4000);   /* Task user stack off
                         set                 */
                   332           ?LINE   73
0068 F087          333           MOV     R8,R7
006A F0C1          334           MOV     R12,R1
006C 66F8FF3F      335           AND     R8,#03FFFh
0070 68C0          336           AND     R12,#00h
0072 26F80A00      337           SUB     R8,#0Ah
0076 38C0          338           SUBC    R12,#00h
0078 EFF8          339           BSET    R8.14
007A F098          340           MOV     R9,R8
               R   341           ?SYMB   'R9',$,100,2
                   342   ; os_cpu_c.c   74           *stk--   = offset;
                   343           ?LINE   74
007C F08E          344           MOV     R8,R14
007E F0CF          345           MOV     R12,R15
0080 28E2          346           SUB     R14,#02h
               R   347           ?SYMB   '',$,102,5
               R   348           ?SYMB   'R14R15',$,100,5
0082 DC4C          349           EXTP    R12,#01h
0084 B898     1    350           MOV     [R8],R9
                   351   ; os_cpu_c.c   75           page     = (INT16U)(usr >> 0x000E);                      /* Task user stack pag
                         e                   */
                   352           ?LINE   75
0086 F0C1          353           MOV     R12,R1
0088 7CE7          354           SHR     R7,#0Eh
               R   355           ?SYMB   '',$,102,3
008A 7CE1          356           SHR     R1,#0Eh
008C 5C2C          357           SHL     R12,#02h
008E 707C          358           OR      R7,R12
0090 F087          359           MOV     R8,R7
               R   360           ?SYMB   'R8',$,100,1
                   361   ; os_cpu_c.c   76           *stk--   = page;
C166/ST10 assembler v6.0 r2 SN00082920-083 (c) 1998 TASKING, Inc.                       Date: Dec  5 2000  Time: 10:02:44  Page:   8
os_cpu_c

 LOC CODE        LINE   SOURCELINE

                   362           ?LINE   76
0092 F07E          363           MOV     R7,R14
0094 F0CF          364           MOV     R12,R15
0096 28E2          365           SUB     R14,#02h
               R   366           ?SYMB   '',$,102,5
               R   367           ?SYMB   'R14R15',$,100,5
0098 DC4C          368           EXTP    R12,#01h
009A B887     1    369           MOV     [R7],R8
                   370   ; os_cpu_c.c   77           *stk--   = (INT16U)0x0800;                               /* Task PSW = Interrup
                         ts enabled          */
                   371           ?LINE   77
009C E6F70008      372           MOV     R7,#0800h
00A0 F0CE          373           MOV     R12,R14
00A2 F0DF          374           MOV     R13,R15
00A4 28E2          375           SUB     R14,#02h
               R   376           ?SYMB   '',$,102,5
               R   377           ?SYMB   'R14R15',$,100,5
00A6 DC4D          378           EXTP    R13,#01h
00A8 B87C     1    379           MOV     [R12],R7
                   380   ; os_cpu_c.c   78           *stk--   = (INT16U)_sof(task);                           /* Task offset return 
                         address             */
                   381           ?LINE   78
00AA D4D00200      382           MOV     R13,[R0+#02H]
00AE D4100400      383           MOV     R1,[R0+#04H]
00B2 F0CD          384           MOV     R12,R13
00B4 F02E          385           MOV     R2,R14
00B6 F03F          386           MOV     R3,R15
00B8 28E2          387           SUB     R14,#02h
               R   388           ?SYMB   '',$,102,5
               R   389           ?SYMB   'R14R15',$,100,5
00BA DC43          390           EXTP    R3,#01h
00BC B8C2     1    391           MOV     [R2],R12
                   392   ; os_cpu_c.c   79           *stk--   = (INT16U)_seg(task);                           /* Task segment return
                          address            */
                   393           ?LINE   79
00BE D4D00200      394           MOV     R13,[R0+#02H]
00C2 D4100400      395           MOV     R1,[R0+#04H]
00C6 F0C1          396           MOV     R12,R1
00C8 F02E          397           MOV     R2,R14
00CA F03F          398           MOV     R3,R15
00CC 28E2          399           SUB     R14,#02h
               R   400           ?SYMB   '',$,102,5
               R   401           ?SYMB   'R14R15',$,100,5
00CE DC43          402           EXTP    R3,#01h
00D0 B8C2     1    403           MOV     [R2],R12
                   404   ; os_cpu_c.c   80           OSTaskBuildStk(page, offset, data_pag, data_pof);
                   405           ?LINE   80
00D2 F07E          406           MOV     R7,R14
00D4 88F0          407           MOV     [-R0],R15
               R   408           ?SYMB   '',$,96,16
00D6 F0C8          409           MOV     R12,R8
00D8 F0D9          410           MOV     R13,R9
00DA D4E00200      411           MOV     R14,[R0+#02H]
               R   412           ?SYMB   '',$,102,5
00DE F0F6          413           MOV     R15,R6
C166/ST10 assembler v6.0 r2 SN00082920-083 (c) 1998 TASKING, Inc.                       Date: Dec  5 2000  Time: 10:02:44  Page:   9
os_cpu_c

 LOC CODE        LINE   SOURCELINE

00E0 E6F80000  R   414           MOV     R8,#SOF _3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -