📄 test.lst
字号:
869 .LM144:
870 0390 0E94 0000 call OSSemPost
871 .LM145:
872 0394 0E94 0000 call OSSched
873 /* epilogue: frame size=0 */
874 0398 0895 ret
875 /* epilogue end (size=1) */
876 /* function OSTaskSemPost size 5 (4) */
877 .LFE14:
879 .global OSSemClean
881 OSSemClean:
882 .LFB15:
883 .LM146:
884 /* prologue: frame size=0 */
885 /* prologue end (size=0) */
886 .LM147:
887 039a 9927 clr r25
888 039c FC01 movw r30,r24
889 039e EE0F lsl r30
890 03a0 FF1F rol r31
891 03a2 E80F add r30,r24
892 03a4 F91F adc r31,r25
893 03a6 E050 subi r30,lo8(-(Sem))
894 03a8 F040 sbci r31,hi8(-(Sem))
895 03aa 1182 std Z+1,__zero_reg__
896 /* epilogue: frame size=0 */
897 03ac 0895 ret
898 /* epilogue end (size=1) */
899 /* function OSSemClean size 10 (9) */
900 .LFE15:
902 .global TCN0Init
904 TCN0Init:
905 .LFB16:
906 .LM148:
907 /* prologue: frame size=0 */
908 /* prologue end (size=0) */
909 .LM149:
910 03ae 13BE out 83-0x20,__zero_reg__
911 .LM150:
912 03b0 83B7 in r24,83-0x20
913 03b2 8460 ori r24,lo8(4)
914 03b4 83BF out 83-0x20,r24
915 .LM151:
916 03b6 89B7 in r24,89-0x20
917 03b8 8160 ori r24,lo8(1)
918 03ba 89BF out 89-0x20,r24
919 .LM152:
920 03bc 84E6 ldi r24,lo8(100)
921 03be 82BF out 82-0x20,r24
922 /* epilogue: frame size=0 */
923 03c0 0895 ret
924 /* epilogue end (size=1) */
925 /* function TCN0Init size 10 (9) */
926 .LFE16:
928 .global OSIntEnter
930 OSIntEnter:
931 .LFB18:
932 .LM153:
933 /* prologue: frame size=0 */
934 /* prologue end (size=0) */
935 .LM154:
936 /* #APP */
937 03c2 0FB6 IN __tmp_reg__,__SREG__
938 03c4 0F92 PUSH __tmp_reg__
939 03c6 1124 CLR __zero_reg__
940 03c8 F894 CLI
941
942 .LM155:
943 /* #NOAPP */
944 03ca 8FEF ldi r24,lo8(-1)
945 03cc 4812 cpse r4,r24
946 .LM156:
947 03ce 4394 inc r4
948 .L45:
949 .LM157:
950 /* #APP */
951 03d0 0F90 POP __tmp_reg__
952 03d2 0FBE OUT __SREG__,__tmp_reg__
953 03d4 1124 CLR __zero_reg__
954
955 /* #NOAPP */
956 /* epilogue: frame size=0 */
957 03d6 0895 ret
958 /* epilogue end (size=1) */
959 /* function OSIntEnter size 23 (22) */
960 .LFE18:
962 .global OSIntExit
964 OSIntExit:
965 .LFB19:
966 .LM158:
967 /* prologue: frame size=0 */
968 /* prologue end (size=0) */
969 .LM159:
970 /* #APP */
971 03d8 0FB6 IN __tmp_reg__,__SREG__
972 03da 0F92 PUSH __tmp_reg__
973 03dc 1124 CLR __zero_reg__
974 03de F894 CLI
975
976 .LM160:
977 /* #NOAPP */
978 03e0 4110 cpse r4,__zero_reg__
979 .LM161:
980 03e2 4A94 dec r4
981 .L47:
982 .LM162:
983 03e4 4420 tst r4
984 03e6 51F4 brne .L48
985 .LM163:
986 03e8 0E94 0000 call OSFindPrioHighRdy
987 .LM164:
988 03ec 5314 cp r5,r3
989 03ee 31F0 breq .L48
990 .LM165:
991 /* #APP */
992 03f0 0F90 POP __tmp_reg__
993 03f2 0FBE OUT __SREG__,__tmp_reg__
994 03f4 1124 CLR __zero_reg__
995
996 .LM166:
997 /* #NOAPP */
998 03f6 0E94 0000 call IntSwitch
999 .LM167:
1000 03fa 0895 ret
1001 .L48:
1002 .LM168:
1003 /* #APP */
1004 03fc 0F90 POP __tmp_reg__
1005 03fe 0FBE OUT __SREG__,__tmp_reg__
1006 0400 1124 CLR __zero_reg__
1007
1008 /* #NOAPP */
1009 0402 0895 ret
1010 /* epilogue: frame size=0 */
1011 0404 0895 ret
1012 /* epilogue end (size=1) */
1013 /* function OSIntExit size 40 (39) */
1014 .LFE19:
1016 .global SIGNAL
1018 SIGNAL:
1019 .LFB20:
1020 .LM169:
1021 /* prologue: frame size=0 */
1022 /* prologue end (size=0) */
1023 .LM170:
1024 0406 0E94 0000 call OSIntEnter
1025 040a 61E0 ldi r22,lo8(1)
1026 040c 70E0 ldi r23,hi8(1)
1027 040e E0E0 ldi r30,lo8(TCB)
1028 0410 F0E0 ldi r31,hi8(TCB)
1029 0412 20E0 ldi r18,lo8(0)
1030 0414 30E0 ldi r19,hi8(0)
1031 0416 42E0 ldi r20,lo8(2)
1032 .L56:
1033 .LM171:
1034 0418 8281 ldd r24,Z+2
1035 041a 9381 ldd r25,Z+3
1036 041c 0097 sbiw r24,0
1037 041e C9F0 breq .L53
1038 0420 5FEF ldi r21,hi8(-1)
1039 0422 8F3F cpi r24,lo8(-1)
1040 0424 9507 cpc r25,r21
1041 0426 A9F0 breq .L53
1042 .LM172:
1043 0428 0197 sbiw r24,1
1044 042a 8283 std Z+2,r24
1045 042c 9383 std Z+3,r25
1046 .LM173:
1047 042e 892B or r24,r25
1048 0430 81F4 brne .L53
1049 .LM174:
1050 0432 CB01 movw r24,r22
1051 0434 022E mov r0,r18
1052 0436 02C0 rjmp 2f
1053 0438 880F 1: lsl r24
1054 043a 991F rol r25
1055 043c 0A94 2: dec r0
1056 043e E2F7 brpl 1b
1057 0440 282A or r2,r24
1058 .LM175:
1059 /* #APP */
1060 0442 0FB6 IN __tmp_reg__,__SREG__
1061 0444 0F92 PUSH __tmp_reg__
1062 0446 1124 CLR __zero_reg__
1063 0448 F894 CLI
1064 044a 0260 ORI R16,0x02
1065 044c 0F90 POP __tmp_reg__
1066 044e 0FBE OUT __SREG__,__tmp_reg__
1067 0450 1124 CLR __zero_reg__
1068
1069 /* #NOAPP */
1070 .L53:
1071 .LM176:
1072 0452 4150 subi r20,lo8(-(-1))
1073 0454 2F5F subi r18,lo8(-(1))
1074 0456 3F4F sbci r19,hi8(-(1))
1075 0458 3596 adiw r30,5
1076 045a 47FF sbrs r20,7
1077 045c DDCF rjmp .L56
1078 .LM177:
1079 045e 84E6 ldi r24,lo8(100)
1080 0460 82BF out 82-0x20,r24
1081 .LM178:
1082 0462 0E94 0000 call OSIntExit
1083 /* epilogue: frame size=0 */
1084 0466 0895 ret
1085 /* epilogue end (size=1) */
1086 /* function SIGNAL size 59 (58) */
1087 .LFE20:
1089 .global IdleTask
1091 IdleTask:
1092 .LFB21:
1093 .LM179:
1094 /* prologue: frame size=0 */
1095 /* prologue end (size=0) */
1096 .LM180:
1097 0468 0E94 0000 call OSSched
1098 .L60:
1099 .LM181:
1100 046c FFCF rjmp .L60
1101 /* epilogue: frame size=0 */
1102 /* epilogue: noreturn */
1103 /* epilogue end (size=0) */
1104 /* function IdleTask size 3 (3) */
1105 .LFE21:
1107 .global OSInit
1109 OSInit:
1110 .LFB22:
1111 .LM182:
1112 /* prologue: frame size=0 */
1113 /* prologue end (size=0) */
1114 .LM183:
1115 046e 2224 clr r2
1116 .LM184:
1117 0470 422C mov r4,r2
1118 .LM185:
1119 0472 0E94 0000 call TCN0Init
1120 .LM186:
1121 0476 43E0 ldi r20,lo8(3)
1122 0478 60E0 ldi r22,lo8(Stack+399)
1123 047a 70E0 ldi r23,hi8(Stack+399)
1124 047c 80E0 ldi r24,lo8(pm(IdleTask))
1125 047e 90E0 ldi r25,hi8(pm(IdleTask))
1126 0480 0E94 0000 call OSTaskCreate
1127 /* epilogue: frame size=0 */
1128 0484 0895 ret
1129 /* epilogue end (size=1) */
1130 /* function OSInit size 12 (11) */
1131 .LFE22:
1133 .global Task0
1135 Task0:
1136 .LFB23:
1137 .LM187:
1138 /* prologue: frame size=0 */
1139 /* prologue end (size=0) */
1140 .LM188:
1141 0486 60E0 ldi r22,lo8(0)
1142 0488 862F mov r24,r22
1143 048a 0E94 0000 call OSSemCreat
1144 .L64:
1145 .LM189:
1146 048e 6FEF ldi r22,lo8(-1)
1147 0490 7FEF ldi r23,hi8(-1)
1148 0492 80E0 ldi r24,lo8(0)
1149 0494 0E94 0000 call OSTaskSemPend
1150 0498 FACF rjmp .L64
1151 /* epilogue: frame size=0 */
1152 /* epilogue: noreturn */
1153 /* epilogue end (size=0) */
1154 /* function Task0 size 10 (10) */
1155 .LFE23:
1157 .global Task1
1159 Task1:
1160 .LFB24:
1161 .LM190:
1162 /* prologue: frame size=0 */
1163 /* prologue end (size=0) */
1164 .LM191:
1165 049a 8FEF ldi r24,lo8(-1)
1166 049c 87BB out 55-0x20,r24
1167 .LM192:
1168 049e 88BB out 56-0x20,r24
1169 .LM193:
1170 04a0 60E0 ldi r22,lo8(0)
1171 04a2 81E0 ldi r24,lo8(1)
1172 04a4 0E94 0000 call OSSemCreat
1173 .L67:
1174 .LM194:
1175 04a8 6FEF ldi r22,lo8(-1)
1176 04aa 7FEF ldi r23,hi8(-1)
1177 04ac 81E0 ldi r24,lo8(1)
1178 04ae 0E94 0000 call OSTaskSemPend
1179 .LM195:
1180 04b2 88B3 in r24,56-0x20
1181 04b4 8095 com r24
1182 04b6 88BB out 56-0x20,r24
1183 04b8 F7CF rjmp .L67
1184 /* epilogue: frame size=0 */
1185 /* epilogue: noreturn */
1186 /* epilogue end (size=0) */
1187 /* function Task1 size 16 (16) */
1188 .LFE24:
1190 .global Task2
1192 Task2:
1193 .LFB25:
1194 .LM196:
1195 /* prologue: frame size=0 */
1196 /* prologue end (size=0) */
1197 .L70:
1198 .LM197:
1199 04ba 88EC ldi r24,lo8(200)
1200 04bc 90E0 ldi r25,hi8(200)
1201 04be 0E94 0000 call OSTimeDly
1202 .LM198:
1203 04c2 80E0 ldi r24,lo8(0)
1204 04c4 0E94 0000 call OSTaskSemPost
1205 .LM199:
1206 04c8 88EC ldi r24,lo8(200)
1207 04ca 90E0 ldi r25,hi8(200)
1208 04cc 0E94 0000 call OSTimeDly
1209 .LM200:
1210 04d0 81E0 ldi r24,lo8(1)
1211 04d2 0E94 0000 call OSTaskSemPost
1212 04d6 F1CF rjmp .L70
1213 /* epilogue: frame size=0 */
1214 /* epilogue: noreturn */
1215 /* epilogue end (size=0) */
1216 /* function Task2 size 15 (15) */
1217 .LFE25:
1219 .global main
1221 main:
1222 .LFB26:
1223 .LM201:
1224 /* prologue: frame size=0 */
1225 04d8 C0E0 ldi r28,lo8(__stack - 0)
1226 04da D0E0 ldi r29,hi8(__stack - 0)
1227 04dc DEBF out __SP_H__,r29
1228 04de CDBF out __SP_L__,r28
1229 /* prologue end (size=4) */
1230 .LM202:
1231 04e0 0E94 0000 call OSInit
1232 .LM203:
1233 04e4 40E0 ldi r20,lo8(0)
1234 04e6 60E0 ldi r22,lo8(Stack+99)
1235 04e8 70E0 ldi r23,hi8(Stack+99)
1236 04ea 80E0 ldi r24,lo8(pm(Task0))
1237 04ec 90E0 ldi r25,hi8(pm(Task0))
1238 04ee 0E94 0000 call OSTaskCreate
1239 .LM204:
1240 04f2 41E0 ldi r20,lo8(1)
1241 04f4 60E0 ldi r22,lo8(Stack+199)
1242 04f6 70E0 ldi r23,hi8(Stack+199)
1243 04f8 80E0 ldi r24,lo8(pm(Task1))
1244 04fa 90E0 ldi r25,hi8(pm(Task1))
1245 04fc 0E94 0000 call OSTaskCreate
1246 .LM205:
1247 0500 42E0 ldi r20,lo8(2)
1248 0502 60E0 ldi r22,lo8(Stack+299)
1249 0504 70E0 ldi r23,hi8(Stack+299)
1250 0506 80E0 ldi r24,lo8(pm(Task2))
1251 0508 90E0 ldi r25,hi8(pm(Task2))
1252 050a 0E94 0000 call OSTaskCreate
1253 .LM206:
1254 050e 0E94 0000 call OSStartTask
1255 .LM207:
1256 0512 80E0 ldi r24,lo8(0)
1257 0514 90E0 ldi r25,hi8(0)
1258 /* epilogue: frame size=0 */
1259 0516 0C94 0000 jmp exit
1260 /* epilogue end (size=2) */
1261 /* function main size 33 (27) */
1262 .LFE26:
1264 .comm Stack,400,1
1265 .comm TCB,20,1
1266 .comm Sem,30,1
1267 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 test.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:20 .text:00000000 OSTaskCreate
*COM*:00000014 TCB
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:81 .text:0000004c OSStartTask
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:110 .text:00000064 OS_TASK_SW
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:174 .text:0000008a Int_OSSched
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:383 .text:00000140 OSSched
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:305 .text:00000102 IntSwitch
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:346 .text:0000011a OSFindPrioHighRdy
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:405 .text:00000150 OSTaskSuspend
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:474 .text:000001a0 OSTaskResume
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:543 .text:000001f0 OSTimeDly
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:604 .text:0000023a OSSemCreat
*COM*:0000001e Sem
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:631 .text:00000252 OSTaskSemPend
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:735 .text:000002e2 OSSemPost
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:864 .text:00000390 OSTaskSemPost
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:881 .text:0000039a OSSemClean
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:904 .text:000003ae TCN0Init
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:930 .text:000003c2 OSIntEnter
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:964 .text:000003d8 OSIntExit
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1018 .text:00000406 SIGNAL
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1091 .text:00000468 IdleTask
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1109 .text:0000046e OSInit
*COM*:00000190 Stack
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1135 .text:00000486 Task0
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1159 .text:0000049a Task1
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1192 .text:000004ba Task2
C:\DOCUME~1\dl\LOCALS~1\Temp/cc63aaaa.s:1221 .text:000004d8 main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -