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

📄 yc_play.lst

📁 AVRX实时操作无线遥控LED变化控制完整源码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 610 0290 982F      		mov r25,r24
 611               	.L103:
 612 0292 9093 0000 		sts WorkFlag,r25
 613 0296 8093 0000 		sts WorkFlag+2,r24
 614 029a 43C0      		rjmp .L104
 615               	.L102:
 617               	.LM76:
 618 029c 2223      		tst r18
 619 029e 09F0      		breq .+2
 620 02a0 3DC0      		rjmp .L105
 622               	.LM77:
 623 02a2 9927      		clr r25
 624 02a4 8430      		cpi r24,4
 625 02a6 9105      		cpc r25,__zero_reg__
 626 02a8 69F0      		breq .L108
 627 02aa 8530      		cpi r24,5
 628 02ac 9105      		cpc r25,__zero_reg__
 629 02ae 1CF4      		brge .L113
 630 02b0 0297      		sbiw r24,2
 631 02b2 21F0      		breq .L107
 632 02b4 33C0      		rjmp .L105
 633               	.L113:
 634 02b6 0897      		sbiw r24,8
 635 02b8 41F1      		breq .L110
 636 02ba 30C0      		rjmp .L105
 637               	.L107:
 639               	.LM78:
 640 02bc 85E5      		ldi r24,lo8(85)
 641 02be 8093 0000 		sts bCurPlayIdx,r24
 642 02c2 2CC0      		rjmp .L105
 643               	.L108:
 645               	.LM79:
 646 02c4 8091 0000 		lds r24,WorkFlag+4
 647 02c8 8130      		cpi r24,lo8(1)
 648 02ca 41F5      		brne .L105
 650               	.LM80:
 651 02cc 8093 0000 		sts WorkFlag+2,r24
 652 02d0 8093 0000 		sts WorkFlag+3,r24
 653 02d4 2093 0000 		sts WorkFlag+4,r18
 655               	.LM81:
 656 02d8 8091 0000 		lds r24,wCurRedAsh
 657 02dc 9091 0000 		lds r25,(wCurRedAsh)+1
 658 02e0 9093 0000 		sts (wCurRedAshVal)+1,r25
 659 02e4 8093 0000 		sts wCurRedAshVal,r24
 660 02e8 8091 0000 		lds r24,wCurGreAsh
 661 02ec 9091 0000 		lds r25,(wCurGreAsh)+1
 662 02f0 9093 0000 		sts (wCurGreAshVal)+1,r25
 663 02f4 8093 0000 		sts wCurGreAshVal,r24
 664 02f8 8091 0000 		lds r24,wCurBluAsh
 665 02fc 9091 0000 		lds r25,(wCurBluAsh)+1
 666 0300 9093 0000 		sts (wCurBluAshVal)+1,r25
 667 0304 8093 0000 		sts wCurBluAshVal,r24
 669               	.LM82:
 670 0308 09C0      		rjmp .L105
 671               	.L110:
 673               	.LM83:
 674 030a 8091 0000 		lds r24,bCurPlayIdx
 675 030e 8F5F      		subi r24,lo8(-(1))
 676 0310 8093 0000 		sts bCurPlayIdx,r24
 678               	.LM84:
 679 0314 8530      		cpi r24,lo8(5)
 680 0316 11F4      		brne .L105
 681 0318 2093 0000 		sts bCurPlayIdx,r18
 682               	.L105:
 684               	.LM85:
 685 031c 81E0      		ldi r24,lo8(1)
 686 031e 8093 0000 		sts WorkFlag+1,r24
 687               	.L104:
 689               	.LM86:
 690 0322 2FDF      		rcall SaveWorkState
 691               	/* epilogue: frame size=0 */
 692 0324 0895      		ret
 693               	/* epilogue end (size=1) */
 694               	/* function KeyYc size 83 (82) */
 696               	.Lscope3:
 698               	.global	LoadWorkState
 700               	LoadWorkState:
 185:YC_Play.c     **** 	    }
 186:YC_Play.c     **** }
 187:YC_Play.c     **** 
 188:YC_Play.c     **** /*=====================================================================
 189:YC_Play.c     **** 【功  能】:	调入工作状态
 190:YC_Play.c     **** 【名  称】:	LoadWorkState()
 191:YC_Play.c     **** 【日  期】:	2006年8月30日
 192:YC_Play.c     **** =====================================================================*/
 193:YC_Play.c     **** void LoadWorkState(void)
 194:YC_Play.c     **** {   
 702               	.LM87:
 703               	/* prologue: frame size=0 */
 704               	/* prologue end (size=0) */
 195:YC_Play.c     ****    if(WorkFlag.bKeyUpt == 1)
 706               	.LM88:
 707 0326 8091 0000 		lds r24,WorkFlag+1
 708 032a 8130      		cpi r24,lo8(1)
 709 032c B1F5      		brne .L115
 710               	.L116:
 196:YC_Play.c     **** 	    {
 197:YC_Play.c     ****         eeprom_busy_wait();
 712               	.LM89:
 713 032e E199      		sbic 60-0x20,1
 714 0330 FECF      		rjmp .L116
 198:YC_Play.c     **** 	    bCurPlayIdx = eeprom_read_byte(&bLastPlayIdx); 
 716               	.LM90:
 717 0332 80E0      		ldi r24,lo8(bLastPlayIdx)
 718 0334 90E0      		ldi r25,hi8(bLastPlayIdx)
 719 0336 00D0      		rcall eeprom_read_byte
 720 0338 8093 0000 		sts bCurPlayIdx,r24
 721               	.L119:
 199:YC_Play.c     **** 	    eeprom_busy_wait();
 723               	.LM91:
 724 033c E199      		sbic 60-0x20,1
 725 033e FECF      		rjmp .L119
 200:YC_Play.c     **** 	    wCurRedAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][0]);
 727               	.LM92:
 728 0340 9091 0000 		lds r25,bCurPlayIdx
 729 0344 86E0      		ldi r24,lo8(6)
 730 0346 989F      		mul r25,r24
 731 0348 C001      		movw r24,r0
 732 034a 1124      		clr r1
 733 034c 8050      		subi r24,lo8(-(bColorAsh))
 734 034e 9040      		sbci r25,hi8(-(bColorAsh))
 735 0350 00D0      		rcall eeprom_read_word
 736 0352 9093 0000 		sts (wCurRedAshVal)+1,r25
 737 0356 8093 0000 		sts wCurRedAshVal,r24
 738               	.L122:
 201:YC_Play.c     **** 	    eeprom_busy_wait();
 740               	.LM93:
 741 035a E199      		sbic 60-0x20,1
 742 035c FECF      		rjmp .L122
 202:YC_Play.c     **** 	    wCurGreAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][1]);
 744               	.LM94:
 745 035e 9091 0000 		lds r25,bCurPlayIdx
 746 0362 86E0      		ldi r24,lo8(6)
 747 0364 989F      		mul r25,r24
 748 0366 C001      		movw r24,r0
 749 0368 1124      		clr r1
 750 036a 8050      		subi r24,lo8(-(bColorAsh+2))
 751 036c 9040      		sbci r25,hi8(-(bColorAsh+2))
 752 036e 00D0      		rcall eeprom_read_word
 753 0370 9093 0000 		sts (wCurGreAshVal)+1,r25
 754 0374 8093 0000 		sts wCurGreAshVal,r24
 755               	.L125:
 203:YC_Play.c     **** 	    eeprom_busy_wait();
 757               	.LM95:
 758 0378 E199      		sbic 60-0x20,1
 759 037a FECF      		rjmp .L125
 204:YC_Play.c     **** 	    wCurBluAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][2]);
 761               	.LM96:
 762 037c 9091 0000 		lds r25,bCurPlayIdx
 763 0380 86E0      		ldi r24,lo8(6)
 764 0382 989F      		mul r25,r24
 765 0384 C001      		movw r24,r0
 766 0386 1124      		clr r1
 767 0388 8050      		subi r24,lo8(-(bColorAsh+4))
 768 038a 9040      		sbci r25,hi8(-(bColorAsh+4))
 769 038c 00D0      		rcall eeprom_read_word
 770 038e 9093 0000 		sts (wCurBluAshVal)+1,r25
 771 0392 8093 0000 		sts wCurBluAshVal,r24
 205:YC_Play.c     **** 		WorkFlag.bKeyUpt = 0;
 773               	.LM97:
 774 0396 1092 0000 		sts WorkFlag+1,__zero_reg__
 775               	.L115:
 206:YC_Play.c     **** 		}
 207:YC_Play.c     **** 		
 208:YC_Play.c     ****     if(WorkFlag.bColseWork == 1)
 777               	.LM98:
 778 039a 8091 0000 		lds r24,WorkFlag
 779 039e 8130      		cpi r24,lo8(1)
 780 03a0 21F4      		brne .L128
 209:YC_Play.c     **** 	    {
 210:YC_Play.c     **** 		OFF_Red(); OFF_Gre(); OFF_Blu();  
 782               	.LM99:
 783 03a2 959A      		sbi 50-0x20,5
 784 03a4 969A      		sbi 50-0x20,6
 785 03a6 979A      		sbi 50-0x20,7
 786 03a8 0895      		ret
 787               	.L128:
 211:YC_Play.c     **** 		}
 212:YC_Play.c     **** 	else
 213:YC_Play.c     **** 	    {
 214:YC_Play.c     **** 		if(bCurPlayIdx == 0x55)
 789               	.LM100:
 790 03aa 8091 0000 		lds r24,bCurPlayIdx
 791 03ae 8535      		cpi r24,lo8(85)
 792 03b0 19F4      		brne .L130
 215:YC_Play.c     **** 		    Play_Gradual(PLAY_GRADSPEED);
 794               	.LM101:
 795 03b2 81E0      		ldi r24,lo8(1)
 796 03b4 44DE      		rcall Play_Gradual
 797 03b6 0895      		ret
 798               	.L130:
 216:YC_Play.c     **** 		else
 217:YC_Play.c     **** 			PlayStaticAsh(wCurRedAshVal, wCurGreAshVal, wCurBluAshVal);
 800               	.LM102:
 801 03b8 4091 0000 		lds r20,wCurBluAshVal
 802 03bc 5091 0000 		lds r21,(wCurBluAshVal)+1
 803 03c0 6091 0000 		lds r22,wCurGreAshVal
 804 03c4 7091 0000 		lds r23,(wCurGreAshVal)+1
 805 03c8 8091 0000 		lds r24,wCurRedAshVal
 806 03cc 9091 0000 		lds r25,(wCurRedAshVal)+1
 807 03d0 17DE      		rcall PlayStaticAsh
 808 03d2 0895      		ret
 809               	/* epilogue: frame size=0 */
 810 03d4 0895      		ret
 811               	/* epilogue end (size=1) */
 812               	/* function LoadWorkState size 88 (87) */
 814               	.Lscope4:
 816               	.global	InitWorkState
 818               	InitWorkState:
 218:YC_Play.c     **** 		}
 219:YC_Play.c     **** }
 220:YC_Play.c     **** 
 221:YC_Play.c     **** /*=====================================================================
 222:YC_Play.c     **** 【功  能】:	初始化工作状态
 223:YC_Play.c     **** 【名  称】:	InitWorkState()
 224:YC_Play.c     **** 【日  期】:	2006年8月30日
 225:YC_Play.c     **** =====================================================================*/
 226:YC_Play.c     **** void InitWorkState(void)
 227:YC_Play.c     **** {
 820               	.LM103:
 821               	/* prologue: frame size=0 */
 822               	/* prologue end (size=0) */
 228:YC_Play.c     ****     DDRD |= (_BV(PD5) | _BV(PD6) | _BV(PD7));
 824               	.LM104:
 825 03d6 81B3      		in r24,49-0x20
 826 03d8 806E      		ori r24,lo8(-32)
 827 03da 81BB      		out 49-0x20,r24
 229:YC_Play.c     **** 	DDRC &= ~(_BV(PC0) | _BV(PC1) | _BV(PC2) | _BV(PC3));
 829               	.LM105:
 830 03dc 84B3      		in r24,52-0x20
 831 03de 807F      		andi r24,lo8(-16)
 832 03e0 84BB      		out 52-0x20,r24
 230:YC_Play.c     **** 	DDRD &= ~(_BV(PD2));
 834               	.LM106:
 835 03e2 8A98      		cbi 49-0x20,2
 231:YC_Play.c     **** 	PORTD |= _BV(PD2);
 837               	.LM107:
 838 03e4 929A      		sbi 50-0x20,2
 232:YC_Play.c     **** 	
 233:YC_Play.c     ****     WorkFlag.bKeyUpt = 1;
 840               	.LM108:
 841 03e6 81E0      		ldi r24,lo8(1)
 842 03e8 8093 0000 		sts WorkFlag+1,r24
 234:YC_Play.c     **** 	WorkFlag.bColseWork = 0;
 844               	.LM109:
 845 03ec 1092 0000 		sts WorkFlag,__zero_reg__
 235:YC_Play.c     ****     LoadWorkState();
 847               	.LM110:
 848 03f0 9ADF      		rcall LoadWorkState
 849               	/* epilogue: frame size=0 */
 850 03f2 0895      		ret
 851               	/* epilogue end (size=1) */
 852               	/* function InitWorkState size 15 (14) */
 854               	.Lscope5:
 855               	.global	bLastPlayIdx
 856               		.section	.eeprom,"aw",@progbits
 859               	bLastPlayIdx:
 860 0000 00        		.skip 1,0
 861               	.global	bColorAsh
 864               	bColorAsh:
 865 0001 0000 0000 		.skip 30,0
 865      0000 0000 
 865      0000 0000 
 865      0000 0000 
 865      0000 0000 
 866               		.comm wCurRedAsh,2,1
 867               		.comm wCurGreAsh,2,1
 868               		.comm wCurBluAsh,2,1
 869               		.comm wCurRedAshVal,2,1
 870               		.comm wCurGreAshVal,2,1
 871               		.comm wCurBluAshVal,2,1
 872               		.comm WorkFlag,5,1
 884               		.text
 886               	Letext:
 887               	/* File "YC_Play.c": code  511 = 0x01ff ( 482), prologues  12, epilogues  17 */
DEFINED SYMBOLS
                            *ABS*:00000000 YC_Play.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:81     .data:00000000 bCurPlayIdx
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:86     .data:00000001 WASHVAL
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:95     .text:00000000 PlayStaticAsh
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:174    .text:0000003e Play_Gradual
                            *COM*:00000005 WorkFlag
                            *COM*:00000002 wCurRedAsh
                            *COM*:00000002 wCurGreAsh
                            *COM*:00000002 wCurBluAsh
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:390    .text:00000182 SaveWorkState
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:859    .eeprom:00000000 bLastPlayIdx
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:864    .eeprom:00000001 bColorAsh
                            *COM*:00000002 wCurRedAshVal
                            *COM*:00000002 wCurGreAshVal
                            *COM*:00000002 wCurBluAshVal
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:595    .text:00000282 KeyYc
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:700    .text:00000326 LoadWorkState
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:818    .text:000003d6 InitWorkState
C:\DOCUME~1\KAIFA\LOCALS~1\Temp/ccycaaaa.s:886    .text:000003f4 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
eeprom_write_byte
eeprom_read_word
eeprom_write_word
eeprom_read_byte

⌨️ 快捷键说明

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