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

📄 ucos_ii.lst

📁 ucosii的源代码希望能给予学习嵌入式系统的朋友一定的帮助
💻 LST
📖 第 1 页 / 共 5 页
字号:
 1009               		.type	OS_TaskIdle, @function
 1010               	OS_TaskIdle:
 1011               	/* prologue: frame size=0 */
 1012               	/* prologue end (size=0) */
 1013               	.L58:
 1014               	/* #APP */
 1015 04d8 F894      		cli
 1016               	/* #NOAPP */
 1017 04da 8091 0000 		lds r24,OSIdleCtr
 1018 04de 9091 0000 		lds r25,(OSIdleCtr)+1
 1019 04e2 A091 0000 		lds r26,(OSIdleCtr)+2
 1020 04e6 B091 0000 		lds r27,(OSIdleCtr)+3
 1021 04ea 0196      		adiw r24,1
 1022 04ec A11D      		adc r26,__zero_reg__
 1023 04ee B11D      		adc r27,__zero_reg__
 1024 04f0 8093 0000 		sts OSIdleCtr,r24
 1025 04f4 9093 0000 		sts (OSIdleCtr)+1,r25
 1026 04f8 A093 0000 		sts (OSIdleCtr)+2,r26
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 19


 1027 04fc B093 0000 		sts (OSIdleCtr)+3,r27
 1028               	/* #APP */
 1029 0500 7894      		sei
 1030               	/* #NOAPP */
 1031 0502 0E94 0000 		call OSTaskIdleHook
 1032 0506 E8CF      		rjmp .L58
 1033               	/* epilogue: frame size=0 */
 1034               	/* epilogue: noreturn */
 1035               	/* epilogue end (size=0) */
 1036               	/* function OS_TaskIdle size 26 (26) */
 1037               		.size	OS_TaskIdle, .-OS_TaskIdle
 1038               	.global	OS_TaskStat
 1039               		.type	OS_TaskStat, @function
 1040               	OS_TaskStat:
 1041               	/* prologue: frame size=0 */
 1042 0508 EF92      		push r14
 1043 050a FF92      		push r15
 1044 050c 0F93      		push r16
 1045 050e 1F93      		push r17
 1046 0510 CF93      		push r28
 1047               	/* prologue end (size=5) */
 1048               	.L72:
 1049 0512 8091 0000 		lds r24,OSStatRdy
 1050 0516 8823      		tst r24
 1051 0518 29F4      		brne .L71
 1052 051a 84E6      		ldi r24,lo8(100)
 1053 051c 90E0      		ldi r25,hi8(100)
 1054 051e 0E94 0000 		call OSTimeDly
 1055 0522 F7CF      		rjmp .L72
 1056               	.L71:
 1057 0524 8091 0000 		lds r24,OSIdleCtrMax
 1058 0528 9091 0000 		lds r25,(OSIdleCtrMax)+1
 1059 052c A091 0000 		lds r26,(OSIdleCtrMax)+2
 1060 0530 B091 0000 		lds r27,(OSIdleCtrMax)+3
 1061 0534 BC01      		movw r22,r24
 1062 0536 CD01      		movw r24,r26
 1063 0538 24E6      		ldi r18,lo8(100)
 1064 053a 30E0      		ldi r19,hi8(100)
 1065 053c 40E0      		ldi r20,hlo8(100)
 1066 053e 50E0      		ldi r21,hhi8(100)
 1067 0540 0E94 0000 		call __udivmodsi4
 1068 0544 7901      		movw r14,r18
 1069 0546 8A01      		movw r16,r20
 1070 0548 C4E6      		ldi r28,lo8(100)
 1071 054a 12C0      		rjmp .L64
 1072               	.L73:
 1073 054c A801      		movw r20,r16
 1074 054e 9701      		movw r18,r14
 1075 0550 0E94 0000 		call __udivmodsi4
 1076 0554 DA01      		movw r26,r20
 1077 0556 C901      		movw r24,r18
 1078 0558 2C2F      		mov r18,r28
 1079 055a 281B      		sub r18,r24
 1080 055c 27FD      		sbrc r18,7
 1081 055e 44C0      		rjmp .L67
 1082 0560 2093 0000 		sts OSCPUUsage,r18
 1083               	.L69:
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 20


 1084 0564 0E94 0000 		call OSTaskStatHook
 1085 0568 82E3      		ldi r24,lo8(50)
 1086 056a 90E0      		ldi r25,hi8(50)
 1087 056c 0E94 0000 		call OSTimeDly
 1088               	.L64:
 1089               	/* #APP */
 1090 0570 F894      		cli
 1091               	/* #NOAPP */
 1092 0572 8091 0000 		lds r24,OSIdleCtr
 1093 0576 9091 0000 		lds r25,(OSIdleCtr)+1
 1094 057a A091 0000 		lds r26,(OSIdleCtr)+2
 1095 057e B091 0000 		lds r27,(OSIdleCtr)+3
 1096 0582 8093 0000 		sts OSIdleCtrRun,r24
 1097 0586 9093 0000 		sts (OSIdleCtrRun)+1,r25
 1098 058a A093 0000 		sts (OSIdleCtrRun)+2,r26
 1099 058e B093 0000 		sts (OSIdleCtrRun)+3,r27
 1100 0592 6091 0000 		lds r22,OSIdleCtr
 1101 0596 7091 0000 		lds r23,(OSIdleCtr)+1
 1102 059a 8091 0000 		lds r24,(OSIdleCtr)+2
 1103 059e 9091 0000 		lds r25,(OSIdleCtr)+3
 1104 05a2 1092 0000 		sts OSIdleCtr,__zero_reg__
 1105 05a6 1092 0000 		sts (OSIdleCtr)+1,__zero_reg__
 1106 05aa 1092 0000 		sts (OSIdleCtr)+2,__zero_reg__
 1107 05ae 1092 0000 		sts (OSIdleCtr)+3,__zero_reg__
 1108               	/* #APP */
 1109 05b2 7894      		sei
 1110               	/* #NOAPP */
 1111 05b4 E114      		cp r14,__zero_reg__
 1112 05b6 F104      		cpc r15,__zero_reg__
 1113 05b8 0105      		cpc r16,__zero_reg__
 1114 05ba 1105      		cpc r17,__zero_reg__
 1115 05bc 39F6      		brne .L73
 1116 05be 1092 0000 		sts OSCPUUsage,__zero_reg__
 1117 05c2 8091 0000 		lds r24,OSIdleCtrMax
 1118 05c6 9091 0000 		lds r25,(OSIdleCtrMax)+1
 1119 05ca A091 0000 		lds r26,(OSIdleCtrMax)+2
 1120 05ce B091 0000 		lds r27,(OSIdleCtrMax)+3
 1121 05d2 BC01      		movw r22,r24
 1122 05d4 CD01      		movw r24,r26
 1123 05d6 24E6      		ldi r18,lo8(100)
 1124 05d8 30E0      		ldi r19,hi8(100)
 1125 05da 40E0      		ldi r20,hlo8(100)
 1126 05dc 50E0      		ldi r21,hhi8(100)
 1127 05de 0E94 0000 		call __udivmodsi4
 1128 05e2 7901      		movw r14,r18
 1129 05e4 8A01      		movw r16,r20
 1130 05e6 BECF      		rjmp .L69
 1131               	.L67:
 1132 05e8 1092 0000 		sts OSCPUUsage,__zero_reg__
 1133 05ec BBCF      		rjmp .L69
 1134               	/* epilogue: frame size=0 */
 1135               	/* epilogue: noreturn */
 1136               	/* epilogue end (size=0) */
 1137               	/* function OS_TaskStat size 117 (112) */
 1138               		.size	OS_TaskStat, .-OS_TaskStat
 1139               	.global	OS_TCBInit
 1140               		.type	OS_TCBInit, @function
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 21


 1141               	OS_TCBInit:
 1142               	/* prologue: frame size=0 */
 1143 05ee 1F93      		push r17
 1144 05f0 CF93      		push r28
 1145 05f2 DF93      		push r29
 1146               	/* prologue end (size=3) */
 1147 05f4 182F      		mov r17,r24
 1148               	/* #APP */
 1149 05f6 F894      		cli
 1150               	/* #NOAPP */
 1151 05f8 C091 0000 		lds r28,OSTCBFreeList
 1152 05fc D091 0000 		lds r29,(OSTCBFreeList)+1
 1153 0600 2097      		sbiw r28,0
 1154 0602 09F4      		brne .+2
 1155 0604 57C0      		rjmp .L75
 1156 0606 8A81      		ldd r24,Y+2
 1157 0608 9B81      		ldd r25,Y+3
 1158 060a 9093 0000 		sts (OSTCBFreeList)+1,r25
 1159 060e 8093 0000 		sts OSTCBFreeList,r24
 1160               	/* #APP */
 1161 0612 7894      		sei
 1162               	/* #NOAPP */
 1163 0614 6883      		st Y,r22
 1164 0616 7983      		std Y+1,r23
 1165 0618 1B87      		std Y+11,r17
 1166 061a 1A86      		std Y+10,__zero_reg__
 1167 061c 1886      		std Y+8,__zero_reg__
 1168 061e 1986      		std Y+9,__zero_reg__
 1169 0620 188A      		std Y+16,__zero_reg__
 1170 0622 812F      		mov r24,r17
 1171 0624 8695      		lsr r24
 1172 0626 8695      		lsr r24
 1173 0628 8695      		lsr r24
 1174 062a 8D87      		std Y+13,r24
 1175 062c E82F      		mov r30,r24
 1176 062e FF27      		clr r31
 1177 0630 E050      		subi r30,lo8(-(OSMapTbl))
 1178 0632 F040      		sbci r31,hi8(-(OSMapTbl))
 1179 0634 8081      		ld r24,Z
 1180 0636 8F87      		std Y+15,r24
 1181 0638 812F      		mov r24,r17
 1182 063a 8770      		andi r24,lo8(7)
 1183 063c 8C87      		std Y+12,r24
 1184 063e E82F      		mov r30,r24
 1185 0640 FF27      		clr r31
 1186 0642 E050      		subi r30,lo8(-(OSMapTbl))
 1187 0644 F040      		sbci r31,hi8(-(OSMapTbl))
 1188 0646 8081      		ld r24,Z
 1189 0648 8E87      		std Y+14,r24
 1190 064a 1E82      		std Y+6,__zero_reg__
 1191 064c 1F82      		std Y+7,__zero_reg__
 1192 064e CE01      		movw r24,r28
 1193 0650 0E94 0000 		call OSTCBInitHook
 1194 0654 CE01      		movw r24,r28
 1195 0656 0E94 0000 		call OSTaskCreateHook
 1196               	/* #APP */
 1197 065a F894      		cli
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 22


 1198               	/* #NOAPP */
 1199 065c E12F      		mov r30,r17
 1200 065e FF27      		clr r31
 1201 0660 EE0F      		add r30,r30
 1202 0662 FF1F      		adc r31,r31
 1203 0664 E050      		subi r30,lo8(-(OSTCBPrioTbl))
 1204 0666 F040      		sbci r31,hi8(-(OSTCBPrioTbl))
 1205 0668 C083      		st Z,r28
 1206 066a D183      		std Z+1,r29
 1207 066c E091 0000 		lds r30,OSTCBList
 1208 0670 F091 0000 		lds r31,(OSTCBList)+1
 1209 0674 EA83      		std Y+2,r30
 1210 0676 FB83      		std Y+3,r31
 1211 0678 1C82      		std Y+4,__zero_reg__
 1212 067a 1D82      		std Y+5,__zero_reg__
 1213 067c 3097      		sbiw r30,0
 1214 067e B9F4      		brne .L77
 1215               	.L76:
 1216 0680 D093 0000 		sts (OSTCBList)+1,r29
 1217 0684 C093 0000 		sts OSTCBList,r28
 1218 0688 8F85      		ldd r24,Y+15
 1219 068a 9091 0000 		lds r25,OSRdyGrp
 1220 068e 892B      		or r24,r25
 1221 0690 8093 0000 		sts OSRdyGrp,r24
 1222 0694 8D85      		ldd r24,Y+13
 1223 0696 E82F      		mov r30,r24
 1224 0698 FF27      		clr r31
 1225 069a E050      		subi r30,lo8(-(OSRdyTbl))
 1226 069c F040      		sbci r31,hi8(-(OSRdyTbl))
 1227 069e 8081      		ld r24,Z
 1228 06a0 9E85      		ldd r25,Y+14
 1229 06a2 892B      		or r24,r25
 1230 06a4 8083      		st Z,r24
 1231               	/* #APP */
 1232 06a6 7894      		sei
 1233               	/* #NOAPP */
 1234 06a8 80E0      		ldi r24,lo8(0)
 1235 06aa 90E0      		ldi r25,hi8(0)
 1236 06ac 06C0      		rjmp .L74
 1237               	.L77:
 1238 06ae C483      		std Z+4,r28
 1239 06b0 D583      		std Z+5,r29
 1240 06b2 E6CF      		rjmp .L76
 1241               	.L75:
 1242               	/* #APP */
 1243 06b4 7894      		sei
 1244               	/* #NOAPP */
 1245 06b6 86E4      		ldi r24,lo8(70)
 1246 06b8 90E0      		ldi r25,hi8(70)
 1247               	.L74:
 1248               	/* epilogue: frame size=0 */
 1249 06ba DF91      		pop r29
 1250 06bc CF91      		pop r28
 1251 06be 1F91      		pop r17
 1252 06c0 0895      		ret
 1253               	/* epilogue end (size=4) */
 1254               	/* function OS_TCBInit size 111 (104) */
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 23


 1255               		.size	OS_TCBInit, .-OS_TCBInit
 1256               	.global	OSSemAccept
 1257               		.type	OSSemAccept, @function
 1258               	OSSemAccept:
 1259               	/* prologue: frame size=0 */
 1260               	/* prologue end (size=0) */
 1261 06c2 FC01      		movw r30,r24
 1262               	/* #APP */
 1263 06c4 F894      		cli
 1264               	/* #NOAPP */
 1265 06c6 8281      		ldd r24,Z+2
 1266 06c8 9381      		ldd r25,Z+3
 1267 06ca 0097      		sbiw r24,0
 1268 06cc 21F0      		breq .L79
 1269 06ce 0197      		sbiw r24,1
 1270 06d0 8283      		std Z+2,r24
 1271 06d2 9383      		std Z+3,r25
 1272 06d4 0196      		adiw r24,1
 1273               	.L79:
 1274               	/* #APP */
 1275 06d6 7894      		sei
 1276               	/* #NOAPP */
 1277               	/* epilogue: frame size=0 */
 1278 06d8 0895      		ret
 1279               	/* epilogue end (size=1) */
 1280               	/* function OSSemAccept size 14 (13) */
 1281               		.size	OSSemAccept, .-OSSemAccept
 1282               	.global	OSSemCreate
 1283               		.type	OSSemCreate, @function
 1284               	OSSemCreate:
 1285               	/* prologue: frame size=0 */
 1286 06da CF93      		push r28
 1287 06dc DF93      		push r29
 1288               	/* prologue end (size=2) */
 1289 06de 9C01      		movw r18,r24
 1290 06e0 8091 0000 		lds r24,OSIntNesting
 1291 06e4 8823      		tst r24
 1292 06e6 D9F4      		brne .L84
 1293               	/* #APP */
 1294 06e8 F894      		cli
 1295               	/* #NOAPP */
 1296 06ea C091 0000 		lds r28,OSEventFreeList
 1297 06ee D091 0000 		lds r29,(OSEventFreeList)+1
 1298 06f2 2097      		sbiw r28,0
 1299 06f4 31F0      		breq .L82
 1300 06f6 8C81      		ldd r24,Y+4
 1301 06f8 9D81      		ldd r25,Y+5
 1302 06fa 9093 0000 		sts (OSEventFreeList)+1,r25
 1303 06fe 8093 0000 		sts OSEventFreeList,r24
 1304               	.L82:
 1305               	/* #APP */
 1306 0702 7894      		sei
 1307               	/* #NOAPP */
 1308 0704 2097      		sbiw r28,0
 1309 0706 49F0      		breq .L83
 1310 0708 83E0      		ldi r24,lo8(3)
 1311 070a 8883      		st Y,r24
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cc0Kaaaa.s 			page 24


 1312 070c 2A83      		std Y+2,r18
 1313 070e 3B83      		std Y+3,r19
 1314 0710 1C82      		std Y+4,__zero_reg__
 1315 0712 1D82      		std Y+5,__zero_reg__
 1316 0714 CE01      		movw r24,r28
 1317 0716 0E94 0000 		call OS_EventWaitListInit
 1318               	.L83:
 1319 071a CE01      		movw r24,r28
 1320 071c 02C0      		rjmp .L80
 1321               	.L84:
 1322 071e 80E0      		ldi r24,lo8(0)
 1323 0720 90E0      		ldi r25,hi8(0)
 1324               	.L80:
 1325               	/* epilogue: frame size=0 */
 1326 0722 DF91      		pop r29
 1327 0724 CF91      		pop r28
 1328 0726 0895      		ret
 1329               	/* epilogue end (size=3) */
 1330               	/* function OSSemCreate size 41 (36) */
 1331               		.size	OSSemCreate, .-OSSemCreate
 1332               	.global	OSSemPend
 1333               		.type	OSSemPend, @function
 1334               	OSSemPend:
 1335               	/* prologue: frame size=0 */
 1336 0728 FF92      		push r15
 1337 072a 0F93      		push r16
 1338 072c 1F93      		push r17
 1339 072e CF93      		push r28
 1340 0730 DF93      		push r29
 1341               	/* prologue end (size=5) */
 1342 0732 EC01      		movw r28,r24
 1343 0734 8A01      		movw r16,r20
 1344 0736 F090 0000 		lds r15,OSIntNesting

⌨️ 快捷键说明

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