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

📄 main.lst

📁 ATmega16L控制IDE硬盘的源代码,可以读写扇区,无文件系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
 213 00b2 71F1      		breq .L8
 214 00b4 2D81      		ldd r18,Y+5
 215 00b6 3E81      		ldd r19,Y+6
 216 00b8 2530      		cpi r18,5
 217 00ba 3105      		cpc r19,__zero_reg__
 218 00bc 5CF4      		brge .L11
 219 00be 8D81      		ldd r24,Y+5
 220 00c0 9E81      		ldd r25,Y+6
 221 00c2 8230      		cpi r24,2
 222 00c4 9105      		cpc r25,__zero_reg__
 223 00c6 89F0      		breq .L6
 224 00c8 2D81      		ldd r18,Y+5
 225 00ca 3E81      		ldd r19,Y+6
 226 00cc 2330      		cpi r18,3
 227 00ce 3105      		cpc r19,__zero_reg__
 228 00d0 89F0      		breq .L7
 229 00d2 3DC0      		rjmp .L5
 230               	.L11:
 231 00d4 8D81      		ldd r24,Y+5
 232 00d6 9E81      		ldd r25,Y+6
 233 00d8 8530      		cpi r24,5
 234 00da 9105      		cpc r25,__zero_reg__
 235 00dc 39F1      		breq .L9
 236 00de 2D81      		ldd r18,Y+5
 237 00e0 3E81      		ldd r19,Y+6
 238 00e2 2630      		cpi r18,6
 239 00e4 3105      		cpc r19,__zero_reg__
 240 00e6 59F1      		breq .L10
 241 00e8 32C0      		rjmp .L5
 242               	.L6:
 191:main.c        **** 		{
 192:main.c        **** 			case 2:
 193:main.c        **** 				Read_HD_ID();
 244               	.LM22:
 245 00ea 0E94 0000 		call Read_HD_ID
 194:main.c        **** 				uartdata=0;
 247               	.LM23:
 248 00ee 1092 0000 		sts uartdata,__zero_reg__
 195:main.c        **** 				break;
 250               	.LM24:
 251 00f2 2DC0      		rjmp .L5
 252               	.L7:
 196:main.c        **** 			case 3:
 197:main.c        **** 				ReadSectorData(t1);
 254               	.LM25:
 255 00f4 6981      		ldd r22,Y+1
 256 00f6 7A81      		ldd r23,Y+2
 257 00f8 8B81      		ldd r24,Y+3
 258 00fa 9C81      		ldd r25,Y+4
 259 00fc 0E94 0000 		call ReadSectorData
 198:main.c        **** 				nop();
 261               	.LM26:
 262               	/* #APP */
 263 0100 0000      		nop
 199:main.c        **** 				UDR=uartdata;
 265               	.LM27:
 266               	/* #NOAPP */
 267 0102 8091 0000 		lds r24,uartdata
 268 0106 8093 2C00 		sts 44,r24
 200:main.c        **** 				uartdata=0;
 270               	.LM28:
 271 010a 1092 0000 		sts uartdata,__zero_reg__
 201:main.c        **** 				break;
 273               	.LM29:
 274 010e 1FC0      		rjmp .L5
 275               	.L8:
 202:main.c        **** 			case 4:
 203:main.c        **** 				WriteSectorData(t1);
 277               	.LM30:
 278 0110 6981      		ldd r22,Y+1
 279 0112 7A81      		ldd r23,Y+2
 280 0114 8B81      		ldd r24,Y+3
 281 0116 9C81      		ldd r25,Y+4
 282 0118 0E94 0000 		call WriteSectorData
 204:main.c        **** 				nop();
 284               	.LM31:
 285               	/* #APP */
 286 011c 0000      		nop
 205:main.c        **** 				UDR=uartdata;
 288               	.LM32:
 289               	/* #NOAPP */
 290 011e 8091 0000 		lds r24,uartdata
 291 0122 8093 2C00 		sts 44,r24
 206:main.c        **** 				uartdata=0;
 293               	.LM33:
 294 0126 1092 0000 		sts uartdata,__zero_reg__
 207:main.c        **** 				break;
 296               	.LM34:
 297 012a 11C0      		rjmp .L5
 298               	.L9:
 208:main.c        **** 			case 5:
 209:main.c        **** 				HDStop();
 300               	.LM35:
 301 012c 0E94 0000 		call HDStop
 210:main.c        **** 				UDR=uartdata;
 303               	.LM36:
 304 0130 8091 0000 		lds r24,uartdata
 305 0134 8093 2C00 		sts 44,r24
 211:main.c        **** 				uartdata=0;
 307               	.LM37:
 308 0138 1092 0000 		sts uartdata,__zero_reg__
 212:main.c        **** 				break;
 310               	.LM38:
 311 013c 08C0      		rjmp .L5
 312               	.L10:
 213:main.c        **** 			case 6:
 214:main.c        **** 				HDRunningActivation();
 314               	.LM39:
 315 013e 0E94 0000 		call HDRunningActivation
 215:main.c        **** 				UDR=uartdata;
 317               	.LM40:
 318 0142 8091 0000 		lds r24,uartdata
 319 0146 8093 2C00 		sts 44,r24
 216:main.c        **** 				uartdata=0;
 321               	.LM41:
 322 014a 1092 0000 		sts uartdata,__zero_reg__
 323               	.L5:
 217:main.c        **** 				break;
 218:main.c        **** 
 219:main.c        **** 		}
 220:main.c        **** 		wdr();
 325               	.LM42:
 326               	/* #APP */
 327 014e A895      		wdr
 328               	/* #NOAPP */
 329 0150 A6CF      		rjmp .L3
 330               	/* epilogue: frame size=6 */
 331               	/* epilogue: noreturn */
 332               	/* epilogue end (size=0) */
 333               	/* function main size 147 (143) */
 338               	.Lscope1:
 341               	.global	delay_ms
 343               	delay_ms:
 221:main.c        **** 	}
 222:main.c        **** }
 223:main.c        **** /************************************************************
 224:main.c        **** *函数名称:delay_ms(uint ms)									*
 225:main.c        **** *用途:延时													*
 226:main.c        **** ************************************************************/
 227:main.c        **** void delay_ms(uint ms)//乱延时的,可能不准
 228:main.c        **** {
 345               	.LM43:
 346               	/* prologue: frame size=6 */
 347 0152 CF93      		push r28
 348 0154 DF93      		push r29
 349 0156 CDB7      		in r28,__SP_L__
 350 0158 DEB7      		in r29,__SP_H__
 351 015a 2697      		sbiw r28,6
 352 015c 0FB6      		in __tmp_reg__,__SREG__
 353 015e F894      		cli
 354 0160 DEBF      		out __SP_H__,r29
 355 0162 0FBE      		out __SREG__,__tmp_reg__
 356 0164 CDBF      		out __SP_L__,r28
 357               	/* prologue end (size=10) */
 358 0166 8983      		std Y+1,r24
 359 0168 9A83      		std Y+2,r25
 229:main.c        **** 	uint i,j;
 230:main.c        **** 	for(j=0;j<ms;j++)
 361               	.LM44:
 362 016a 1D82      		std Y+5,__zero_reg__
 363 016c 1E82      		std Y+6,__zero_reg__
 364               	.L13:
 366               	.LM45:
 367 016e 2D81      		ldd r18,Y+5
 368 0170 3E81      		ldd r19,Y+6
 369 0172 8981      		ldd r24,Y+1
 370 0174 9A81      		ldd r25,Y+2
 371 0176 2817      		cp r18,r24
 372 0178 3907      		cpc r19,r25
 373 017a A8F4      		brsh .L12
 231:main.c        **** 	{
 232:main.c        **** 		for(i=0;i<1140;i++)
 375               	.LM46:
 376 017c 1B82      		std Y+3,__zero_reg__
 377 017e 1C82      		std Y+4,__zero_reg__
 378               	.L16:
 379 0180 8B81      		ldd r24,Y+3
 380 0182 9C81      		ldd r25,Y+4
 381 0184 24E0      		ldi r18,hi8(1140)
 382 0186 8437      		cpi r24,lo8(1140)
 383 0188 9207      		cpc r25,r18
 384 018a 38F4      		brsh .L15
 233:main.c        **** 			wdr();
 386               	.LM47:
 387               	/* #APP */
 388 018c A895      		wdr
 390               	.LM48:
 391               	/* #NOAPP */
 392 018e 8B81      		ldd r24,Y+3
 393 0190 9C81      		ldd r25,Y+4
 394 0192 0196      		adiw r24,1
 395 0194 8B83      		std Y+3,r24
 396 0196 9C83      		std Y+4,r25
 397 0198 F3CF      		rjmp .L16
 398               	.L15:
 400               	.LM49:
 401 019a 8D81      		ldd r24,Y+5
 402 019c 9E81      		ldd r25,Y+6
 403 019e 0196      		adiw r24,1
 404 01a0 8D83      		std Y+5,r24
 405 01a2 9E83      		std Y+6,r25
 406 01a4 E4CF      		rjmp .L13
 407               	.L12:
 408               	/* epilogue: frame size=6 */
 409 01a6 2696      		adiw r28,6
 410 01a8 0FB6      		in __tmp_reg__,__SREG__
 411 01aa F894      		cli
 412 01ac DEBF      		out __SP_H__,r29
 413 01ae 0FBE      		out __SREG__,__tmp_reg__
 414 01b0 CDBF      		out __SP_L__,r28
 415 01b2 DF91      		pop r29
 416 01b4 CF91      		pop r28
 417 01b6 0895      		ret
 418               	/* epilogue end (size=9) */
 419               	/* function delay_ms size 52 (33) */
 425               	.Lscope2:
 428               	.global	delay_us
 430               	delay_us:
 234:main.c        **** 	}
 235:main.c        **** }
 236:main.c        **** /************************************************************
 237:main.c        **** *函数名称:delay_us(uint us)									*
 238:main.c        **** *用途:延时													*
 239:main.c        **** ************************************************************/
 240:main.c        **** void delay_us(uint us)//乱延时的,可能不准
 241:main.c        **** {
 432               	.LM50:
 433               	/* prologue: frame size=4 */
 434 01b8 CF93      		push r28
 435 01ba DF93      		push r29
 436 01bc CDB7      		in r28,__SP_L__
 437 01be DEB7      		in r29,__SP_H__
 438 01c0 2497      		sbiw r28,4
 439 01c2 0FB6      		in __tmp_reg__,__SREG__
 440 01c4 F894      		cli
 441 01c6 DEBF      		out __SP_H__,r29
 442 01c8 0FBE      		out __SREG__,__tmp_reg__
 443 01ca CDBF      		out __SP_L__,r28
 444               	/* prologue end (size=10) */
 445 01cc 8983      		std Y+1,r24
 446 01ce 9A83      		std Y+2,r25
 242:main.c        **** 	int j;
 243:main.c        **** 	for (j=0;j<us;j++) 
 448               	.LM51:
 449 01d0 1B82      		std Y+3,__zero_reg__
 450 01d2 1C82      		std Y+4,__zero_reg__
 451               	.L20:
 453               	.LM52:
 454 01d4 2B81      		ldd r18,Y+3
 455 01d6 3C81      		ldd r19,Y+4
 456 01d8 8981      		ldd r24,Y+1
 457 01da 9A81      		ldd r25,Y+2
 458 01dc 2817      		cp r18,r24
 459 01de 3907      		cpc r19,r25
 460 01e0 78F4      		brsh .L19
 244:main.c        **** 	{
 245:main.c        **** 		wdr();
 462               	.LM53:
 463               	/* #APP */
 464 01e2 A895      		wdr
 246:main.c        **** 		nop();
 466               	.LM54:
 467 01e4 0000      		nop
 247:main.c        **** 		nop();
 469               	.LM55:
 470 01e6 0000      		nop
 248:main.c        **** 		nop();
 472               	.LM56:
 473 01e8 0000      		nop
 249:main.c        **** 		nop();
 475               	.LM57:
 476 01ea 0000      		nop
 250:main.c        **** 		nop();
 478               	.LM58:
 479 01ec 0000      		nop
 251:main.c        **** 		nop();
 481               	.LM59:
 482 01ee 0000      		nop
 252:main.c        **** 		nop();
 484               	.LM60:
 485 01f0 0000      		nop
 253:main.c        **** 		nop();
 487               	.LM61:
 488 01f2 0000      		nop
 490               	.LM62:
 491               	/* #NOAPP */
 492 01f4 8B81      		ldd r24,Y+3
 493 01f6 9C81      		ldd r25,Y+4
 494 01f8 0196      		adiw r24,1
 495 01fa 8B83      		std Y+3,r24
 496 01fc 9C83      		std Y+4,r25
 497 01fe EACF      		rjmp .L20
 498               	.L19:
 499               	/* epilogue: frame size=4 */
 500 0200 2496      		adiw r28,4
 501 0202 0FB6      		in __tmp_reg__,__SREG__
 502 0204 F894      		cli
 503 0206 DEBF      		out __SP_H__,r29
 504 0208 0FBE      		out __SREG__,__tmp_reg__
 505 020a CDBF      		out __SP_L__,r28
 506 020c DF91      		pop r29
 507 020e CF91      		pop r28
 508 0210 0895      		ret
 509               	/* epilogue end (size=9) */
 510               	/* function delay_us size 54 (35) */
 515               	.Lscope3:
 517               	.global	HDinit
 519               	HDinit:
 254:main.c        **** 	}
 255:main.c        **** }
 256:main.c        **** /************************************************************
 257:main.c        **** *函数名称:void HDinit(void)									*
 258:main.c        **** *用途:硬盘初始化											*
 259:main.c        **** ************************************************************/ 
 260:main.c        **** void HDinit(void)
 261:main.c        **** {
 521               	.LM63:

⌨️ 快捷键说明

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