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

📄 isr.lst

📁 AVR单片机控制的PDIUSBD12原程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 291 00c4 61E0      		ldi r22,lo8(1)
 292 00c6 80E0      		ldi r24,lo8(0)
 293 00c8 0E94 0000 		call D12_SetEndpointStatus
 295               	.LM31:
 296 00cc 61E0      		ldi r22,lo8(1)
 297 00ce 862F      		mov r24,r22
 298 00d0 0E94 0000 		call D12_SetEndpointStatus
 299 00d4 0895      		ret
 300               	.L13:
 302               	.LM32:
 303 00d6 8F73      		andi r24,lo8(63)
 304 00d8 8068      		ori r24,lo8(-128)
 305 00da E6CF      		rjmp .L20
 306               	.L7:
 308               	.LM33:
 309 00dc 9091 0000 		lds r25,bEPPflags
 310 00e0 892F      		mov r24,r25
 311 00e2 807C      		andi r24,lo8(-64)
 312 00e4 8038      		cpi r24,lo8(-128)
 313 00e6 19F5      		brne .L16
 315               	.LM34:
 316 00e8 8091 0000 		lds r24,ControlData+10
 317 00ec 9091 0000 		lds r25,(ControlData+10)+1
 318 00f0 8050      		subi r24,lo8(-(ControlData+14))
 319 00f2 9040      		sbci r25,hi8(-(ControlData+14))
 320 00f4 AC01      		movw r20,r24
 321 00f6 60E1      		ldi r22,lo8(16)
 322 00f8 80E0      		ldi r24,lo8(0)
 323 00fa 0E94 0000 		call D12_ReadEndpoint
 325               	.LM35:
 326 00fe 2091 0000 		lds r18,ControlData+10
 327 0102 3091 0000 		lds r19,(ControlData+10)+1
 328 0106 280F      		add r18,r24
 329 0108 311D      		adc r19,__zero_reg__
 330 010a 3093 0000 		sts (ControlData+10)+1,r19
 331 010e 2093 0000 		sts ControlData+10,r18
 333               	.LM36:
 334 0112 8031      		cpi r24,lo8(16)
 335 0114 39F4      		brne .L18
 336 0116 8091 0000 		lds r24,ControlData+8
 337 011a 9091 0000 		lds r25,(ControlData+8)+1
 338 011e 2817      		cp r18,r24
 339 0120 3907      		cpc r19,r25
 340 0122 40F0      		brlo .L6
 341               	.L18:
 343               	.LM37:
 344 0124 8091 0000 		lds r24,bEPPflags
 345 0128 8860      		ori r24,lo8(8)
 346               	.L21:
 348               	.LM38:
 349 012a 8F73      		andi r24,lo8(63)
 350 012c BDCF      		rjmp .L20
 351               	.L16:
 353               	.LM39:
 354 012e 9F73      		andi r25,lo8(63)
 355 0130 9093 0000 		sts bEPPflags,r25
 356               	.L6:
 357 0134 0895      		ret
 358               	/* epilogue: frame size=0 */
 359               	/* epilogue: noreturn */
 360               	/* epilogue end (size=0) */
 361               	/* function ep0_rxdone size 129 (129) */
 366               	.Lscope4:
 368               	.global	ep0_txdone
 370               	ep0_txdone:
 372               	.LM40:
 373               	/* prologue: frame size=0 */
 374 0136 CF93      		push r28
 375 0138 DF93      		push r29
 376               	/* prologue end (size=2) */
 378               	.LM41:
 379 013a C091 0000 		lds r28,ControlData+8
 380 013e D091 0000 		lds r29,(ControlData+8)+1
 381 0142 8091 0000 		lds r24,ControlData+10
 382 0146 9091 0000 		lds r25,(ControlData+10)+1
 383 014a C81B      		sub r28,r24
 384 014c D90B      		sbc r29,r25
 386               	.LM42:
 387 014e 81E0      		ldi r24,lo8(1)
 388 0150 0E94 0000 		call D12_ReadLastTransactionStatus
 390               	.LM43:
 391 0154 8091 0000 		lds r24,bEPPflags
 392 0158 807C      		andi r24,lo8(-64)
 393 015a 8034      		cpi r24,lo8(64)
 394 015c 09F0      		breq .+2
 395 015e 46C0      		rjmp .L22
 397               	.LM44:
 398 0160 C031      		cpi r28,16
 399 0162 D105      		cpc r29,__zero_reg__
 400 0164 ECF0      		brlt .L24
 402               	.LM45:
 403 0166 8091 0000 		lds r24,ControlData+12
 404 016a 9091 0000 		lds r25,(ControlData+12)+1
 405 016e 2091 0000 		lds r18,ControlData+10
 406 0172 3091 0000 		lds r19,(ControlData+10)+1
 407 0176 820F      		add r24,r18
 408 0178 931F      		adc r25,r19
 409 017a AC01      		movw r20,r24
 410 017c 60E1      		ldi r22,lo8(16)
 411 017e 81E0      		ldi r24,lo8(1)
 412 0180 0E94 0000 		call D12_WriteEndpoint
 414               	.LM46:
 415 0184 8091 0000 		lds r24,ControlData+10
 416 0188 9091 0000 		lds r25,(ControlData+10)+1
 417 018c 4096      		adiw r24,16
 418 018e 9093 0000 		sts (ControlData+10)+1,r25
 419 0192 8093 0000 		sts ControlData+10,r24
 421               	.LM47:
 422 0196 8091 0000 		lds r24,bEPPflags
 423 019a 8F73      		andi r24,lo8(63)
 424 019c 8064      		ori r24,lo8(64)
 425 019e 24C0      		rjmp .L31
 426               	.L24:
 428               	.LM48:
 429 01a0 2097      		sbiw r28,0
 430 01a2 D1F0      		breq .L29
 432               	.LM49:
 433 01a4 8091 0000 		lds r24,ControlData+12
 434 01a8 9091 0000 		lds r25,(ControlData+12)+1
 435 01ac 2091 0000 		lds r18,ControlData+10
 436 01b0 3091 0000 		lds r19,(ControlData+10)+1
 437 01b4 820F      		add r24,r18
 438 01b6 931F      		adc r25,r19
 439 01b8 AC01      		movw r20,r24
 440 01ba 6C2F      		mov r22,r28
 441 01bc 81E0      		ldi r24,lo8(1)
 442 01be 0E94 0000 		call D12_WriteEndpoint
 444               	.LM50:
 445 01c2 8091 0000 		lds r24,ControlData+10
 446 01c6 9091 0000 		lds r25,(ControlData+10)+1
 447 01ca 8C0F      		add r24,r28
 448 01cc 9D1F      		adc r25,r29
 449 01ce 9093 0000 		sts (ControlData+10)+1,r25
 450 01d2 8093 0000 		sts ControlData+10,r24
 451 01d6 05C0      		rjmp .L30
 452               	.L29:
 454               	.LM51:
 455 01d8 AE01      		movw r20,r28
 456 01da 60E0      		ldi r22,lo8(0)
 457 01dc 81E0      		ldi r24,lo8(1)
 458 01de 0E94 0000 		call D12_WriteEndpoint
 459               	.L30:
 461               	.LM52:
 462 01e2 8091 0000 		lds r24,bEPPflags
 463 01e6 8F73      		andi r24,lo8(63)
 464               	.L31:
 465 01e8 8093 0000 		sts bEPPflags,r24
 466               	.L22:
 467               	/* epilogue: frame size=0 */
 468 01ec DF91      		pop r29
 469 01ee CF91      		pop r28
 470 01f0 0895      		ret
 471               	/* epilogue end (size=3) */
 472               	/* function ep0_txdone size 94 (89) */
 477               	.Lscope5:
 479               	.global	main_rxdone
 481               	main_rxdone:
 181:isr.c         **** //	LED();
 182:isr.c         **** }
 183:isr.c         **** //主端点OUT控制
 184:isr.c         **** void main_rxdone(void)
 185:isr.c         **** {
 483               	.LM53:
 484               	/* prologue: frame size=0 */
 485 01f2 1F93      		push r17
 486               	/* prologue end (size=1) */
 186:isr.c         **** 	unsigned char len,epstatus,j;
 187:isr.c         **** 	j=D12_ReadLastTransactionStatus(4);			//清中断标志位
 488               	.LM54:
 489 01f4 84E0      		ldi r24,lo8(4)
 490 01f6 0E94 0000 		call D12_ReadLastTransactionStatus
 188:isr.c         **** 	epstatus=D12_ReadEndpointStatus(4);			//读取缓冲区状态
 492               	.LM55:
 493 01fa 84E0      		ldi r24,lo8(4)
 494 01fc 0E94 0000 		call D12_ReadEndpointStatus
 189:isr.c         **** 	epstatus &=0x60;
 496               	.LM56:
 497 0200 182F      		mov r17,r24
 498 0202 1076      		andi r17,lo8(96)
 190:isr.c         **** 	//接收数据
 191:isr.c         **** 	len=D12_ReadEndpoint(4,64,EpBuf);
 500               	.LM57:
 501 0204 4091 0000 		lds r20,EpBuf
 502 0208 5091 0000 		lds r21,(EpBuf)+1
 503 020c 60E4      		ldi r22,lo8(64)
 504 020e 84E0      		ldi r24,lo8(4)
 505 0210 0E94 0000 		call D12_ReadEndpoint
 192:isr.c         **** 	if(epstatus==0x60)
 507               	.LM58:
 508 0214 1036      		cpi r17,lo8(96)
 509 0216 41F4      		brne .L32
 193:isr.c         **** 		len=D12_ReadEndpoint(4,64,EpBuf);		//读取双缓冲区数据
 511               	.LM59:
 512 0218 4091 0000 		lds r20,EpBuf
 513 021c 5091 0000 		lds r21,(EpBuf)+1
 514 0220 60E4      		ldi r22,lo8(64)
 515 0222 84E0      		ldi r24,lo8(4)
 516 0224 0E94 0000 		call D12_ReadEndpoint
 517               	.L32:
 518               	/* epilogue: frame size=0 */
 519 0228 1F91      		pop r17
 520 022a 0895      		ret
 521               	/* epilogue end (size=2) */
 522               	/* function main_rxdone size 29 (26) */
 527               	.Lscope6:
 529               	.global	fn_usb_isr
 531               	fn_usb_isr:
 533               	.LM60:
 534               	/* prologue: frame size=0 */
 535 022c CF93      		push r28
 536 022e DF93      		push r29
 537               	/* prologue end (size=2) */
 539               	.LM61:
 540               	/* #APP */
 541 0230 F894      		cli
 543               	.LM62:
 544               	/* #NOAPP */
 545 0232 8091 0000 		lds r24,bEPPflags
 546 0236 8062      		ori r24,lo8(32)
 547 0238 8093 0000 		sts bEPPflags,r24
 549               	.LM63:
 550 023c 0E94 0000 		call D12_ReadInterruptRegister
 551 0240 EC01      		movw r28,r24
 553               	.LM64:
 554 0242 0097      		sbiw r24,0
 555 0244 31F1      		breq .L35
 557               	.LM65:
 558 0246 86FF      		sbrs r24,6
 559 0248 05C0      		rjmp .L36
 561               	.LM66:
 562 024a 8091 0000 		lds r24,bEPPflags
 563 024e 8260      		ori r24,lo8(2)
 564 0250 8093 0000 		sts bEPPflags,r24
 565               	.L36:
 567               	.LM67:
 568 0254 C7FF      		sbrs r28,7
 569 0256 05C0      		rjmp .L38
 571               	.LM68:
 572 0258 8091 0000 		lds r24,bEPPflags
 573 025c 8460      		ori r24,lo8(4)
 574 025e 8093 0000 		sts bEPPflags,r24
 575               	.L38:
 577               	.LM69:
 578 0262 C1FF      		sbrs r28,1
 579 0264 02C0      		rjmp .L39
 581               	.LM70:
 582 0266 0E94 0000 		call ep0_txdone
 583               	.L39:
 585               	.LM71:
 586 026a C0FF      		sbrs r28,0
 587 026c 02C0      		rjmp .L40
 589               	.LM72:
 590 026e 0E94 0000 		call ep0_rxdone
 591               	.L40:
 593               	.LM73:
 594 0272 C3FF      		sbrs r28,3
 595 0274 02C0      		rjmp .L41
 597               	.LM74:
 598 0276 0E94 0000 		call ep1_txdone
 599               	.L41:
 601               	.LM75:
 602 027a C2FF      		sbrs r28,2
 603 027c 02C0      		rjmp .L42
 605               	.LM76:
 606 027e 0E94 0000 		call ep1_rxdone
 607               	.L42:
 609               	.LM77:
 610 0282 C5FF      		sbrs r28,5
 611 0284 02C0      		rjmp .L43
 613               	.LM78:
 614 0286 0E94 0000 		call main_txdone
 615               	.L43:
 617               	.LM79:
 618 028a C4FF      		sbrs r28,4
 619 028c 02C0      		rjmp .L35
 621               	.LM80:
 622 028e 0E94 0000 		call main_rxdone
 623               	.L35:
 625               	.LM81:
 626 0292 8091 0000 		lds r24,bEPPflags
 627 0296 8F7D      		andi r24,lo8(-33)
 628 0298 8093 0000 		sts bEPPflags,r24
 630               	.LM82:
 631               	/* #APP */
 632 029c 7894      		sei
 633               	/* #NOAPP */
 634               	/* epilogue: frame size=0 */
 635 029e DF91      		pop r29
 636 02a0 CF91      		pop r28
 637 02a2 0895      		ret
 638               	/* epilogue end (size=3) */
 639               	/* function fn_usb_isr size 62 (57) */
 644               	.Lscope7:
 645               		.comm EpBuf,2,1
 646               		.comm GenEpBuf,64,1
 647               		.comm bEPPflags,2,1
 648               		.comm ControlData,22,1
 653               		.text
 655               	Letext:
 656               	/* File "isr.c": code  340 = 0x0154 ( 324), prologues   5, epilogues  11 */
DEFINED SYMBOLS
                            *ABS*:00000000 isr.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:109    .text:00000000 dma_eot
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:123    .text:00000002 main_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:141    .text:0000000a ep1_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:159    .text:00000012 ep1_rxdone
                            *COM*:00000040 GenEpBuf
                            *COM*:00000002 bEPPflags
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:195    .text:00000034 ep0_rxdone
                            *COM*:00000016 ControlData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:370    .text:00000136 ep0_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:481    .text:000001f2 main_rxdone
                            *COM*:00000002 EpBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:531    .text:0000022c fn_usb_isr
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:655    .text:000002a4 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
D12_ReadLastTransactionStatus
D12_ReadEndpoint
D12_SetEndpointStatus
D12_AcknowledgeEndpoint
D12_WriteEndpoint
D12_ReadEndpointStatus
D12_ReadInterruptRegister

⌨️ 快捷键说明

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