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

📄 ax88796.lst

📁 AVR单片机使用U-IP库的例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
 812 031e 0E94 0000 		call ax88796Write
 298:ax88796.c     **** 	ax88796Write(RSAR1, readPagePtr);
 813               		.stabn 68,0,298,.LM120-ax88796BeginPacketRetreive
 814               	.LM120:
 815 0322 6C2D      		mov r22,r12
 816 0324 89E0      		ldi r24,lo8(9)
 817 0326 0E94 0000 		call ax88796Write
 299:ax88796.c     **** 	ax88796Write(CR, (RD0|START));
 818               		.stabn 68,0,299,.LM121-ax88796BeginPacketRetreive
 819               	.LM121:
 820 032a 6AE0      		ldi r22,lo8(10)
 821 032c 80E0      		ldi r24,lo8(0)
 822 032e 0E94 0000 		call ax88796Write
 300:ax88796.c     **** 	for(i=0;i<4;i++)
 823               		.stabn 68,0,300,.LM122-ax88796BeginPacketRetreive
 824               	.LM122:
 825 0332 DD24      		clr r13
 826 0334 EE24      		clr r14
 827 0336 FF24      		clr r15
 828               	.L32:
 301:ax88796.c     **** 		pageheader[i] = ax88796Read(RDMAPORT);
 829               		.stabn 68,0,301,.LM123-ax88796BeginPacketRetreive
 830               	.LM123:
 831 0338 5E01      		movw r10,r28
 832 033a 0894      		sec
 833 033c A11C      		adc r10,__zero_reg__
 834 033e B11C      		adc r11,__zero_reg__
 835 0340 8701      		movw r16,r14
 836 0342 0A0D      		add r16,r10
 837 0344 1B1D      		adc r17,r11
 838 0346 80E1      		ldi r24,lo8(16)
 839 0348 0E94 0000 		call ax88796Read
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cckxaaaa.s 			page 21


 840 034c F801      		movw r30,r16
 841 034e 8083      		st Z,r24
 842               		.stabn 68,0,300,.LM124-ax88796BeginPacketRetreive
 843               	.LM124:
 844 0350 D394      		inc r13
 845 0352 0894      		sec
 846 0354 E11C      		adc r14,__zero_reg__
 847 0356 F11C      		adc r15,__zero_reg__
 848 0358 F3E0      		ldi r31,lo8(3)
 849 035a FD15      		cp r31,r13
 850 035c 68F7      		brsh .L32
 302:ax88796.c     **** 
 303:ax88796.c     **** 	// end the DMA operation
 304:ax88796.c     ****     ax88796Write(CR, (RD2|START));
 851               		.stabn 68,0,304,.LM125-ax88796BeginPacketRetreive
 852               	.LM125:
 853 035e 62E2      		ldi r22,lo8(34)
 854 0360 80E0      		ldi r24,lo8(0)
 855 0362 0E94 0000 		call ax88796Write
 305:ax88796.c     ****     for(i = 0; i <= 20; i++)
 856               		.stabn 68,0,305,.LM126-ax88796BeginPacketRetreive
 857               	.LM126:
 858 0366 DD24      		clr r13
 859               	.L38:
 306:ax88796.c     ****         if(ax88796Read(ISR) & RDC)
 860               		.stabn 68,0,306,.LM127-ax88796BeginPacketRetreive
 861               	.LM127:
 862 0368 87E0      		ldi r24,lo8(7)
 863 036a 0E94 0000 		call ax88796Read
 864 036e 86FD      		sbrc r24,6
 865 0370 04C0      		rjmp .L34
 866               		.stabn 68,0,305,.LM128-ax88796BeginPacketRetreive
 867               	.LM128:
 868 0372 D394      		inc r13
 869 0374 84E1      		ldi r24,lo8(20)
 870 0376 8D15      		cp r24,r13
 871 0378 B8F7      		brsh .L38
 872               	.L34:
 307:ax88796.c     ****             break;
 308:ax88796.c     ****     ax88796Write(ISR, RDC);
 873               		.stabn 68,0,308,.LM129-ax88796BeginPacketRetreive
 874               	.LM129:
 875 037a 60E4      		ldi r22,lo8(64)
 876 037c 87E0      		ldi r24,lo8(7)
 877 037e 0E94 0000 		call ax88796Write
 309:ax88796.c     **** 	
 310:ax88796.c     **** 	rxlen = (pageheader[enetpacketLenH]<<8) + pageheader[enetpacketLenL];
 878               		.stabn 68,0,310,.LM130-ax88796BeginPacketRetreive
 879               	.LM130:
 880 0382 F501      		movw r30,r10
 881 0384 8381      		ldd r24,Z+3
 882 0386 9927      		clr r25
 883 0388 582F      		mov r21,r24
 884 038a 4427      		clr r20
 885 038c 8281      		ldd r24,Z+2
 886 038e 480F      		add r20,r24
 887 0390 511D      		adc r21,__zero_reg__
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cckxaaaa.s 			page 22


 311:ax88796.c     **** 	nextPage = pageheader[nextblock_ptr] ;
 888               		.stabn 68,0,311,.LM131-ax88796BeginPacketRetreive
 889               	.LM131:
 890 0392 2181      		ldd r18,Z+1
 891 0394 2093 0000 		sts nextPage,r18
 312:ax88796.c     **** 	
 313:ax88796.c     **** 	currentRetreiveAddress = (readPagePtr<<8) + 4;
 892               		.stabn 68,0,313,.LM132-ax88796BeginPacketRetreive
 893               	.LM132:
 894 0398 8C2D      		mov r24,r12
 895 039a 9927      		clr r25
 896 039c 982F      		mov r25,r24
 897 039e 8827      		clr r24
 898 03a0 0496      		adiw r24,4
 899 03a2 9093 0000 		sts (currentRetreiveAddress)+1,r25
 900 03a6 8093 0000 		sts currentRetreiveAddress,r24
 314:ax88796.c     **** 	
 315:ax88796.c     **** 	// if the nextPage pointer is invalid, the packet is not ready yet - exit
 316:ax88796.c     **** 	if( (nextPage >= RXSTOP_INIT) || (nextPage < RXSTART_INIT) )
 901               		.stabn 68,0,316,.LM133-ax88796BeginPacketRetreive
 902               	.LM133:
 903 03aa 2654      		subi r18,lo8(-(-70))
 904 03ac 2A31      		cpi r18,lo8(26)
 905 03ae 90F0      		brlo .L39
 317:ax88796.c     **** 	{
 318:ax88796.c     **** 		rprintf("N");
 906               		.stabn 68,0,318,.LM134-ax88796BeginPacketRetreive
 907               	.LM134:
 908 03b0 80E0      		ldi r24,lo8(__c.1)
 909 03b2 90E0      		ldi r25,hi8(__c.1)
 910 03b4 9F93      		push r25
 911 03b6 8F93      		push r24
 912 03b8 81E0      		ldi r24,lo8(1)
 913 03ba 8F93      		push r24
 914 03bc 0E94 0000 		call rprintf1RamRom
 319:ax88796.c     **** 		rprintfu08(nextPage);
 915               		.stabn 68,0,319,.LM135-ax88796BeginPacketRetreive
 916               	.LM135:
 917 03c0 8091 0000 		lds r24,nextPage
 918 03c4 0E94 0000 		call rprintfu08
 919               	.L43:
 320:ax88796.c     **** 		return 0;
 920               		.stabn 68,0,320,.LM136-ax88796BeginPacketRetreive
 921               	.LM136:
 922 03c8 80E0      		ldi r24,lo8(0)
 923 03ca 90E0      		ldi r25,hi8(0)
 924 03cc 0F90      		pop __tmp_reg__
 925 03ce 0F90      		pop __tmp_reg__
 926 03d0 0F90      	 	pop __tmp_reg__
 927 03d2 02C0      		rjmp .L24
 928               	.L39:
 321:ax88796.c     **** 	}
 322:ax88796.c     **** 
 323:ax88796.c     ****     return rxlen-4;
 929               		.stabn 68,0,323,.LM137-ax88796BeginPacketRetreive
 930               	.LM137:
 931 03d4 CA01      		movw r24,r20
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cckxaaaa.s 			page 23


 932 03d6 0497      		sbiw r24,4
 324:ax88796.c     **** }
 933               		.stabn 68,0,324,.LM138-ax88796BeginPacketRetreive
 934               	.LM138:
 935               	.L24:
 936               	.LBE6:
 937               	/* epilogue: frame size=4 */
 938 03d8 2496      		adiw r28,4
 939 03da 0FB6      		in __tmp_reg__,__SREG__
 940 03dc F894      		cli
 941 03de DEBF      		out __SP_H__,r29
 942 03e0 0FBE      		out __SREG__,__tmp_reg__
 943 03e2 CDBF      		out __SP_L__,r28
 944 03e4 DF91      		pop r29
 945 03e6 CF91      		pop r28
 946 03e8 1F91      		pop r17
 947 03ea 0F91      		pop r16
 948 03ec FF90      		pop r15
 949 03ee EF90      		pop r14
 950 03f0 DF90      		pop r13
 951 03f2 CF90      		pop r12
 952 03f4 BF90      		pop r11
 953 03f6 AF90      		pop r10
 954 03f8 0895      		ret
 955               	/* epilogue end (size=17) */
 956               	/* function ax88796BeginPacketRetreive size 200 (165) */
 957               		.size	ax88796BeginPacketRetreive, .-ax88796BeginPacketRetreive
 958               		.stabs	"writePagePtr:r(0,11)",64,0,250,15
 959               		.stabs	"readPagePtr:r(0,11)",64,0,251,12
 960               		.stabs	"bnryPagePtr:r(0,11)",64,0,252,16
 961               		.stabs	"i:r(0,11)",64,0,253,13
 962               		.stabs	"pageheader:(1,2)=ar(1,3)=r(1,3);0000000000000;0000000177777;;0;3;(0,11)",128,0,255,1
 963               		.stabs	"rxlen:r(0,4)",64,0,256,20
 964               		.stabn	192,0,0,.LBB6-ax88796BeginPacketRetreive
 965               		.stabn	224,0,0,.LBE6-ax88796BeginPacketRetreive
 966               	.Lscope7:
 967               		.stabs	"",36,0,0,.Lscope7-ax88796BeginPacketRetreive
 968               		.stabs	"ax88796RetreivePacketData:F(0,20)",36,0,328,ax88796RetreivePacketData
 969               		.stabs	"localBuffer:P(1,1)",64,0,327,16
 970               		.stabs	"length:P(0,4)",64,0,327,14
 971               	.global	ax88796RetreivePacketData
 972               		.type	ax88796RetreivePacketData, @function
 973               	ax88796RetreivePacketData:
 325:ax88796.c     **** 
 326:ax88796.c     **** 
 327:ax88796.c     **** void ax88796RetreivePacketData(unsigned char * localBuffer, unsigned int length)
 328:ax88796.c     **** {
 974               		.stabn 68,0,328,.LM139-ax88796RetreivePacketData
 975               	.LM139:
 976               	/* prologue: frame size=0 */
 977 03fa EF92      		push r14
 978 03fc FF92      		push r15
 979 03fe 0F93      		push r16
 980 0400 1F93      		push r17
 981 0402 CF93      		push r28
 982 0404 DF93      		push r29
 983               	/* prologue end (size=6) */
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cckxaaaa.s 			page 24


 984 0406 8C01      		movw r16,r24
 985 0408 7B01      		movw r14,r22
 329:ax88796.c     **** 	unsigned int i;
 330:ax88796.c     **** 	
 331:ax88796.c     **** 	// initiate DMA to transfer the data
 332:ax88796.c     **** 	ax88796Write(RBCR0, (unsigned char)length);
 986               		.stabn 68,0,332,.LM140-ax88796RetreivePacketData
 987               	.LM140:
 988               	.LBB7:
 989 040a 8AE0      		ldi r24,lo8(10)
 990 040c 0E94 0000 		call ax88796Write
 333:ax88796.c     **** 	ax88796Write(RBCR1, (unsigned char)(length>>8));
 991               		.stabn 68,0,333,.LM141-ax88796RetreivePacketData
 992               	.LM141:
 993 0410 8F2D      		mov r24,r15
 994 0412 9927      		clr r25
 995 0414 682F      		mov r22,r24
 996 0416 8BE0      		ldi r24,lo8(11)
 997 0418 0E94 0000 		call ax88796Write
 334:ax88796.c     **** 	ax88796Write(RSAR0, (unsigned char)currentRetreiveAddress);
 998               		.stabn 68,0,334,.LM142-ax88796RetreivePacketData
 999               	.LM142:
 1000 041c 6091 0000 		lds r22,currentRetreiveAddress
 1001 0420 88E0      		ldi r24,lo8(8)
 1002 0422 0E94 0000 		call ax88796Write
 335:ax88796.c     **** 	ax88796Write(RSAR1, (unsigned char)(currentRetreiveAddress>>8));
 1003               		.stabn 68,0,335,.LM143-ax88796RetreivePacketData
 1004               	.LM143:
 1005 0426 8091 0000 		lds r24,currentRetreiveAddress
 1006 042a 9091 0000 		lds r25,(currentRetreiveAddress)+1
 1007 042e 892F      		mov r24,r25
 1008 0430 9927      		clr r25
 1009 0432 682F      		mov r22,r24
 1010 0434 89E0      		ldi r24,lo8(9)
 1011 0436 0E94 0000 		call ax88796Write
 336:ax88796.c     **** 	ax88796Write(CR, (RD0|START));
 1012               		.stabn 68,0,336,.LM144-ax88796RetreivePacketData
 1013               	.LM144:
 1014 043a 6AE0      		ldi r22,lo8(10)
 1015 043c 80E0      		ldi r24,lo8(0)
 1016 043e 0E94 0000 		call ax88796Write
 337:ax88796.c     **** 	for(i=0;i<length;i++)
 1017               		.stabn 68,0,337,.LM145-ax88796RetreivePacketData
 1018               	.LM145:
 1019 0442 C0E0      		ldi r28,lo8(0)
 1020 0444 D0E0      		ldi r29,hi8(0)
 1021 0446 CE15      		cp r28,r14
 1022 0448 DF05      		cpc r29,r15
 1023 044a 50F4      		brsh .L58
 1024               	.L49:
 338:ax88796.c     **** 		localBuffer[i] = ax88796Read(RDMAPORT);
 1025               		.stabn 68,0,338,.LM146-ax88796RetreivePacketData
 1026               	.LM146:
 1027 044c 80E1      		ldi r24,lo8(16)
 1028 044e 0E94 0000 		call ax88796Read
 1029 0452 F801      		movw r30,r16
 1030 0454 8193      		st Z+,r24
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cckxaaaa.s 			page 25


 1031 0456 8F01      		movw r16,r30
 1032               		.stabn 68,0,337,.LM147-ax88796RetreivePacketData
 1033               	.LM147:
 1034 0458 2196      		adiw r28,1
 1035 045a CE15      		cp r28,r14
 1036 045c DF05      		cpc r29,r15
 1037 045e B0F3      		brlo .L49
 1038               	.L58:
 339:ax88796.c     **** 
 340:ax88796.c     **** 	// end the DMA operation
 341:ax88796.c     **** 	ax88796Write(CR, (RD2|START));
 1039               		.stabn 68,0,341,.LM148-ax88796RetreivePacketData
 1040               	.LM148:
 1041 0460 62E2      		ldi r22,lo8(34)
 1042 0462 80E0      		ldi r24,lo8(0)
 1043 0464 0E94 0000 		call ax88796Write
 342:ax88796.c  

⌨️ 快捷键说明

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