📄 event_init.lst.svn-base
字号:
869 16e7 0B .uleb128 0xb 870 16e8 43432034 .string "CC 4" 870 00 871 16ed 01 .byte 0x1 872 16ee 0D .uleb128 0xd 873 16ef 4D415854 .string "MAXTIMES 10" 873 494D4553 873 20313000 874 16fb 01 .byte 0x1 875 16fc 0E .uleb128 0xe 876 16fd 4F535F4C .string "OS_LOWEST_PRIO 63" 876 4F574553 876 545F5052 876 494F2036 876 3300 877 170f 01 .byte 0x1 878 1710 0F .uleb128 0xf 879 1711 4F535F4D .string "OS_MAX_TASKS 63" 879 41585F54 879 41534B53 879 20363300 880 1721 01 .byte 0x1 881 1722 10 .uleb128 0x10 882 1723 5243424E .string "RCBNum 4" 882 756D2034 882 00 883 172c 01 .byte 0x1 884 172d 15 .uleb128 0x15 885 172e 4F535F4E .string "OS_N_SYS_TASKS 1" 885 5F535953 885 5F544153 885 4B532031 885 00 886 173f 01 .byte 0x1 887 1740 16 .uleb128 0x16 888 1741 4F535F49 .string "OS_IDLE_PRIO 63" 888 444C455F 888 5052494F 888 20363300 889 1751 01 .byte 0x1GAS LISTING /tmp/ccdCq6q3.s page 32 890 1752 17 .uleb128 0x17 891 1753 4F535F53 .string "OS_STK_GROWTH 1" 891 544B5F47 891 524F5754 891 48203100 892 1763 01 .byte 0x1 893 1764 18 .uleb128 0x18 894 1765 4F535F48 .string "OS_HIGHEST_PRIO 0" 894 49474845 894 53545F50 894 52494F20 894 3000 895 1777 01 .byte 0x1 896 1778 19 .uleb128 0x19 897 1779 4F535F54 .string "OS_TASK_IDLE_PRIO (OS_LOWEST_PRIO)" 897 41534B5F 897 49444C45 897 5F505249 897 4F20284F 898 179c 01 .byte 0x1 899 179d 1A .uleb128 0x1a 900 179e 4F535F52 .string "OS_RDY_TBL_SIZE ((OS_LOWEST_PRIO) / 8 + 1)" 900 44595F54 900 424C5F53 900 495A4520 900 28284F53 901 17c9 01 .byte 0x1 902 17ca 1B .uleb128 0x1b 903 17cb 4F535F54 .string "OS_TASK_IDLE_STK_SIZE 512" 903 41534B5F 903 49444C45 903 5F53544B 903 5F53495A 904 17e5 01 .byte 0x1 905 17e6 36 .uleb128 0x36 906 17e7 54525545 .string "TRUE 1" 906 203100 907 17ee 01 .byte 0x1 908 17ef 37 .uleb128 0x37 909 17f0 46414C53 .string "FALSE 0" 909 45203000 910 17f8 01 .byte 0x1 911 17f9 3A .uleb128 0x3a 912 17fa 42542030 .string "BT 0" 912 00 913 17ff 01 .byte 0x1 914 1800 3B .uleb128 0x3b 915 1801 45542031 .string "ET 1" 915 00 916 1806 01 .byte 0x1 917 1807 3E .uleb128 0x3e 918 1808 4E4F4E50 .string "NONPREEMPT 0" 918 5245454D 918 50542030 918 00 919 1815 01 .byte 0x1 920 1816 3F .uleb128 0x3fGAS LISTING /tmp/ccdCq6q3.s page 33 921 1817 50524545 .string "PREEMPT 1" 921 4D505420 921 3100 922 1821 01 .byte 0x1 923 1822 40 .uleb128 0x40 924 1823 4D495850 .string "MIXPREEMPT 2" 924 5245454D 924 50542032 924 00 925 1830 01 .byte 0x1 926 1831 43 .uleb128 0x43 927 1832 455F4F4B .string "E_OK 10" 927 20313000 928 183a 01 .byte 0x1 929 183b 44 .uleb128 0x44 930 183c 455F4F53 .string "E_OS_ID 20" 930 5F494420 930 323000 931 1847 01 .byte 0x1 932 1848 45 .uleb128 0x45 933 1849 455F4F53 .string "E_OS_LIMIT 20" 933 5F4C494D 933 49542032 933 3000 934 1857 01 .byte 0x1 935 1858 46 .uleb128 0x46 936 1859 455F4F53 .string "E_OS_CALLEVEL 20" 936 5F43414C 936 4C455645 936 4C203230 936 00 937 186a 01 .byte 0x1 938 186b 47 .uleb128 0x47 939 186c 455F4F53 .string "E_OS_RESOURCE 20" 939 5F524553 939 4F555243 939 45203230 939 00 940 187d 01 .byte 0x1 941 187e 48 .uleb128 0x48 942 187f 455F4F53 .string "E_OS_STATE 20" 942 5F535441 942 54452032 942 3000 943 188d 01 .byte 0x1 944 188e 49 .uleb128 0x49 945 188f 455F4F53 .string "E_OS_ACCESS 20" 945 5F414343 945 45535320 945 323000 946 189e 01 .byte 0x1 947 189f 4A .uleb128 0x4a 948 18a0 4F535F50 .string "OS_PRIO_INVALID 20" 948 52494F5F 948 494E5641 948 4C494420 948 323000GAS LISTING /tmp/ccdCq6q3.s page 34 949 18b3 01 .byte 0x1 950 18b4 4B .uleb128 0x4b 951 18b5 4F535F4E .string "OS_NO_ERR 20" 951 4F5F4552 951 52203230 951 00 952 18c2 01 .byte 0x1 953 18c3 4C .uleb128 0x4c 954 18c4 4F535F45 .string "OS_ERR_NONE 20" 954 52525F4E 954 4F4E4520 954 323000 955 18d3 01 .byte 0x1 956 18d4 4D .uleb128 0x4d 957 18d5 4F535F45 .string "OS_ERR_PRIO_EXIST 20" 957 52525F50 957 52494F5F 957 45584953 957 54203230 958 18ea 01 .byte 0x1 959 18eb 4E .uleb128 0x4e 960 18ec 4F535F45 .string "OS_ERR_PRIO_ID_EXIST 20" 960 52525F50 960 52494F5F 960 49445F45 960 58495354 961 1904 01 .byte 0x1 962 1905 4F .uleb128 0x4f 963 1906 4F535F45 .string "OS_ERR_TASK_NO_MORE_TCB 20" 963 52525F54 963 41534B5F 963 4E4F5F4D 963 4F52455F 964 1921 01 .byte 0x1 965 1922 50 .uleb128 0x50 966 1923 4F535F45 .string "OS_ERR_ID_EXIST 20" 966 52525F49 966 445F4558 966 49535420 966 323000 967 1936 01 .byte 0x1 968 1937 51 .uleb128 0x51 969 1938 494E5641 .string "INVALID_TASK 20" 969 4C49445F 969 5441534B 969 20323000 970 1948 01 .byte 0x1 971 1949 52 .uleb128 0x52 972 194a 5441534B .string "TASKIDLE 20" 972 49444C45 972 20323000 973 1956 01 .byte 0x1 974 1957 53 .uleb128 0x53 975 1958 4E4F5F54 .string "NO_TASK (void *)0" 975 41534B20 975 28766F69 975 64202A29 GAS LISTING /tmp/ccdCq6q3.s page 35 975 3000 976 196a 01 .byte 0x1 977 196b 54 .uleb128 0x54 978 196c 4F535F54 .string "OS_TASK_IDLE_ID 20" 978 41534B5F 978 49444C45 978 5F494420 978 323000 979 197f 01 .byte 0x1 980 1980 55 .uleb128 0x55 981 1981 4F535F45 .string "OS_ERR_PRIO_INVALID 20" 981 52525F50 981 52494F5F 981 494E5641 981 4C494420 982 1998 01 .byte 0x1 983 1999 56 .uleb128 0x56 984 199a 4F535F45 .string "OS_ERR_PRIO 20" 984 52525F50 984 52494F20 984 323000 985 19a9 01 .byte 0x1 986 19aa 58 .uleb128 0x58 987 19ab 455F4F53 .string "E_OS_NOFUNC 20" 987 5F4E4F46 987 554E4320 987 323000 988 19ba 01 .byte 0x1 989 19bb 59 .uleb128 0x59 990 19bc 72656164 .string "ready 1" 990 79203100 991 19c4 01 .byte 0x1 992 19c5 5A .uleb128 0x5a 993 19c6 72756E6E .string "running 2" 993 696E6720 993 3200 994 19d0 01 .byte 0x1 995 19d1 5B .uleb128 0x5b 996 19d2 77616974 .string "waitting 3" 996 74696E67 996 203300 997 19dd 01 .byte 0x1 998 19de 5C .uleb128 0x5c 999 19df 73757370 .string "suspended 4" 999 656E6465 999 64203400 1000 19eb 01 .byte 0x1 1001 19ec 5E .uleb128 0x5e 1002 19ed 42434331 .string "BCC1 1" 1002 203100 1003 19f4 01 .byte 0x1 1004 19f5 5F .uleb128 0x5f 1005 19f6 42434332 .string "BCC2 2" 1005 203200 1006 19fd 01 .byte 0x1 1007 19fe 60 .uleb128 0x60 1008 19ff 45434331 .string "ECC1 3"GAS LISTING /tmp/ccdCq6q3.s page 36 1008 203300 1009 1a06 01 .byte 0x1 1010 1a07 61 .uleb128 0x61 1011 1a08 45434332 .string "ECC2 4" 1011 203400 1012 1a0f 04 .byte 0x4 1013 1a10 03 .byte 0x3 1014 1a11 03 .uleb128 0x3 1015 .file 9 "OS/Event/event.h" 1016 1a12 09 .uleb128 0x9 1017 1a13 01 .byte 0x1 1018 1a14 04 .uleb128 0x4 1019 1a15 5F5F4F53 .string "__OS_EVENT_H__ " 1019 5F455645 1019 4E545F48 1019 5F5F2000 1020 1a25 04 .byte 0x4 1021 .section ".text" 1022 .align 2 1023 .globl SetEvent 1024 .type SetEvent, @function 1025 SetEvent: 1026 .LFB2: 1:OS/Event/event_init.c **** #include "global.h"
2:OS/Event/event_init.c **** #include "OS_CPU.h"
3:OS/Event/event_init.c **** #include "event.h"
4:OS/Event/event_init.c ****
5:OS/Event/event_init.c **** INT8U SetEvent(INT8U id, INT8U mask)
6:OS/Event/event_init.c **** {
1027 .loc 1 6 0 1028 0000 9421FFD8 stwu 1,-40(1) 1029 .LCFI0: 1030 0004 7C0802A6 mflr 0 1031 .LCFI1: 1032 0008 93E10024 stw 31,36(1) 1033 .LCFI2: 1034 000c 9001002C stw 0,44(1) 1035 .LCFI3: 1036 0010 7C3F0B78 mr 31,1 1037 .LCFI4: 1038 0014 7C601B78 mr 0,3 1039 0018 7C892378 mr 9,4 1040 001c 981F0018 stb 0,24(31) 1041 0020 993F0019 stb 9,25(31) 7:OS/Event/event_init.c **** OS_TCB *ptcb;
8:OS/Event/event_init.c **** if(OSTCBidTbl[id]==(OS_TCB *)0)
1042 .loc 1 8 0 1043 0024 881F0018 lbz 0,24(31) 1044 0028 5400063E rlwinm 0,0,0,0xff 1045 002c 3D200000 lis 9,OSTCBidTbl@ha 1046 0030 39290000 la 9,OSTCBidTbl@l(9) 1047 0034 5400103A slwi 0,0,2 1048 0038 7D204A14 add 9,0,9 1049 003c 80090000 lwz 0,0(9) 1050 0040 2F800000 cmpwi 7,0,0 1051 0044 409E0010 bne 7,.L2 9:OS/Event/event_init.c **** return E_OS_ID;
GAS LISTING /tmp/ccdCq6q3.s page 37 1052 .loc 1 9 0 1053 0048 38000014 li 0,20 1054 004c 901F001C stw 0,28(31) 1055 0050 480000F8 b .L4 1056 .L2: 10:OS/Event/event_init.c **** ptcb=OSTCBidTbl[id];
1057 .loc 1 10 0 1058 0054 881F0018 lbz 0,24(31) 1059 0058 5400063E rlwinm 0,0,0,0xff 1060 005c 3D200000 lis 9,OSTCBidTbl@ha 1061 0060 39290000 la 9,OSTCBidTbl@l(9) 1062 0064 5400103A slwi 0,0,2 1063 0068 7D204A14 add 9,0,9 1064 006c 80090000 lwz 0,0(9) 1065 0070 901F0008 stw 0,8(31) 11:OS/Event/event_init.c **** if(ptcb->state==suspended)
1066 .loc 1 11 0 1067 0074 813F0008 lwz 9,8(31) 1068 0078 88090028 lbz 0,40(9) 1069 007c 5400063E rlwinm 0,0,0,0xff 1070 0080 2F800004 cmpwi 7,0,4 1071 0084 409E0010 bne 7,.L5 12:OS/Event/event_init.c **** return E_OS_STATE;
1072 .loc 1 12 0 1073 0088 38000014 li 0,20 1074 008c 901F001C stw 0,28(31) 1075 0090 480000B8 b .L4 1076 .L5: 13:OS/Event/event_init.c **** if(ptcb->taskclass!=ET)
1077 .loc 1 13 0 1078 0094 813F0008 lwz 9,8(31) 1079 0098 8809002F lbz 0,47(9) 1080 009c 5400063E rlwinm 0,0,0,0xff 1081 00a0 2F800001 cmpwi 7,0,1 1082 00a4 419E0010 beq 7,.L7 14:OS/Event/event_init.c **** return E_OS_ACCESS;
1083 .loc 1 14 0 1084 00a8 38000014 li 0,20 1085 00ac 901F001C stw 0,28(31) 1086 00b0 48000098 b .L4 1087 .L7: 15:OS/Event/event_init.c **** ptcb->Set=ptcb->Set|mask;//设置TCB的Set字段
1088 .loc 1 15 0 1089 00b4 813F0008 lwz 9,8(31) 1090 00b8 8809001C lbz 0,28(9) 1091 00bc 5409063E rlwinm 9,0,0,0xff 1092 00c0 881F0019 lbz 0,25(31) 1093 00c4 7D200378 or 0,9,0 1094 00c8 5400063E rlwinm 0,0,0,0xff 1095 00cc 813F0008 lwz 9,8(31) 1096 00d0 9809001C stb 0,28(9) 16:OS/Event/event_init.c ****
17:OS/Event/event_init.c **** if((ptcb->state==waitting)&&(ptcb->Set&ptcb->Wait!=0))
1097 .loc 1 17 0 1098 00d4 813F0008 lwz 9,8(31) 1099 00d8 88090028 lbz 0,40(9) 1100 00dc 5400063E rlwinm 0,0,0,0xffGAS LISTING /tmp/ccdCq6q3.s page 38 1101 00e0 2F800003 cmpwi 7,0,3 1102 00e4 409E005C bne 7,.L9 1103 00e8 813F0008 lwz 9,8(31) 1104 00ec 8809001C lbz 0,28(9) 1105 00f0 5400063E rlwinm 0,0,0,0xff 1106 00f4 7C0B0378 mr 11,0 1107 00f8 813F0008 lwz 9,8(31) 1108 00fc 8809001D lbz 0,29(9) 1109 0100 5400063E rlwinm 0,0,0,0xff 1110 0104 7C0000D0 neg 0,0 1111 0108 54000FFE srwi 0,0,31 1112 010c 7D600038 and 0,11,0 1113 0110 2F800000 cmpwi 7,0,0 1114 0114 419E002C beq 7,.L9 18:OS/Event/event_init.c **** {
19:OS/Event/event_init.c **** ptcb->state=ready;
1115 .loc 1 19 0 1116 0118 813F0008 lwz 9,8(31) 1117 011c 38000001 li 0,1 1118 0120 98090028 stb 0,40(9) 20:OS/Event/event_init.c ****
21:OS/Event/event_init.c **** if(SCHEDULE==PREEMPT)
22:OS/Event/event_init.c **** schedule();
23:OS/Event/event_init.c **** else if(SCHEDULE==MIXPREEMPT &&OSTCBCur->schedpcy==PREEMPT)
1119 .loc 1 23 0 1120 0124 3D200000 lis 9,OSTCBCur@ha 1121 0128 81290000 lwz 9,OSTCBCur@l(9) 1122 012c 8809002E lbz 0,46(9) 1123 0130 5400063E rlwinm 0,0,0,0xff 1124 0134 2F800001 cmpwi 7,0,1 1125 0138 409E0008 bne 7,.L9 24:OS/Event/event_init.c **** schedule();
1126 .loc 1 24 0 1127 013c 48000001 bl schedule 1128 .L9: 25:OS/Event/event_init.c **** }
26:OS/Event/event_init.c ****
27:OS/Event/event_init.c **** return E_OK;
1129 .loc 1 27 0 1130 0140 3800000A li 0,10 1131 0144 901F001C stw 0,28(31) 1132 .L4: 1133 0148 801F001C lwz 0,28(31) 28:OS/Event/event_init.c **** }
1134 .loc 1 28 0 1135 014c 7C030378 mr 3,0 1136 0150 81610000 lwz 11,0(1) 1137 0154 800B0004 lwz 0,4(11) 1138 0158 7C0803A6 mtlr 0 1139 015c 83EBFFFC lwz 31,-4(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -