📄 taskapi.lst.svn-base
字号:
853 5F524553 853 4F555243 853 455F485F 853 5F2000 854 16ba 03 .byte 0x3 855 16bb 07 .uleb128 0x7 856 .file 9 "./OS/Task/OS_TCB.h" 857 16bc 09 .uleb128 0x9GAS LISTING /tmp/cctyqKAk.s page 31 858 16bd 04 .byte 0x4 859 16be 03 .byte 0x3 860 16bf 08 .uleb128 0x8 861 .file 10 "./OS/Task/global.h" 862 16c0 0A .uleb128 0xa 863 16c1 04 .byte 0x4 864 16c2 01 .byte 0x1 865 16c3 1A .uleb128 0x1a 866 16c4 696E7465 .string "internal 0" 866 726E616C 866 203000 867 16cf 01 .byte 0x1 868 16d0 1B .uleb128 0x1b 869 16d1 7374616E .string "standard 1" 869 64617264 869 203100 870 16dc 04 .byte 0x4 871 16dd 01 .byte 0x1 872 16de 0A .uleb128 0xa 873 16df 53434845 .string "SCHEDULE 2" 873 44554C45 873 203200 874 16ea 01 .byte 0x1 875 16eb 0B .uleb128 0xb 876 16ec 43432034 .string "CC 4" 876 00 877 16f1 01 .byte 0x1 878 16f2 0D .uleb128 0xd 879 16f3 4D415854 .string "MAXTIMES 10" 879 494D4553 879 20313000 880 16ff 01 .byte 0x1 881 1700 0E .uleb128 0xe 882 1701 4F535F4C .string "OS_LOWEST_PRIO 63" 882 4F574553 882 545F5052 882 494F2036 882 3300 883 1713 01 .byte 0x1 884 1714 0F .uleb128 0xf 885 1715 4F535F4D .string "OS_MAX_TASKS 63" 885 41585F54 885 41534B53 885 20363300 886 1725 01 .byte 0x1 887 1726 10 .uleb128 0x10 888 1727 5243424E .string "RCBNum 4" 888 756D2034 888 00 889 1730 01 .byte 0x1 890 1731 15 .uleb128 0x15 891 1732 4F535F4E .string "OS_N_SYS_TASKS 1" 891 5F535953 891 5F544153 891 4B532031 891 00 892 1743 01 .byte 0x1GAS LISTING /tmp/cctyqKAk.s page 32 893 1744 16 .uleb128 0x16 894 1745 4F535F49 .string "OS_IDLE_PRIO 63" 894 444C455F 894 5052494F 894 20363300 895 1755 01 .byte 0x1 896 1756 17 .uleb128 0x17 897 1757 4F535F53 .string "OS_STK_GROWTH 1" 897 544B5F47 897 524F5754 897 48203100 898 1767 01 .byte 0x1 899 1768 18 .uleb128 0x18 900 1769 4F535F48 .string "OS_HIGHEST_PRIO 0" 900 49474845 900 53545F50 900 52494F20 900 3000 901 177b 01 .byte 0x1 902 177c 19 .uleb128 0x19 903 177d 4F535F54 .string "OS_TASK_IDLE_PRIO (OS_LOWEST_PRIO)" 903 41534B5F 903 49444C45 903 5F505249 903 4F20284F 904 17a0 01 .byte 0x1 905 17a1 1A .uleb128 0x1a 906 17a2 4F535F52 .string "OS_RDY_TBL_SIZE ((OS_LOWEST_PRIO) / 8 + 1)" 906 44595F54 906 424C5F53 906 495A4520 906 28284F53 907 17cd 01 .byte 0x1 908 17ce 1B .uleb128 0x1b 909 17cf 4F535F54 .string "OS_TASK_IDLE_STK_SIZE 512" 909 41534B5F 909 49444C45 909 5F53544B 909 5F53495A 910 17e9 01 .byte 0x1 911 17ea 36 .uleb128 0x36 912 17eb 54525545 .string "TRUE 1" 912 203100 913 17f2 01 .byte 0x1 914 17f3 37 .uleb128 0x37 915 17f4 46414C53 .string "FALSE 0" 915 45203000 916 17fc 01 .byte 0x1 917 17fd 3A .uleb128 0x3a 918 17fe 42542030 .string "BT 0" 918 00 919 1803 01 .byte 0x1 920 1804 3B .uleb128 0x3b 921 1805 45542031 .string "ET 1" 921 00 922 180a 01 .byte 0x1 923 180b 3E .uleb128 0x3eGAS LISTING /tmp/cctyqKAk.s page 33 924 180c 4E4F4E50 .string "NONPREEMPT 0" 924 5245454D 924 50542030 924 00 925 1819 01 .byte 0x1 926 181a 3F .uleb128 0x3f 927 181b 50524545 .string "PREEMPT 1" 927 4D505420 927 3100 928 1825 01 .byte 0x1 929 1826 40 .uleb128 0x40 930 1827 4D495850 .string "MIXPREEMPT 2" 930 5245454D 930 50542032 930 00 931 1834 01 .byte 0x1 932 1835 43 .uleb128 0x43 933 1836 455F4F4B .string "E_OK 10" 933 20313000 934 183e 01 .byte 0x1 935 183f 44 .uleb128 0x44 936 1840 455F4F53 .string "E_OS_ID 20" 936 5F494420 936 323000 937 184b 01 .byte 0x1 938 184c 45 .uleb128 0x45 939 184d 455F4F53 .string "E_OS_LIMIT 20" 939 5F4C494D 939 49542032 939 3000 940 185b 01 .byte 0x1 941 185c 46 .uleb128 0x46 942 185d 455F4F53 .string "E_OS_CALLEVEL 20" 942 5F43414C 942 4C455645 942 4C203230 942 00 943 186e 01 .byte 0x1 944 186f 47 .uleb128 0x47 945 1870 455F4F53 .string "E_OS_RESOURCE 20" 945 5F524553 945 4F555243 945 45203230 945 00 946 1881 01 .byte 0x1 947 1882 48 .uleb128 0x48 948 1883 455F4F53 .string "E_OS_STATE 20" 948 5F535441 948 54452032 948 3000 949 1891 01 .byte 0x1 950 1892 49 .uleb128 0x49 951 1893 455F4F53 .string "E_OS_ACCESS 20" 951 5F414343 951 45535320 951 323000 952 18a2 01 .byte 0x1GAS LISTING /tmp/cctyqKAk.s page 34 953 18a3 4A .uleb128 0x4a 954 18a4 4F535F50 .string "OS_PRIO_INVALID 20" 954 52494F5F 954 494E5641 954 4C494420 954 323000 955 18b7 01 .byte 0x1 956 18b8 4B .uleb128 0x4b 957 18b9 4F535F4E .string "OS_NO_ERR 20" 957 4F5F4552 957 52203230 957 00 958 18c6 01 .byte 0x1 959 18c7 4C .uleb128 0x4c 960 18c8 4F535F45 .string "OS_ERR_NONE 20" 960 52525F4E 960 4F4E4520 960 323000 961 18d7 01 .byte 0x1 962 18d8 4D .uleb128 0x4d 963 18d9 4F535F45 .string "OS_ERR_PRIO_EXIST 20" 963 52525F50 963 52494F5F 963 45584953 963 54203230 964 18ee 01 .byte 0x1 965 18ef 4E .uleb128 0x4e 966 18f0 4F535F45 .string "OS_ERR_PRIO_ID_EXIST 20" 966 52525F50 966 52494F5F 966 49445F45 966 58495354 967 1908 01 .byte 0x1 968 1909 4F .uleb128 0x4f 969 190a 4F535F45 .string "OS_ERR_TASK_NO_MORE_TCB 20" 969 52525F54 969 41534B5F 969 4E4F5F4D 969 4F52455F 970 1925 01 .byte 0x1 971 1926 50 .uleb128 0x50 972 1927 4F535F45 .string "OS_ERR_ID_EXIST 20" 972 52525F49 972 445F4558 972 49535420 972 323000 973 193a 01 .byte 0x1 974 193b 51 .uleb128 0x51 975 193c 494E5641 .string "INVALID_TASK 20" 975 4C49445F 975 5441534B 975 20323000 976 194c 01 .byte 0x1 977 194d 52 .uleb128 0x52 978 194e 5441534B .string "TASKIDLE 20" 978 49444C45 978 20323000 GAS LISTING /tmp/cctyqKAk.s page 35 979 195a 01 .byte 0x1 980 195b 53 .uleb128 0x53 981 195c 4E4F5F54 .string "NO_TASK (void *)0" 981 41534B20 981 28766F69 981 64202A29 981 3000 982 196e 01 .byte 0x1 983 196f 54 .uleb128 0x54 984 1970 4F535F54 .string "OS_TASK_IDLE_ID 20" 984 41534B5F 984 49444C45 984 5F494420 984 323000 985 1983 01 .byte 0x1 986 1984 55 .uleb128 0x55 987 1985 4F535F45 .string "OS_ERR_PRIO_INVALID 20" 987 52525F50 987 52494F5F 987 494E5641 987 4C494420 988 199c 01 .byte 0x1 989 199d 56 .uleb128 0x56 990 199e 4F535F45 .string "OS_ERR_PRIO 20" 990 52525F50 990 52494F20 990 323000 991 19ad 01 .byte 0x1 992 19ae 58 .uleb128 0x58 993 19af 455F4F53 .string "E_OS_NOFUNC 20" 993 5F4E4F46 993 554E4320 993 323000 994 19be 01 .byte 0x1 995 19bf 59 .uleb128 0x59 996 19c0 72656164 .string "ready 1" 996 79203100 997 19c8 01 .byte 0x1 998 19c9 5A .uleb128 0x5a 999 19ca 72756E6E .string "running 2" 999 696E6720 999 3200 1000 19d4 01 .byte 0x1 1001 19d5 5B .uleb128 0x5b 1002 19d6 77616974 .string "waitting 3" 1002 74696E67 1002 203300 1003 19e1 01 .byte 0x1 1004 19e2 5C .uleb128 0x5c 1005 19e3 73757370 .string "suspended 4" 1005 656E6465 1005 64203400 1006 19ef 01 .byte 0x1 1007 19f0 5E .uleb128 0x5e 1008 19f1 42434331 .string "BCC1 1" 1008 203100 1009 19f8 01 .byte 0x1GAS LISTING /tmp/cctyqKAk.s page 36 1010 19f9 5F .uleb128 0x5f 1011 19fa 42434332 .string "BCC2 2" 1011 203200 1012 1a01 01 .byte 0x1 1013 1a02 60 .uleb128 0x60 1014 1a03 45434331 .string "ECC1 3" 1014 203300 1015 1a0a 01 .byte 0x1 1016 1a0b 61 .uleb128 0x61 1017 1a0c 45434332 .string "ECC2 4" 1017 203400 1018 1a13 04 .byte 0x4 1019 .section ".text" 1020 .align 2 1021 .globl activatetask 1022 .type activatetask, @function 1023 activatetask: 1024 .LFB2: 1:OS/Task/taskAPI.c **** #include "OS_CPU.h"
2:OS/Task/taskAPI.c **** #include "OS_TCB.h"
3:OS/Task/taskAPI.c **** #include "global.h"
4:OS/Task/taskAPI.c ****
5:OS/Task/taskAPI.c ****
6:OS/Task/taskAPI.c **** INT8U activatetask(INT8U id)
7:OS/Task/taskAPI.c **** {
1025 .loc 1 7 0 1026 0000 9421FFD8 stwu 1,-40(1) 1027 .LCFI0: 1028 0004 7C0802A6 mflr 0 1029 .LCFI1: 1030 0008 93E10024 stw 31,36(1) 1031 .LCFI2: 1032 000c 9001002C stw 0,44(1) 1033 .LCFI3: 1034 0010 7C3F0B78 mr 31,1 1035 .LCFI4: 1036 0014 7C601B78 mr 0,3 1037 0018 981F0018 stb 0,24(31) 8:OS/Task/taskAPI.c **** INT8U prio;
9:OS/Task/taskAPI.c **** OS_TCB *ptcb;
10:OS/Task/taskAPI.c **** #if (CC==BCC1)||(CC==ECC1)
11:OS/Task/taskAPI.c **** DisableAllInterrupts();
12:OS/Task/taskAPI.c **** if(OSTCBidTbl[id]!=(OS_TCB *)0) {
13:OS/Task/taskAPI.c **** ptcb = OSTCBidTbl[id];
14:OS/Task/taskAPI.c **** if(ptcb->state==suspended) {
15:OS/Task/taskAPI.c **** prio=ptcb->prio;
16:OS/Task/taskAPI.c **** OSRdyGrp |=ptcb->OSTCBBitY;
17:OS/Task/taskAPI.c **** OSRdyTbl[ptcb->OSTCBY] |=ptcb->OSTCBBitX;
18:OS/Task/taskAPI.c **** ptcb->state=ready;
19:OS/Task/taskAPI.c **** EnableAllInterrupts();
20:OS/Task/taskAPI.c **** if ((OSRunning ==TRUE)&&(OSTCBCur->schedpcy==PREEMPT)) {
21:OS/Task/taskAPI.c **** OS_Sched();
22:OS/Task/taskAPI.c **** }
23:OS/Task/taskAPI.c ****
24:OS/Task/taskAPI.c **** return(E_OK);
25:OS/Task/taskAPI.c **** }else {
26:OS/Task/taskAPI.c ****
GAS LISTING /tmp/cctyqKAk.s page 37 27:OS/Task/taskAPI.c **** if(ptcb->state!=ready) 28:OS/Task/taskAPI.c **** {
29:OS/Task/taskAPI.c **** EnableAllInterrupts();
30:OS/Task/taskAPI.c **** return(E_OS_ID); 31:OS/Task/taskAPI.c **** }
32:OS/Task/taskAPI.c **** }
33:OS/Task/taskAPI.c ****
34:OS/Task/taskAPI.c **** }else {
35:OS/Task/taskAPI.c **** EnableAllInterrupts();
36:OS/Task/taskAPI.c **** return(E_OS_ID);
37:OS/Task/taskAPI.c **** }
38:OS/Task/taskAPI.c **** #endif
39:OS/Task/taskAPI.c ****
40:OS/Task/taskAPI.c **** #if CC==BCC2
41:OS/Task/taskAPI.c **** DisableAllInterrupts();
42:OS/Task/taskAPI.c **** if(OSTCBidTbl[id]!=(OS_TCB*)0) {
43:OS/Task/taskAPI.c **** ptcb=OSTCBidTbl[id];
44:OS/Task/taskAPI.c **** if(ptcb->state==suspended) {
45:OS/Task/taskAPI.c **** prio=ptcb->prio;
46:OS/Task/taskAPI.c **** if (OSTCBPrioTbl[ptcb->prio].front ==(OS_TCB *)0) {
47:OS/Task/taskAPI.c **** OSRdyGrp |=ptcb->OSTCBBitY;
48:OS/Task/taskAPI.c **** OSRdyTbl[ptcb->OSTCBY] |=ptcb->OSTCBBitX;
49:OS/Task/taskAPI.c **** }
50:OS/Task/taskAPI.c **** EnQueue(&OSTCBPrioTbl[ptcb->prio],ptcb);
51:OS/Task/taskAPI.c **** ptcb->state=ready;
52:OS/Task/taskAPI.c **** atvtimes[id]++;
53:OS/Task/taskAPI.c **** EnableAllInterrupts();
54:OS/Task/taskAPI.c **** if ((OSRunning ==TRUE)&&(OSTCBCur->schedpcy==PREEMPT)) {
55:OS/Task/taskAPI.c **** OS_Sched();
56:OS/Task/taskAPI.c **** }
57:OS/Task/taskAPI.c ****
58:OS/Task/taskAPI.c **** return(E_OK);
59:OS/Task/taskAPI.c **** }else {
60:OS/Task/taskAPI.c ****
61:OS/Task/taskAPI.c **** if(ptcb->state=ready) {
62:OS/Task/taskAPI.c **** if(atvtimes[id]<MAXTIMES) 63:OS/Task/taskAPI.c **** {
64:OS/Task/taskAPI.c **** atvtimes[id]++;
65:OS/Task/taskAPI.c **** EnableAllInterrupts(); 66:OS/Task/taskAPI.c **** }
67:OS/Task/taskAPI.c **** else return(E_OS_LIMIT);
68:OS/Task/taskAPI.c **** }
69:OS/Task/taskAPI.c **** }
70:OS/Task/taskAPI.c ****
71:OS/Task/taskAPI.c **** }else {
72:OS/Task/taskAPI.c **** EnableAllInterrupts();
73:OS/Task/taskAPI.c **** return(E_OS_ID);
74:OS/Task/taskAPI.c **** }
75:OS/Task/taskAPI.c **** #endif
76:OS/Task/taskAPI.c ****
77:OS/Task/taskAPI.c **** #if CC==ECC2
78:OS/Task/taskAPI.c **** DisableAllInterrupts();
1038 .loc 1 78 0 1039 001c 7C1013A6 mtspr 80,r0 79:OS/Task/taskAPI.c **** if(OSTCBidTbl[id]!=(OS_TCB*)0) 1040 .loc 1 79 0 1041 0020 881F0018 lbz 0,24(31)GAS LISTING /tmp/cctyqKAk.s page 38 1042 0024 5400063E rlwinm 0,0,0,0xff 1043 0028 3D200000 lis 9,OSTCBidTbl@ha 1044 002c 39290000 la 9,OSTCBidTbl@l(9) 1045 0030 5400103A slwi 0,0,2 1046 0034 7D204A14 add 9,0,9 1047 0038 80090000 lwz 0,0(9) 1048 003c 2F800000 cmpwi 7,0,0 1049 0040 419E0248 beq 7,.L2 80:OS/Task/taskAPI.c **** {
81:OS/Task/taskAPI.c **** ptcb=OSTCBidTbl[id];
1050 .loc 1 81 0 1051 0044 881F0018 lbz 0,24(31) 1052 0048 5400063E
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -