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

📄 file.lst

📁 protues仿真
💻 LST
📖 第 1 页 / 共 5 页
字号:
 1064 04b0 BA8F      		std Y+26,r27
 475:file.c        **** 
 476:file.c        **** 	fp->fFDT.FileSize++;
 1066               	.LM111:
 1067 04b2 8E85      		ldd r24,Y+14
 1068 04b4 9F85      		ldd r25,Y+15
 1069 04b6 A889      		ldd r26,Y+16
 1070 04b8 B989      		ldd r27,Y+17
 1071 04ba 0196      		adiw r24,1
 1072 04bc A11D      		adc r26,__zero_reg__
 1073 04be B11D      		adc r27,__zero_reg__
 1074 04c0 8E87      		std Y+14,r24
 1075 04c2 9F87      		std Y+15,r25
 1076 04c4 A88B      		std Y+16,r26
 1077 04c6 B98B      		std Y+17,r27
 477:file.c        **** 
 478:file.c        **** 	/* 到达下一扇区 */
 479:file.c        **** 	if (++ByteOffset == 512)
 1079               	.LM112:
 1080 04c8 8FEF      		ldi r24,lo8(511)
 1081 04ca A816      		cp r10,r24
 1082 04cc 81E0      		ldi r24,hi8(511)
 1083 04ce B806      		cpc r11,r24
 1084 04d0 F9F4      		brne .L73
 480:file.c        **** 	{	
 481:file.c        **** 		/* 进入下一簇 */
 482:file.c        **** 		if (++SecOffset == FS_SecPerClus)
 1086               	.LM113:
 1087 04d2 0894      		sec
 1088 04d4 E11C      		adc r14,__zero_reg__
 1089 04d6 F11C      		adc r15,__zero_reg__
 1090 04d8 011D      		adc r16,__zero_reg__
 1091 04da 111D      		adc r17,__zero_reg__
 1092 04dc 8091 0000 		lds r24,FS_SecPerClus
 1093 04e0 9927      		clr r25
 1094 04e2 AA27      		clr r26
 1095 04e4 BB27      		clr r27
 1096 04e6 E816      		cp r14,r24
 1097 04e8 F906      		cpc r15,r25
 1098 04ea 0A07      		cpc r16,r26
 1099 04ec 1B07      		cpc r17,r27
 1100 04ee 81F4      		brne .L73
 483:file.c        **** 		{
 484:file.c        **** 			ClusIndex = GetNextClus(ClusIndex);
 1102               	.LM114:
 1103 04f0 C601      		movw r24,r12
 1104 04f2 0E94 0000 		call _Z11GetNextClusj
 1105 04f6 6C01      		movw r12,r24
 485:file.c        **** 
 486:file.c        **** 			/* 当前簇是最后一簇吗 */
 487:file.c        **** 			if (ClusIndex >= EOF_CLUS_1)
 1107               	.LM115:
 1108 04f8 88EF      		ldi r24,lo8(-8)
 1109 04fa C816      		cp r12,r24
 1110 04fc 8FEF      		ldi r24,hi8(-8)
 1111 04fe D806      		cpc r13,r24
 1112 0500 28F0      		brlo .L75
 488:file.c        **** 			{
 489:file.c        **** 				/* 增加一个簇 */
 490:file.c        **** 				ClusIndex = AddNewClus(fp->CurClus);
 1114               	.LM116:
 1115 0502 8D89      		ldd r24,Y+21
 1116 0504 9E89      		ldd r25,Y+22
 1117 0506 0E94 0000 		call _Z10AddNewClusj
 1118 050a 6C01      		movw r12,r24
 1119               	.L75:
 491:file.c        **** 			}
 492:file.c        **** 			/* 当前簇为下一簇 */
 493:file.c        **** 			fp->CurClus = ClusIndex;
 1121               	.LM117:
 1122 050c CD8A      		std Y+21,r12
 1123 050e DE8A      		std Y+22,r13
 1124               	.L73:
 494:file.c        **** 		}
 495:file.c        **** 	}
 496:file.c        **** 
 497:file.c        **** 	return ch;
 1126               	.LM118:
 1127 0510 892D      		mov r24,r9
 1128 0512 9927      		clr r25
 1129               	.L69:
 1130               	.LBE22:
 1131               	.LBE21:
 1132               	/* epilogue: frame size=0 */
 1133 0514 DF91      		pop r29
 1134 0516 CF91      		pop r28
 1135 0518 1F91      		pop r17
 1136 051a 0F91      		pop r16
 1137 051c FF90      		pop r15
 1138 051e EF90      		pop r14
 1139 0520 DF90      		pop r13
 1140 0522 CF90      		pop r12
 1141 0524 BF90      		pop r11
 1142 0526 AF90      		pop r10
 1143 0528 9F90      		pop r9
 1144 052a 0895      		ret
 1145               	/* epilogue end (size=12) */
 1146               	/* function uint8 PutchFile(FileManageInfo*, uint8) size 149 (126) */
 1158               	.global	_Z10GetNchFileP14FileManageInfoPhm
 1160               	_Z10GetNchFileP14FileManageInfoPhm:
 498:file.c        **** }
 499:file.c        **** 
 500:file.c        **** /*
 501:file.c        **** ;**************************************************************************************************
 502:file.c        **** ;* 函数名称 : GetNchFile
 503:file.c        **** ;* 描    述 : 从文件读取多个字节
 504:file.c        **** ;* 输 	 入 : fp: 文件指针; str: 要写入的地址; nbyte: 字节数
 505:file.c        **** ;*        
 506:file.c        **** ;* 输 	 出 : 无
 507:file.c        **** ;**************************************************************************************************
 508:file.c        **** ;*/
 509:file.c        **** void GetNchFile(M_FILE fp, uint8 *str, uint32 nbyte)
 510:file.c        **** {
 1162               	.LM119:
 1163               	/* prologue: frame size=0 */
 1164 052c CF92      		push r12
 1165 052e DF92      		push r13
 1166 0530 EF92      		push r14
 1167 0532 FF92      		push r15
 1168 0534 0F93      		push r16
 1169 0536 1F93      		push r17
 1170 0538 CF93      		push r28
 1171 053a DF93      		push r29
 1172               	/* prologue end (size=8) */
 1173 053c 6C01      		movw r12,r24
 1174 053e EB01      		movw r28,r22
 1175 0540 7901      		movw r14,r18
 1176 0542 8A01      		movw r16,r20
 1177               	.LBB23:
 511:file.c        **** 	while (nbyte-- > 0)
 512:file.c        **** 	{
 513:file.c        **** 		*str++ = GetchFile(fp);
 1179               	.LM120:
 1180 0544 0894      		sec
 1181 0546 E108      		sbc r14,__zero_reg__
 1182 0548 F108      		sbc r15,__zero_reg__
 1183 054a 0109      		sbc r16,__zero_reg__
 1184 054c 1109      		sbc r17,__zero_reg__
 1185 054e 8FEF      		ldi r24,lo8(-1)
 1186 0550 E816      		cp r14,r24
 1187 0552 8FEF      		ldi r24,hi8(-1)
 1188 0554 F806      		cpc r15,r24
 1189 0556 8FEF      		ldi r24,hlo8(-1)
 1190 0558 0807      		cpc r16,r24
 1191 055a 8FEF      		ldi r24,hhi8(-1)
 1192 055c 1807      		cpc r17,r24
 1193 055e 91F0      		breq .L82
 1194               	.L80:
 1196               	.LM121:
 1197 0560 C601      		movw r24,r12
 1198 0562 0E94 0000 		call _Z9GetchFileP14FileManageInfo
 1199 0566 8993      		st Y+,r24
 1200 0568 0894      		sec
 1201 056a E108      		sbc r14,__zero_reg__
 1202 056c F108      		sbc r15,__zero_reg__
 1203 056e 0109      		sbc r16,__zero_reg__
 1204 0570 1109      		sbc r17,__zero_reg__
 1205 0572 8FEF      		ldi r24,lo8(-1)
 1206 0574 E816      		cp r14,r24
 1207 0576 8FEF      		ldi r24,hi8(-1)
 1208 0578 F806      		cpc r15,r24
 1209 057a 8FEF      		ldi r24,hlo8(-1)
 1210 057c 0807      		cpc r16,r24
 1211 057e 8FEF      		ldi r24,hhi8(-1)
 1212 0580 1807      		cpc r17,r24
 1213 0582 71F7      		brne .L80
 1214               	.L82:
 1215               	.LBE23:
 1216               	/* epilogue: frame size=0 */
 1217 0584 DF91      		pop r29
 1218 0586 CF91      		pop r28
 1219 0588 1F91      		pop r17
 1220 058a 0F91      		pop r16
 1221 058c FF90      		pop r15
 1222 058e EF90      		pop r14
 1223 0590 DF90      		pop r13
 1224 0592 CF90      		pop r12
 1225 0594 0895      		ret
 1226               	/* epilogue end (size=9) */
 1227               	/* function void GetNchFile(FileManageInfo*, uint8*, uint32) size 53 (36) */
 1233               	.global	_Z10PutNChFileP14FileManageInfoPhm
 1235               	_Z10PutNChFileP14FileManageInfoPhm:
 514:file.c        **** 	}
 515:file.c        **** }
 516:file.c        **** 
 517:file.c        **** /*
 518:file.c        **** ;**************************************************************************************************
 519:file.c        **** ;* 函数名称 : PutNchFile
 520:file.c        **** ;* 描    述 : 写多个字节到文件
 521:file.c        **** ;* 输 	 入 : fp: 文件指针; str: 要写入的内容; nbyte: 字节数
 522:file.c        **** ;*        
 523:file.c        **** ;* 输 	 出 : 无
 524:file.c        **** ;**************************************************************************************************
 525:file.c        **** ;*/
 526:file.c        **** void PutNChFile(M_FILE fp, uint8 *str, uint32 nbyte)
 527:file.c        **** {
 1237               	.LM122:
 1238               	/* prologue: frame size=0 */
 1239 0596 AF92      		push r10
 1240 0598 BF92      		push r11
 1241 059a CF92      		push r12
 1242 059c DF92      		push r13
 1243 059e EF92      		push r14
 1244 05a0 FF92      		push r15
 1245 05a2 1F93      		push r17
 1246 05a4 CF93      		push r28
 1247 05a6 DF93      		push r29
 1248               	/* prologue end (size=9) */
 1249 05a8 5C01      		movw r10,r24
 1250 05aa EB01      		movw r28,r22
 1251 05ac 6901      		movw r12,r18
 1252 05ae 7A01      		movw r14,r20
 1253               	.LBB24:
 1254               	.LBB25:
 528:file.c        **** 	uint8 ch;
 529:file.c        **** 
 530:file.c        **** 	while (nbyte-- > 0)
 531:file.c        **** 	{
 532:file.c        **** 		ch = *str++;
 533:file.c        **** 		if (ch != PutchFile(fp, ch))
 534:file.c        **** 			return;
 1256               	.LM123:
 1257 05b0 0894      		sec
 1258 05b2 C108      		sbc r12,__zero_reg__
 1259 05b4 D108      		sbc r13,__zero_reg__
 1260 05b6 E108      		sbc r14,__zero_reg__
 1261 05b8 F108      		sbc r15,__zero_reg__
 1262 05ba 8FEF      		ldi r24,lo8(-1)
 1263 05bc C816      		cp r12,r24
 1264 05be 8FEF      		ldi r24,hi8(-1)
 1265 05c0 D806      		cpc r13,r24
 1266 05c2 8FEF      		ldi r24,hlo8(-1)
 1267 05c4 E806      		cpc r14,r24
 1268 05c6 8FEF      		ldi r24,hhi8(-1)
 1269 05c8 F806      		cpc r15,r24
 1270 05ca A9F0      		breq .L83
 1271               	.L87:
 1273               	.LM124:
 1274 05cc 1991      		ld r17,Y+
 1276               	.LM125:
 1277 05ce 612F      		mov r22,r17
 1278 05d0 C501      		movw r24,r10
 1279 05d2 0E94 0000 		call _Z9PutchFileP14FileManageInfoh
 1280 05d6 1817      		cp r17,r24
 1281 05d8 71F4      		brne .L83
 1283               	.LM126:
 1284 05da 0894      		sec
 1285 05dc C108      		sbc r12,__zero_reg__
 1286 05de D108      		sbc r13,__zero_reg__
 1287 05e0 E108      		sbc r14,__zero_reg__
 1288 05e2 F108      		sbc r15,__zero_reg__
 1289 05e4 8FEF      		ldi r24,lo8(-1)
 1290 05e6 C816      		cp r12,r24
 1291 05e8 8FEF      		ldi r24,hi8(-1)
 1292 05ea D806      		cpc r13,r24
 1293 05ec 8FEF      		ldi r24,hlo8(-1)
 1294 05ee E806      		cpc r14,r24
 1295 05f0 8FEF      		ldi r24,hhi8(-1)
 1296 05f2 F806      		cpc r15,r24
 1297 05f4 59F7      		brne .L87
 1298               	.L83:
 1299               	.LBE25:
 1300               	.LBE24:
 1301               	/* epilogue: frame size=0 */
 1302 05f6 DF91      		pop r29
 1303 05f8 CF91      		pop r28
 1304 05fa 1F91      		pop r17
 1305 05fc FF90      		pop r15
 1306 05fe EF90      		pop r14
 1307 0600 DF90      		pop r13
 1308 0602 CF90      		pop r12
 1309 0604 BF90      		pop r11
 1310 0606 AF90      		pop r10
 1311 0608 0895      		ret
 1312               	/* epilogue end (size=10) */
 1313               	/* function void PutNChFile(FileManageInfo*, uint8*, uint32) size 58 (39) */
 1318               	.global	_Z8PutSFileP14FileManageInfoPh
 1320               	_Z8PutSFileP14FileManageInfoPh:
 535:file.c        **** 	}
 536:file.c        **** }
 537:file.c        **** 
 538:file.c        **** /*
 539:file.c        **** ;**************************************************************************************************
 540:file.c        **** ;* 函数名称 : PutSFile
 541:file.c        **** ;* 描    述 : 写字符串到文件
 542:file.c        **** ;* 输 	 入 : fp: 文件指针; str: 要写入的内容;
 543:file.c        **** ;*        
 544:file.c        **** ;* 输 	 出 : 无
 545:file.c        **** ;**************************************************************************************************
 546:file.c        **** ;*/	
 547:file.c        **** void PutSFile(M_FILE fp, uint8 *str)
 548:file.c        **** {
 1322               	.LM127:
 1323               	/* prologue: frame size=0 */
 1324 060a EF92      		push r14
 1325 060c FF92      		push r15
 1326 060e 1F93      		push r17
 1327 0610 CF93      		push r28
 1328 0612 DF93      		push r29
 1329               	/* prologue end (size=5) */
 1330 0614 7C01      		movw r14,r24
 1331 0616 EB01      		movw r28,r22
 1332               	.LBB26:
 1333               	.LBB27:
 549:file.c        **** 	uint8 ch;
 550:file.c        **** 
 551:file.c        **** 	if ((ch = *str++) != '\0')
 1335               	.LM128:
 1336 0618 1991      		ld r17,Y+
 1337 061a 1123      		tst r17
 1338 061c 69F0      		breq .L89
 1339               	.L91:
 552:file.c        **** 	{
 553:file.c        **** 		do
 554:file.c        **** 		{
 555:file.c        **** 			if (ch != PutchFile(fp, ch))
 1341               	.LM129:
 1342 061e 612F      		mov r22,r17
 1343 0620 C701      		movw r24,r14
 1344 0622 0E94 0000 		call _Z9PutchFileP1

⌨️ 快捷键说明

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