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

📄 uip_arch.lst

📁 一个AVR 上的UIP移植程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 114               		.stabs	"",36,0,0,.Lscope0-uip_add_rcv_nxt
 115               		.stabs	"uip_add_ack_nxt:F(0,20)",36,0,117,uip_add_ack_nxt
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s 			page 5


 116               		.stabs	"n:P(3,1)",64,0,116,25
 117               	.global	uip_add_ack_nxt
 118               		.type	uip_add_ack_nxt, @function
 119               	uip_add_ack_nxt:
 114:uip_arch.c    **** /*-----------------------------------------------------------------------------------*/
 115:uip_arch.c    **** void
 116:uip_arch.c    **** uip_add_ack_nxt(u8_t n)
 117:uip_arch.c    **** {
 120               		.stabn 68,0,117,.LM10-uip_add_ack_nxt
 121               	.LM10:
 122               	/* prologue: frame size=0 */
 123               	/* prologue end (size=0) */
 124 0050 982F      		mov r25,r24
 118:uip_arch.c    ****   uip_conn->ack_nxt[3] += n;
 125               		.stabn 68,0,118,.LM11-uip_add_ack_nxt
 126               	.LM11:
 127 0052 E091 0000 		lds r30,uip_conn
 128 0056 F091 0000 		lds r31,(uip_conn)+1
 129 005a 8489      		ldd r24,Z+20
 130 005c 890F      		add r24,r25
 131 005e 848B      		std Z+20,r24
 119:uip_arch.c    ****   if(uip_conn->ack_nxt[3] < n) {
 132               		.stabn 68,0,119,.LM12-uip_add_ack_nxt
 133               	.LM12:
 134 0060 E091 0000 		lds r30,uip_conn
 135 0064 F091 0000 		lds r31,(uip_conn)+1
 136 0068 8489      		ldd r24,Z+20
 137 006a 8917      		cp r24,r25
 138 006c B8F4      		brsh .L5
 120:uip_arch.c    ****     ++uip_conn->ack_nxt[2];   
 139               		.stabn 68,0,120,.LM13-uip_add_ack_nxt
 140               	.LM13:
 141 006e 8389      		ldd r24,Z+19
 142 0070 8F5F      		subi r24,lo8(-(1))
 143 0072 838B      		std Z+19,r24
 121:uip_arch.c    ****     if(uip_conn->ack_nxt[2] == 0) {
 144               		.stabn 68,0,121,.LM14-uip_add_ack_nxt
 145               	.LM14:
 146 0074 E091 0000 		lds r30,uip_conn
 147 0078 F091 0000 		lds r31,(uip_conn)+1
 148 007c 8389      		ldd r24,Z+19
 149 007e 8823      		tst r24
 150 0080 69F4      		brne .L5
 122:uip_arch.c    ****       ++uip_conn->ack_nxt[1];
 151               		.stabn 68,0,122,.LM15-uip_add_ack_nxt
 152               	.LM15:
 153 0082 8289      		ldd r24,Z+18
 154 0084 8F5F      		subi r24,lo8(-(1))
 155 0086 828B      		std Z+18,r24
 123:uip_arch.c    ****       if(uip_conn->ack_nxt[1] == 0) {
 156               		.stabn 68,0,123,.LM16-uip_add_ack_nxt
 157               	.LM16:
 158 0088 E091 0000 		lds r30,uip_conn
 159 008c F091 0000 		lds r31,(uip_conn)+1
 160 0090 8289      		ldd r24,Z+18
 161 0092 8823      		tst r24
 162 0094 19F4      		brne .L5
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s 			page 6


 124:uip_arch.c    **** 	++uip_conn->ack_nxt[0];
 163               		.stabn 68,0,124,.LM17-uip_add_ack_nxt
 164               	.LM17:
 165 0096 8189      		ldd r24,Z+17
 166 0098 8F5F      		subi r24,lo8(-(1))
 167 009a 818B      		std Z+17,r24
 125:uip_arch.c    ****       }
 126:uip_arch.c    ****     }
 127:uip_arch.c    ****   }
 128:uip_arch.c    **** }
 168               		.stabn 68,0,128,.LM18-uip_add_ack_nxt
 169               	.LM18:
 170               	.L5:
 171 009c 0895      		ret
 172               	/* epilogue: frame size=0 */
 173 009e 0895      		ret
 174               	/* epilogue end (size=1) */
 175               	/* function uip_add_ack_nxt size 40 (39) */
 176               		.size	uip_add_ack_nxt, .-uip_add_ack_nxt
 177               	.Lscope1:
 178               		.stabs	"",36,0,0,.Lscope1-uip_add_ack_nxt
 179               		.stabs	"chksum:f(3,2)",36,0,133,chksum
 180               		.stabs	"sdata:P(1,1)=*(3,2)",64,0,132,30
 181               		.stabs	"len:P(3,2)",64,0,132,22
 182               		.type	chksum, @function
 183               	chksum:
 129:uip_arch.c    **** /*-----------------------------------------------------------------------------------*/
 130:uip_arch.c    **** #endif /* UIP_BUFSIZE > 255 */
 131:uip_arch.c    **** static u16_t
 132:uip_arch.c    **** chksum(u16_t *sdata, u16_t len)
 133:uip_arch.c    **** {
 184               		.stabn 68,0,133,.LM19-chksum
 185               	.LM19:
 186               	/* prologue: frame size=0 */
 187               	/* prologue end (size=0) */
 188 00a0 FC01      		movw r30,r24
 134:uip_arch.c    ****   u16_t acc;
 135:uip_arch.c    ****   
 136:uip_arch.c    ****   for(acc = 0; len > 1; len -= 2) {
 189               		.stabn 68,0,136,.LM20-chksum
 190               	.LM20:
 191               	.LBB2:
 192 00a2 20E0      		ldi r18,lo8(0)
 193 00a4 30E0      		ldi r19,hi8(0)
 194 00a6 6230      		cpi r22,2
 195 00a8 7105      		cpc r23,__zero_reg__
 196 00aa 78F0      		brlo .L19
 197               	.L15:
 137:uip_arch.c    ****     acc += *sdata;
 198               		.stabn 68,0,137,.LM21-chksum
 199               	.LM21:
 200 00ac 8081      		ld r24,Z
 201 00ae 9181      		ldd r25,Z+1
 202 00b0 280F      		add r18,r24
 203 00b2 391F      		adc r19,r25
 138:uip_arch.c    ****     if(acc < *sdata) {
 204               		.stabn 68,0,138,.LM22-chksum
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s 			page 7


 205               	.LM22:
 206 00b4 2817      		cp r18,r24
 207 00b6 3907      		cpc r19,r25
 208 00b8 10F4      		brsh .L14
 139:uip_arch.c    ****       /* Overflow, so we add the carry to acc (i.e., increase by
 140:uip_arch.c    ****          one). */
 141:uip_arch.c    ****       ++acc;
 209               		.stabn 68,0,141,.LM23-chksum
 210               	.LM23:
 211 00ba 2F5F      		subi r18,lo8(-(1))
 212 00bc 3F4F      		sbci r19,hi8(-(1))
 213               	.L14:
 142:uip_arch.c    ****     }
 143:uip_arch.c    ****     ++sdata;
 214               		.stabn 68,0,143,.LM24-chksum
 215               	.LM24:
 216 00be 3296      		adiw r30,2
 217               		.stabn 68,0,136,.LM25-chksum
 218               	.LM25:
 219 00c0 6250      		subi r22,lo8(-(-2))
 220 00c2 7040      		sbci r23,hi8(-(-2))
 221 00c4 6230      		cpi r22,2
 222 00c6 7105      		cpc r23,__zero_reg__
 223 00c8 88F7      		brsh .L15
 224               	.L19:
 144:uip_arch.c    ****   }
 145:uip_arch.c    **** 
 146:uip_arch.c    ****   /* add up any odd byte */
 147:uip_arch.c    ****   if(len == 1) {
 225               		.stabn 68,0,147,.LM26-chksum
 226               	.LM26:
 227 00ca 6130      		cpi r22,1
 228 00cc 7105      		cpc r23,__zero_reg__
 229 00ce 49F4      		brne .L16
 148:uip_arch.c    ****     acc += htons(((u16_t)(*(u8_t *)sdata)) << 8);
 230               		.stabn 68,0,148,.LM27-chksum
 231               	.LM27:
 232 00d0 8081      		ld r24,Z
 233 00d2 9927      		clr r25
 234 00d4 280F      		add r18,r24
 235 00d6 391F      		adc r19,r25
 149:uip_arch.c    ****     if(acc < htons(((u16_t)(*(u8_t *)sdata)) << 8)) {
 236               		.stabn 68,0,149,.LM28-chksum
 237               	.LM28:
 238 00d8 2817      		cp r18,r24
 239 00da 3907      		cpc r19,r25
 240 00dc 10F4      		brsh .L16
 150:uip_arch.c    ****       ++acc;
 241               		.stabn 68,0,150,.LM29-chksum
 242               	.LM29:
 243 00de 2F5F      		subi r18,lo8(-(1))
 244 00e0 3F4F      		sbci r19,hi8(-(1))
 245               	.L16:
 151:uip_arch.c    ****     }
 152:uip_arch.c    ****   }
 153:uip_arch.c    **** 
 154:uip_arch.c    ****   return acc;
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s 			page 8


 155:uip_arch.c    **** }
 246               		.stabn 68,0,155,.LM30-chksum
 247               	.LM30:
 248               	.LBE2:
 249 00e2 C901      		movw r24,r18
 250               	/* epilogue: frame size=0 */
 251 00e4 0895      		ret
 252               	/* epilogue end (size=1) */
 253               	/* function chksum size 35 (34) */
 254               		.size	chksum, .-chksum
 255               		.stabs	"acc:r(3,2)",64,0,134,18
 256               		.stabn	192,0,0,.LBB2-chksum
 257               		.stabn	224,0,0,.LBE2-chksum
 258               	.Lscope2:
 259               		.stabs	"",36,0,0,.Lscope2-chksum
 260               		.stabs	"uip_ipchksum:F(3,2)",36,0,159,uip_ipchksum
 261               	.global	uip_ipchksum
 262               		.type	uip_ipchksum, @function
 263               	uip_ipchksum:
 156:uip_arch.c    **** /*-----------------------------------------------------------------------------------*/
 157:uip_arch.c    **** u16_t
 158:uip_arch.c    **** uip_ipchksum(void)
 159:uip_arch.c    **** {
 264               		.stabn 68,0,159,.LM31-uip_ipchksum
 265               	.LM31:
 266               	/* prologue: frame size=0 */
 267               	/* prologue end (size=0) */
 160:uip_arch.c    ****   return chksum((u16_t *)&uip_buf[UIP_LLH_LEN], 20);
 268               		.stabn 68,0,160,.LM32-uip_ipchksum
 269               	.LM32:
 270 00e6 64E1      		ldi r22,lo8(20)
 271 00e8 70E0      		ldi r23,hi8(20)
 272 00ea 80E0      		ldi r24,lo8(uip_buf+14)
 273 00ec 90E0      		ldi r25,hi8(uip_buf+14)
 274 00ee 0E94 0000 		call chksum
 161:uip_arch.c    **** }
 275               		.stabn 68,0,161,.LM33-uip_ipchksum
 276               	.LM33:
 277               	/* epilogue: frame size=0 */
 278 00f2 0895      		ret
 279               	/* epilogue end (size=1) */
 280               	/* function uip_ipchksum size 7 (6) */
 281               		.size	uip_ipchksum, .-uip_ipchksum
 282               	.Lscope3:
 283               		.stabs	"",36,0,0,.Lscope3-uip_ipchksum
 284               		.stabs	"uip_tcpchksum:F(3,2)",36,0,165,uip_tcpchksum
 285               	.global	uip_tcpchksum
 286               		.type	uip_tcpchksum, @function
 287               	uip_tcpchksum:
 162:uip_arch.c    **** /*-----------------------------------------------------------------------------------*/
 163:uip_arch.c    **** u16_t
 164:uip_arch.c    **** uip_tcpchksum(void)
 165:uip_arch.c    **** {

⌨️ 快捷键说明

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