   1               		.file	"main.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
  15               	.Ltext0:
  16               	.global	checksum
  18               	checksum:
  19               	.LFB6:
  20               	.LM1:
  21               	.LVL0:
  22 0000 EF92      		push r14
  23 0002 FF92      		push r15
  24 0004 0F93      		push r16
  25 0006 1F93      		push r17
  26 0008 CF93      		push r28
  27 000a DF93      		push r29
  28               	/* prologue: function */
  29               	/* frame size = 0 */
  30 000c 7C01      		movw r14,r24
  31               	.LM2:
  32 000e 4130      		cpi r20,lo8(1)
  33 0010 01F0      		breq .L2
  34               	.LVL1:
  35 0012 20E0      		ldi r18,lo8(0)
  36 0014 30E0      		ldi r19,hi8(0)
  37 0016 40E0      		ldi r20,hlo8(0)
  38 0018 50E0      		ldi r21,hhi8(0)
  39               	.LVL2:
  40 001a 00C0      		rjmp .L3
  41               	.LVL3:
  42               	.L2:
  43               	.LM3:
  44 001c 6850      		subi r22,lo8(-(-8))
  45 001e 7040      		sbci r23,hi8(-(-8))
  46               	.LVL4:
  47 0020 9B01      		movw r18,r22
  48               	.LVL5:
  49 0022 40E0      		ldi r20,lo8(0)
  50 0024 50E0      		ldi r21,hi8(0)
  51               	.LVL6:
  52 0026 685F      		subi r22,lo8(-(8))
  53 0028 7F4F      		sbci r23,hi8(-(8))
  54 002a 2F5E      		subi r18,lo8(-(17))
  55 002c 3F4F      		sbci r19,hi8(-(17))
  56 002e 4F4F      		sbci r20,hlo8(-(17))
  57 0030 5F4F      		sbci r21,hhi8(-(17))
  58               	.LVL7:
  59               	.L3:
  60 0032 E701      		movw r28,r14
  61 0034 8B01      		movw r16,r22
  62 0036 00C0      		rjmp .L4
  63               	.LVL8:
  64               	.L5:
  65               	.LM4:
  66 0038 F881      		ld r31,Y
  67 003a E0E0      		ldi r30,lo8(0)
  68 003c 8981      		ldd r24,Y+1
  69 003e 90E0      		ldi r25,lo8(0)
  70 0040 8E2B      		or r24,r30
  71 0042 9F2B      		or r25,r31
  72 0044 A0E0      		ldi r26,lo8(0)
  73 0046 B0E0      		ldi r27,hi8(0)
  74 0048 280F      		add r18,r24
  75 004a 391F      		adc r19,r25
  76 004c 4A1F      		adc r20,r26
  77 004e 5B1F      		adc r21,r27
  78               	.LM5:
  79 0050 2296      		adiw r28,2
  80               	.LM6:
  81 0052 0250      		subi r16,lo8(-(-2))
  82 0054 1040      		sbci r17,hi8(-(-2))
  83               	.LVL9:
  84               	.L4:
  85               	.LM7:
  86 0056 0230      		cpi r16,2
  87 0058 1105      		cpc r17,__zero_reg__
  88 005a 00F4      		brsh .L5
  89 005c FB01      		movw r30,r22
  90               	.LVL10:
  91 005e EE7F      		andi r30,lo8(-2)
  92 0060 EE0D      		add r30,r14
  93 0062 FF1D      		adc r31,r15
  94               	.LM8:
  95 0064 60FF      		sbrs r22,0
  96 0066 00C0      		rjmp .L9
  97               	.LVL11:
  98               	.LM9:
  99 0068 9081      		ld r25,Z
 100 006a 80E0      		ldi r24,lo8(0)
 101 006c AA27      		clr r26
 102 006e 97FD      		sbrc r25,7
 103 0070 A095      		com r26
 104 0072 BA2F      		mov r27,r26
 105 0074 00C0      		rjmp .L10
 106               	.L7:
 107               	.LM10:
 108 0076 4070      		andi r20,hlo8(65535)
 109 0078 5070      		andi r21,hhi8(65535)
 110               	.L10:
 111 007a 280F      		add r18,r24
 112 007c 391F      		adc r19,r25
 113 007e 4A1F      		adc r20,r26
 114 0080 5B1F      		adc r21,r27
 115               	.L9:
 116               	.LM11:
 117 0082 CA01      		movw r24,r20
 118 0084 AA27      		clr r26
 119 0086 BB27      		clr r27
 120 0088 0097      		sbiw r24,0
 121 008a A105      		cpc r26,__zero_reg__
 122 008c B105      		cpc r27,__zero_reg__
 123 008e 01F4      		brne .L7
 124 0090 2095      		com r18
 125 0092 3095      		com r19
 126               	.LVL12:
 127               	.LM12:
 128 0094 C901      		movw r24,r18
 129               	/* epilogue start */
 130 0096 DF91      		pop r29
 131 0098 CF91      		pop r28
 132 009a 1F91      		pop r17
 133 009c 0F91      		pop r16
 134 009e FF90      		pop r15
 135 00a0 EF90      		pop r14
 136 00a2 0895      		ret
 137               	.LFE6:
 139               	.global	init_ip_arp
 141               	init_ip_arp:
 142               	.LFB7:
 143               	.LM13:
 144               	.LVL13:
 145               	/* prologue: function */
 146               	/* frame size = 0 */
 147 00a4 AC01      		movw r20,r24
 148               	.LM14:
 149 00a6 20E0      		ldi r18,lo8(0)
 150 00a8 30E0      		ldi r19,hi8(0)
 151               	.LVL14:
 152               	.L12:
 153               	.LM15:
 154 00aa F901      		movw r30,r18
 155 00ac E050      		subi r30,lo8(-(ipaddr))
 156 00ae F040      		sbci r31,hi8(-(ipaddr))
 157 00b0 DB01      		movw r26,r22
 158 00b2 A20F      		add r26,r18
 159 00b4 B31F      		adc r27,r19
 160 00b6 8C91      		ld r24,X
 161 00b8 8083      		st Z,r24
 162 00ba 2F5F      		subi r18,lo8(-(1))
 163 00bc 3F4F      		sbci r19,hi8(-(1))
 164               	.LM16:
 165 00be 2430      		cpi r18,4
 166 00c0 3105      		cpc r19,__zero_reg__
 167 00c2 01F4      		brne .L12
 168 00c4 20E0      		ldi r18,lo8(0)
 169 00c6 30E0      		ldi r19,hi8(0)
 170               	.L13:
 171               	.LM17:
 172 00c8 F901      		movw r30,r18
 173 00ca E050      		subi r30,lo8(-(macaddr))
 174 00cc F040      		sbci r31,hi8(-(macaddr))
 175 00ce DA01      		movw r26,r20
 176 00d0 A20F      		add r26,r18
 177 00d2 B31F      		adc r27,r19
 178 00d4 8C91      		ld r24,X
 179 00d6 8083      		st Z,r24
 180 00d8 2F5F      		subi r18,lo8(-(1))
 181 00da 3F4F      		sbci r19,hi8(-(1))
 182               	.LM18:
 183 00dc 2630      		cpi r18,6
 184 00de 3105      		cpc r19,__zero_reg__
 185 00e0 01F4      		brne .L13
 186               	/* epilogue start */
 187               	.LM19:
 188 00e2 0895      		ret
 189               	.LFE7:
 191               	.global	eth_type_is_arp_and_my_ip
 193               	eth_type_is_arp_and_my_ip:
 194               	.LFB8:
 195               	.LM20:
 196               	.LVL15:
 197               	/* prologue: function */
 198               	/* frame size = 0 */
 199 00e4 FC01      		movw r30,r24
 200               	.LM21:
 201 00e6 6932      		cpi r22,41
 202 00e8 7105      		cpc r23,__zero_reg__
 203 00ea 00F0      		brlo .L18
 204               	.LVL16:
 205               	.LM22:
 206 00ec 8485      		ldd r24,Z+12
 207 00ee 8830      		cpi r24,lo8(8)
 208 00f0 01F4      		brne .L18
 209 00f2 8585      		ldd r24,Z+13
 210 00f4 8630      		cpi r24,lo8(6)
 211 00f6 01F4      		brne .L18
 212 00f8 DF01      		movw r26,r30
 213 00fa 9696      		adiw r26,38
 214 00fc E0E0      		ldi r30,lo8(ipaddr)
 215 00fe F0E0      		ldi r31,hi8(ipaddr)
 216               	.LVL17:
 217               	.L19:
 218               	.LM23:
 219 0100 9C91      		ld r25,X
 220 0102 8081      		ld r24,Z
 221 0104 9817      		cp r25,r24
 222 0106 01F4      		brne .L18
 223 0108 1196      		adiw r26,1
 224 010a 3196      		adiw r30,1
 225               	.LM24:
 226 010c 80E0      		ldi r24,hi8(ipaddr+4)
 227 010e E030      		cpi r30,lo8(ipaddr+4)
 228 0110 F807      		cpc r31,r24
 229 0112 01F4      		brne .L19
 230 0114 81E0      		ldi r24,lo8(1)
 231 0116 0895      		ret
 232               	.LVL18:
 233               	.L18:
 234 0118 80E0      		ldi r24,lo8(0)
 235               	.LM25:
 236 011a 0895      		ret
 237               	.LFE8:
 239               	.global	eth_type_is_ip_and_my_ip
 241               	eth_type_is_ip_and_my_ip:
 242               	.LFB9:
 243               	.LM26:
 244               	.LVL19:
 245               	/* prologue: function */
 246               	/* frame size = 0 */
 247 011c FC01      		movw r30,r24
 248               	.LM27:
 249 011e 6A32      		cpi r22,42
 250 0120 7105      		cpc r23,__zero_reg__
 251 0122 00F0      		brlo .L24
 252               	.LVL20:
 253               	.LM28:
 254 0124 8485      		ldd r24,Z+12
 255 0126 8830      		cpi r24,lo8(8)
 256 0128 01F4      		brne .L24
 257 012a 8585      		ldd r24,Z+13
 258 012c 8823      		tst r24
 259 012e 01F4      		brne .L24
 260               	.LM29:
 261 0130 8685      		ldd r24,Z+14
 262 0132 8534      		cpi r24,lo8(69)
 263 0134 01F4      		brne .L24
 264 0136 DF01      		movw r26,r30
 265 0138 E0E0      		ldi r30,lo8(ipaddr)
 266 013a F0E0      		ldi r31,hi8(ipaddr)
 267               	.LVL21:
 268               	.L25:
 269               	.LM30:
 270 013c 5E96      		adiw r26,30
 271 013e 9C91      		ld r25,X
 272 0140 5E97      		sbiw r26,30
 273 0142 8081      		ld r24,Z
 274 0144 9817      		cp r25,r24
 275 0146 01F4      		brne .L24
 276 0148 1196      		adiw r26,1
 277 014a 3196      		adiw r30,1
 278               	.LM31:
 279 014c 80E0      		ldi r24,hi8(ipaddr+4)
 280 014e E030      		cpi r30,lo8(ipaddr+4)
 281 0150 F807      		cpc r31,r24
 282 0152 01F4      		brne .L25
 283 0154 81E0      		ldi r24,lo8(1)
 284 0156 0895      		ret
 285               	.LVL22:
 286               	.L24:
 287 0158 80E0      		ldi r24,lo8(0)
 288               	.LM32:
 289 015a 0895      		ret
 290               	.LFE9:
 292               	.global	make_eth
 294               	make_eth:
 295               	.LFB10:
 296               	.LM33:
 297               	.LVL23:
 298               	/* prologue: function */
 299               	/* frame size = 0 */
 300               	.LM34:
 301 015c FC01      		movw r30,r24
 302               	.LVL24:
 303 015e A0E0      		ldi r26,lo8(macaddr)
 304 0160 B0E0      		ldi r27,hi8(macaddr)
 305               	.L30:
 306               	.LM35:
 307 0162 8681      		ldd r24,Z+6
 308 0164 8083      		st Z,r24
 309               	.LM36:
 310 0166 8D91      		ld r24,X+
 311 0168 8683      		std Z+6,r24
 312 016a 3196      		adiw r30,1
 313               	.LM37:
 314 016c 80E0      		ldi r24,hi8(macaddr+6)
 315 016e A030      		cpi r26,lo8(macaddr+6)
 316 0170 B807      		cpc r27,r24
 317 0172 01F4      		brne .L30
 318               	/* epilogue start */
 319               	.LM38:
 320 0174 0895      		ret
 321               	.LFE10:
 323               	.global	fill_ip_hdr_checksum
 325               	fill_ip_hdr_checksum:
 326               	.LFB11:
 327               	.LM39:
 328               	.LVL25:
 329 0176 0F93      		push r16
 330 0178 1F93      		push r17
 331               	/* prologue: function */
 332               	/* frame size = 0 */
 333 017a 8C01      		movw r16,r24
 334               	.LM40:
 335 017c FC01      		movw r30,r24
 336 017e 108E      		std Z+24,__zero_reg__
 337               	.LM41:
 338 0180 118E      		std Z+25,__zero_reg__
 339               	.LM42:
 340 0182 80E4      		ldi r24,lo8(64)
 341               	.LVL26:
 342 0184 848B      		std Z+20,r24
 343               	.LM43:
 344 0186 158A      		std Z+21,__zero_reg__
 345               	.LM44:
 346 0188 868B      		std Z+22,r24
 347               	.LM45:
 348 018a C801      		movw r24,r16
 349 018c 0E96      		adiw r24,14
 350 018e 64E1      		ldi r22,lo8(20)
 351 0190 70E0      		ldi r23,hi8(20)
 352 0192 40E0      		ldi r20,lo8(0)
 353 0194 0E94 0000 		call checksum
 354               	.LM46:
 355 0198 F801      		movw r30,r16
 356 019a 908F      		std Z+24,r25
 357               	.LM47:
 358 019c 818F      		std Z+25,r24
 359               	/* epilogue start */
 360               	.LM48:
 361 019e 1F91      		pop r17
 362 01a0 0F91      		pop r16
 363               	.LVL27:
 364 01a2 0895      		ret
 365               	.LFE11:
 367               	.global	make_ip
 369               	make_ip:
 370               	.LFB12:
 371               	.LM49:
 372               	.LVL28:
 373               	/* prologue: function */
 374               	/* frame size = 0 */
 375 01a4 AC01      		movw r20,r24
 376               	.LVL29:
 377               	.LM50:
 378 01a6 FC01      		movw r30,r24
 379 01a8 A0E0      		ldi r26,lo8(ipaddr)
 380 01aa B0E0      		ldi r27,hi8(ipaddr)
 381               	.L36:
 382               	.LM51:
 383 01ac 828D      		ldd r24,Z+26
 384 01ae 868F      		std Z+30,r24
 385               	.LM52:
 386 01b0 8D91      		ld r24,X+
 387 01b2 828F      		std Z+26,r24
 388 01b4 3196      		adiw r30,1
 389               	.LM53:
 390 01b6 80E0      		ldi r24,hi8(ipaddr+4)
 391 01b8 A030      		cpi r26,lo8(ipaddr+4)
 392 01ba B807      		cpc r27,r24
 393 01bc 01F4      		brne .L36
 394               	.LM54:
 395 01be CA01      		movw r24,r20
 396 01c0 0E94 0000 		call fill_ip_hdr_checksum
 397               	/* epilogue start */
 398               	.LM55:
 399 01c4 0895      		ret
 400               	.LFE12:
 402               	.global	enc28j60ReadOp
 404               	enc28j60ReadOp:
 405               	.LFB16:
 406               	.LM56:
 407               	.LVL30:
 408               	/* prologue: function */
 409               	/* frame size = 0 */
 410               	.LM57:
 411 01c6 2A98      		cbi 37-32,2
 412               	.LM58:
 413 01c8 962F      		mov r25,r22
 414 01ca 9F71      		andi r25,lo8(31)
 415 01cc 982B      		or r25,r24
 416 01ce 9EBD      		out 78-32,r25
 417               	.L40:
 418               	.LM59:
 419 01d0 0DB4      		in __tmp_reg__,77-32
 420 01d2 07FE      		sbrs __tmp_reg__,7
 421 01d4 00C0      		rjmp .L40
 422               	.LM60:
 423 01d6 1EBC      		out 78-32,__zero_reg__
 424               	.L41:
 425               	.LM61:
 426 01d8 0DB4      		in __tmp_reg__,77-32
 427 01da 07FE      		sbrs __tmp_reg__,7
 428 01dc 00C0      		rjmp .L41
 429               	.LM62:
 430 01de 67FF      		sbrs r22,7
 431 01e0 00C0      		rjmp .L42
 432               	.LM63:
 433 01e2 1EBC      		out 78-32,__zero_reg__
 434               	.L43:
 435               	.LM64:
 436 01e4 0DB4      		in __tmp_reg__,77-32
 437 01e6 07FE      		sbrs __tmp_reg__,7
 438 01e8 00C0      		rjmp .L43
 439               	.L42:
 440               	.LM65:
 441 01ea 2A9A      		sbi 37-32,2
 442               	.LM66:
 443 01ec 8EB5      		in r24,78-32
 444               	.LVL31:
 445               	/* epilogue start */
 446               	.LM67:
 447 01ee 0895      		ret
 448               	.LFE16:
 450               	.global	enc28j60WriteOp
 452               	enc28j60WriteOp:
 453               	.LFB17:
 454               	.LM68:
 455               	.LVL32:
 456               	/* prologue: function */
 457               	/* frame size = 0 */
 458               	.LM69:
 459 01f0 2A98      		cbi 37-32,2
 460               	.LM70:
 461 01f2 6F71      		andi r22,lo8(31)
 462               	.LVL33:
 463 01f4 682B      		or r22,r24
 464 01f6 6EBD      		out 78-32,r22
 465               	.L49:
 466               	.LM71:
 467 01f8 0DB4      		in __tmp_reg__,77-32
 468 01fa 07FE      		sbrs __tmp_reg__,7
 469 01fc 00C0      		rjmp .L49
 470               	.LM72:
 471 01fe 4EBD      		out 78-32,r20
 472               	.L50:
 473               	.LM73:
 474 0200 0DB4      		in __tmp_reg__,77-32
 475 0202 07FE      		sbrs __tmp_reg__,7
 476 0204 00C0      		rjmp .L50
 477               	.LM74:
 478 0206 2A9A      		sbi 37-32,2
 479               	/* epilogue start */
 480               	.LM75:
 481 0208 0895      		ret
 482               	.LFE17:
 484               	.global	enc28j60ReadBuffer
 486               	enc28j60ReadBuffer:
 487               	.LFB18:
 488               	.LM76:
 489               	.LVL34:
 490               	/* prologue: function */
 491               	/* frame size = 0 */
 492 020a AC01      		movw r20,r24
 493 020c FB01      		movw r30,r22
 494               	.LM77:
 495 020e 2A98      		cbi 37-32,2
 496               	.LM78:
 497 0210 8AE3      		ldi r24,lo8(58)
 498               	.LVL35:
 499 0212 8EBD      		out 78-32,r24
 500               	.LVL36:
 501               	.L55:
 502               	.LM79:
 503 0214 0DB4      		in __tmp_reg__,77-32
 504 0216 07FE      		sbrs __tmp_reg__,7
 505 0218 00C0      		rjmp .L55
 506 021a 9A01      		movw r18,r20
 507 021c DF01      		movw r26,r30
 508 021e 00C0      		rjmp .L56
 509               	.LVL37:
 510               	.L58:
 511               	.LM80:
 512 0220 1EBC      		out 78-32,__zero_reg__
 513               	.L57:
 514               	.LM81:
 515 0222 0DB4      		in __tmp_reg__,77-32
 516 0224 07FE      		sbrs __tmp_reg__,7
 517 0226 00C0      		rjmp .L57
 518               	.LM82:
 519 0228 2150      		subi r18,lo8(-(-1))
 520 022a 3040      		sbci r19,hi8(-(-1))
 521               	.LM83:
 522 022c 8EB5      		in r24,78-32
 523 022e 8D93      		st X+,r24
 524               	.LVL38:
 525               	.L56:
 526               	.LM84:
 527 0230 2115      		cp r18,__zero_reg__
 528 0232 3105      		cpc r19,__zero_reg__
 529 0234 01F4      		brne .L58
 530               	.LM85:
 531 0236 E40F      		add r30,r20
 532 0238 F51F      		adc r31,r21
 533               	.LVL39:
 534 023a 1082      		st Z,__zero_reg__
 535               	.LM86:
 536 023c 2A9A      		sbi 37-32,2
 537               	/* epilogue start */
 538               	.LM87:
 539 023e 0895      		ret
 540               	.LFE18:
 542               	.global	enc28j60WriteBuffer
 544               	enc28j60WriteBuffer:
 545               	.LFB19:
 546               	.LM88:
 547               	.LVL40:
 548               	/* prologue: function */
 549               	/* frame size = 0 */
 550 0240 9C01      		movw r18,r24
 551 0242 FB01      		movw r30,r22
 552               	.LM89:
 553 0244 2A98      		cbi 37-32,2
 554               	.LM90:
 555 0246 8AE7      		ldi r24,lo8(122)
 556               	.LVL41:
 557 0248 8EBD      		out 78-32,r24
 558               	.LVL42:
 559               	.L63:
 560               	.LM91:
 561 024a 0DB4      		in __tmp_reg__,77-32
 562 024c 07FE      		sbrs __tmp_reg__,7
 563 024e 00C0      		rjmp .L63
 564 0250 00C0      		rjmp .L70
 565               	.L66:
 566               	.LM92:
 567 0252 8081      		ld r24,Z
 568 0254 8EBD      		out 78-32,r24
 569               	.L65:
 570               	.LM93:
 571 0256 0DB4      		in __tmp_reg__,77-32
 572 0258 07FE      		sbrs __tmp_reg__,7
 573 025a 00C0      		rjmp .L65
 574               	.LM94:
 575 025c 2150      		subi r18,lo8(-(-1))
 576 025e 3040      		sbci r19,hi8(-(-1))
 577               	.LM95:
 578 0260 3196      		adiw r30,1
 579               	.LVL43:
 580               	.L70:
 581               	.LM96:
 582 0262 2115      		cp r18,__zero_reg__
 583 0264 3105      		cpc r19,__zero_reg__
 584 0266 01F4      		brne .L66
 585               	.LM97:
 586 0268 2A9A      		sbi 37-32,2
 587               	/* epilogue start */
 588               	.LM98:
 589 026a 0895      		ret
 590               	.LFE19:
 592               	.global	enc28j60SetBank
 594               	enc28j60SetBank:
 595               	.LFB20:
 596               	.LM99:
 597               	.LVL44:
 598 026c 1F93      		push r17
 599 026e CF93      		push r28
 600 0270 DF93      		push r29
 601               	/* prologue: function */
 602               	/* frame size = 0 */
 603 0272 182F      		mov r17,r24
 604               	.LM100:
 605 0274 C82F      		mov r28,r24
 606 0276 D0E0      		ldi r29,lo8(0)
 607 0278 C076      		andi r28,lo8(96)
 608 027a D070      		andi r29,hi8(96)
 609 027c 8091 0000 		lds r24,Enc28j60Bank
 610               	.LVL45:
 611 0280 90E0      		ldi r25,lo8(0)
 612 0282 C817      		cp r28,r24
 613 0284 D907      		cpc r29,r25
 614 0286 01F0      		breq .L73
 615               	.LM101:
 616 0288 80EA      		ldi r24,lo8(-96)
 617 028a 6FE1      		ldi r22,lo8(31)
 618 028c 43E0      		ldi r20,lo8(3)
 619 028e 0E94 0000 		call enc28j60WriteOp
 620               	.LM102:
 621 0292 95E0      		ldi r25,5
 622 0294 D595      	1:	asr r29
 623 0296 C795      		ror r28
 624 0298 9A95      		dec r25
 625 029a 01F4      		brne 1b
 626 029c 80E8      		ldi r24,lo8(-128)
 627 029e 6FE1      		ldi r22,lo8(31)
 628 02a0 4C2F      		mov r20,r28
 629 02a2 0E94 0000 		call enc28j60WriteOp
 630               	.LM103:
 631 02a6 1076      		andi r17,lo8(96)
 632 02a8 1093 0000 		sts Enc28j60Bank,r17
 633               	.L73:
 634               	/* epilogue start */
 635               	.LM104:
 636 02ac DF91      		pop r29
 637 02ae CF91      		pop r28
 638 02b0 1F91      		pop r17
 639               	.LVL46:
 640 02b2 0895      		ret
 641               	.LFE20:
 643               	.global	enc28j60Read
 645               	enc28j60Read:
 646               	.LFB21:
 647               	.LM105:
 648               	.LVL47:
 649 02b4 1F93      		push r17
 650               	/* prologue: function */
 651               	/* frame size = 0 */
 652 02b6 182F      		mov r17,r24
 653               	.LM106:
 654 02b8 0E94 0000 		call enc28j60SetBank
 655               	.LVL48:
 656               	.LM107:
 657 02bc 80E0      		ldi r24,lo8(0)
 658 02be 612F      		mov r22,r17
 659 02c0 0E94 0000 		call enc28j60ReadOp
 660               	/* epilogue start */
 661               	.LM108:
 662 02c4 1F91      		pop r17
 663               	.LVL49:
 664 02c6 0895      		ret
 665               	.LFE21:
 667               	.global	enc28j60Write
 669               	enc28j60Write:
 670               	.LFB22:
 671               	.LM109:
 672               	.LVL50:
 673 02c8 0F93      		push r16
 674 02ca 1F93      		push r17
 675               	/* prologue: function */
 676               	/* frame size = 0 */
 677 02cc 182F      		mov r17,r24
 678 02ce 062F      		mov r16,r22
 679               	.LM110:
 680 02d0 0E94 0000 		call enc28j60SetBank
 681               	.LVL51:
 682               	.LM111:
 683 02d4 80E4      		ldi r24,lo8(64)
 684 02d6 612F      		mov r22,r17
 685 02d8 402F      		mov r20,r16
 686 02da 0E94 0000 		call enc28j60WriteOp
 687               	/* epilogue start */
 688               	.LM112:
 689 02de 1F91      		pop r17
 690               	.LVL52:
 691 02e0 0F91      		pop r16
 692               	.LVL53:
 693 02e2 0895      		ret
 694               	.LFE22:
 696               	.global	enc28j60PhyWrite
 698               	enc28j60PhyWrite:
 699               	.LFB23:
 700               	.LM113:
 701               	.LVL54:
 702 02e4 0F93      		push r16
 703 02e6 1F93      		push r17
 704               	/* prologue: function */
 705               	/* frame size = 0 */
 706 02e8 982F      		mov r25,r24
 707 02ea 162F      		mov r17,r22
 708 02ec 072F      		mov r16,r23
 709               	.LVL55:
 710               	.LM114:
 711 02ee 84ED      		ldi r24,lo8(-44)
 712               	.LVL56:
 713 02f0 692F      		mov r22,r25
 714               	.LVL57:
 715 02f2 0E94 0000 		call enc28j60Write
 716               	.LVL58:
 717               	.LM115:
 718 02f6 86ED      		ldi r24,lo8(-42)
 719 02f8 612F      		mov r22,r17
 720 02fa 0E94 0000 		call enc28j60Write
 721               	.LM116:
 722 02fe 87ED      		ldi r24,lo8(-41)
 723 0300 602F      		mov r22,r16
 724 0302 0E94 0000 		call enc28j60Write
 725               	.LBB48:
 726               	.LBB49:
 727               	.LBB50:
 728               	.LBB51:
 729               	.LM117:
 730 0306 18E2      		ldi r17,lo8(40)
 731               	.LVL59:
 732 0308 00C0      		rjmp .L79
 733               	.L80:
 734 030a 812F      		mov r24,r17
 735               	.LVL60:
 736               	/* #APP */
 737               	 ;  83 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 738 030c 8A95      		1: dec r24
 739 030e 01F4      		brne 1b
 740               	 ;  0 "" 2
 741               	/* #NOAPP */
 742               	.L79:
 743               	.LBE51:
 744               	.LBE50:
 745               	.LBE49:
 746               	.LBE48:
 747               	.LM118:
 748 0310 8AEE      		ldi r24,lo8(-22)
 749               	.LVL61:
 750 0312 0E94 0000 		call enc28j60Read
 751 0316 80FD      		sbrc r24,0
 752 0318 00C0      		rjmp .L80
 753               	/* epilogue start */
 754               	.LM119:
 755 031a 1F91      		pop r17
 756 031c 0F91      		pop r16
 757               	.LVL62:
 758 031e 0895      		ret
 759               	.LFE23:
 761               	.global	enc28j60Init
 763               	enc28j60Init:
 764               	.LFB24:
 765               	.LM120:
 766               	.LVL63:
 767 0320 CF93      		push r28
 768 0322 DF93      		push r29
 769               	/* prologue: function */
 770               	/* frame size = 0 */
 771 0324 EC01      		movw r28,r24
 772               	.LM121:
 773 0326 229A      		sbi 36-32,2
 774               	.LM122:
 775 0328 2A9A      		sbi 37-32,2
 776               	.LM123:
 777 032a 84B1      		in r24,36-32
 778               	.LVL64:
 779 032c 8C62      		ori r24,lo8(44)
 780 032e 84B9      		out 36-32,r24
 781               	.LM124:
 782 0330 2498      		cbi 36-32,4
 783               	.LM125:
 784 0332 2A9A      		sbi 37-32,2
 785               	.LM126:
 786 0334 2B98      		cbi 37-32,3
 787               	.LM127:
 788 0336 2D98      		cbi 37-32,5
 789               	.LM128:
 790 0338 80E5      		ldi r24,lo8(80)
 791 033a 8CBD      		out 76-32,r24
 792               	.LM129:
 793 033c 8DB5      		in r24,77-32
 794 033e 8160      		ori r24,lo8(1)
 795 0340 8DBD      		out 77-32,r24
 796               	.LM130:
 797 0342 8FEF      		ldi r24,lo8(-1)
 798 0344 60E0      		ldi r22,lo8(0)
 799 0346 4FEF      		ldi r20,lo8(-1)
 800 0348 0E94 0000 		call enc28j60WriteOp
 801 034c 84EF      		ldi r24,lo8(500)
 802 034e 91E0      		ldi r25,hi8(500)
 803               	.LVL65:
 804               	.LBB52:
 805               	.LBB53:
 806               	.LBB54:
 807               	.LBB55:
 808               	.LM131:
 809 0350 28EC      		ldi r18,lo8(200)
 810 0352 30E0      		ldi r19,hi8(200)
 811               	.L83:
 812 0354 F901      		movw r30,r18
 813               	.LVL66:
 814               	/* #APP */
 815               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 816 0356 3197      		1: sbiw r30,1
 817 0358 01F4      		brne 1b
 818               	 ;  0 "" 2
 819               	/* #NOAPP */
 820               	.LBE55:
 821               	.LBE54:
 822               	.LM132:
 823 035a 0197      		sbiw r24,1
 824               	.LM133:
 825 035c 01F4      		brne .L83
 826               	.LBE53:
 827               	.LBE52:
 828               	.LM134:
 829 035e 1092 0000 		sts (NextPacketPtr)+1,__zero_reg__
 830 0362 1092 0000 		sts NextPacketPtr,__zero_reg__
 831               	.LM135:
 832 0366 88E0      		ldi r24,lo8(8)
 833               	.LVL67:
 834 0368 60E0      		ldi r22,lo8(0)
 835 036a 0E94 0000 		call enc28j60Write
 836               	.LVL68:
 837               	.LM136:
 838 036e 89E0      		ldi r24,lo8(9)
 839 0370 60E0      		ldi r22,lo8(0)
 840 0372 0E94 0000 		call enc28j60Write
 841               	.LM137:
 842 0376 8CE0      		ldi r24,lo8(12)
 843 0378 60E0      		ldi r22,lo8(0)
 844 037a 0E94 0000 		call enc28j60Write
 845               	.LM138:
 846 037e 8DE0      		ldi r24,lo8(13)
 847 0380 60E0      		ldi r22,lo8(0)
 848 0382 0E94 0000 		call enc28j60Write
 849               	.LM139:
 850 0386 8AE0      		ldi r24,lo8(10)
 851 0388 6EEF      		ldi r22,lo8(-2)
 852 038a 0E94 0000 		call enc28j60Write
 853               	.LM140:
 854 038e 8BE0      		ldi r24,lo8(11)
 855 0390 69E1      		ldi r22,lo8(25)
 856 0392 0E94 0000 		call enc28j60Write
 857               	.LM141:
 858 0396 84E0      		ldi r24,lo8(4)
 859 0398 6FEF      		ldi r22,lo8(-1)
 860 039a 0E94 0000 		call enc28j60Write
 861               	.LM142:
 862 039e 85E0      		ldi r24,lo8(5)
 863 03a0 69E1      		ldi r22,lo8(25)
 864 03a2 0E94 0000 		call enc28j60Write
 865               	.LM143:
 866 03a6 86E0      		ldi r24,lo8(6)
 867 03a8 6FEF      		ldi r22,lo8(-1)
 868 03aa 0E94 0000 		call enc28j60Write
 869               	.LM144:
 870 03ae 87E0      		ldi r24,lo8(7)
 871 03b0 6FE1      		ldi r22,lo8(31)
 872 03b2 0E94 0000 		call enc28j60Write
 873               	.LM145:
 874 03b6 88E3      		ldi r24,lo8(56)
 875 03b8 60EB      		ldi r22,lo8(-80)
 876 03ba 0E94 0000 		call enc28j60Write
 877               	.LM146:
 878 03be 88E2      		ldi r24,lo8(40)
 879 03c0 6FE3      		ldi r22,lo8(63)
 880 03c2 0E94 0000 		call enc28j60Write
 881               	.LM147:
 882 03c6 89E2      		ldi r24,lo8(41)
 883 03c8 60E3      		ldi r22,lo8(48)
 884 03ca 0E94 0000 		call enc28j60Write
 885               	.LM148:
 886 03ce 80E3      		ldi r24,lo8(48)
 887 03d0 69EF      		ldi r22,lo8(-7)
 888 03d2 0E94 0000 		call enc28j60Write
 889               	.LM149:
 890 03d6 81E3      		ldi r24,lo8(49)
 891 03d8 67EF      		ldi r22,lo8(-9)
 892 03da 0E94 0000 		call enc28j60Write
 893               	.LM150:
 894 03de 80EC      		ldi r24,lo8(-64)
 895 03e0 6DE0      		ldi r22,lo8(13)
 896 03e2 0E94 0000 		call enc28j60Write
 897               	.LM151:
 898 03e6 81EC      		ldi r24,lo8(-63)
 899 03e8 60E0      		ldi r22,lo8(0)
 900 03ea 0E94 0000 		call enc28j60Write
 901               	.LM152:
 902 03ee 80E8      		ldi r24,lo8(-128)
 903 03f0 62EC      		ldi r22,lo8(-62)
 904 03f2 42E3      		ldi r20,lo8(50)
 905 03f4 0E94 0000 		call enc28j60WriteOp
 906               	.LM153:
 907 03f8 86EC      		ldi r24,lo8(-58)
 908 03fa 62E1      		ldi r22,lo8(18)
 909 03fc 0E94 0000 		call enc28j60Write
 910               	.LM154:
 911 0400 87EC      		ldi r24,lo8(-57)
 912 0402 6CE0      		ldi r22,lo8(12)
 913 0404 0E94 0000 		call enc28j60Write
 914               	.LM155:
 915 0408 84EC      		ldi r24,lo8(-60)
 916 040a 62E1      		ldi r22,lo8(18)
 917 040c 0E94 0000 		call enc28j60Write
 918               	.LM156:
 919 0410 8AEC      		ldi r24,lo8(-54)
 920 0412 68E5      		ldi r22,lo8(88)
 921 0414 0E94 0000 		call enc28j60Write
 922               	.LM157:
 923 0418 8BEC      		ldi r24,lo8(-53)
 924 041a 62E0      		ldi r22,lo8(2)
 925 041c 0E94 0000 		call enc28j60Write
 926               	.LM158:
 927 0420 84EE      		ldi r24,lo8(-28)
 928 0422 6881      		ld r22,Y
 929 0424 0E94 0000 		call enc28j60Write
 930               	.LM159:
 931 0428 85EE      		ldi r24,lo8(-27)
 932 042a 6981      		ldd r22,Y+1
 933 042c 0E94 0000 		call enc28j60Write
 934               	.LM160:
 935 0430 82EE      		ldi r24,lo8(-30)
 936 0432 6A81      		ldd r22,Y+2
 937 0434 0E94 0000 		call enc28j60Write
 938               	.LM161:
 939 0438 83EE      		ldi r24,lo8(-29)
 940 043a 6B81      		ldd r22,Y+3
 941 043c 0E94 0000 		call enc28j60Write
 942               	.LM162:
 943 0440 80EE      		ldi r24,lo8(-32)
 944 0442 6C81      		ldd r22,Y+4
 945 0444 0E94 0000 		call enc28j60Write
 946               	.LM163:
 947 0448 81EE      		ldi r24,lo8(-31)
 948 044a 6D81      		ldd r22,Y+5
 949 044c 0E94 0000 		call enc28j60Write
 950               	.LM164:
 951 0450 80E1      		ldi r24,lo8(16)
 952 0452 60E0      		ldi r22,lo8(256)
 953 0454 71E0      		ldi r23,hi8(256)
 954 0456 0E94 0000 		call enc28j60PhyWrite
 955               	.LM165:
 956 045a 8FE1      		ldi r24,lo8(31)
 957 045c 0E94 0000 		call enc28j60SetBank
 958               	.LM166:
 959 0460 80E8      		ldi r24,lo8(-128)
 960 0462 6BE1      		ldi r22,lo8(27)
 961 0464 40EC      		ldi r20,lo8(-64)
 962 0466 0E94 0000 		call enc28j60WriteOp
 963               	.LM167:
 964 046a 80E8      		ldi r24,lo8(-128)
 965 046c 6FE1      		ldi r22,lo8(31)
 966 046e 44E0      		ldi r20,lo8(4)
 967 0470 0E94 0000 		call enc28j60WriteOp
 968               	/* epilogue start */
 969               	.LM168:
 970 0474 DF91      		pop r29
 971 0476 CF91      		pop r28
 972               	.LVL69:
 973 0478 0895      		ret
 974               	.LFE24:
 976               	.global	enc28j60getrev
 978               	enc28j60getrev:
 979               	.LFB25:
 980               	.LM169:
 981               	/* prologue: function */
 982               	/* frame size = 0 */
 983               	.LM170:
 984 047a 82E7      		ldi r24,lo8(114)
 985 047c 0E94 0000 		call enc28j60Read
 986               	/* epilogue start */
 987               	.LM171:
 988 0480 0895      		ret
 989               	.LFE25:
 991               	.global	enc28j60PacketSend
 993               	enc28j60PacketSend:
 994               	.LFB26:
 995               	.LM172:
 996               	.LVL70:
 997 0482 EF92      		push r14
 998 0484 FF92      		push r15
 999 0486 0F93      		push r16
 1000 0488 1F93      		push r17
 1001               	/* prologue: function */
 1002               	/* frame size = 0 */
 1003 048a 8C01      		movw r16,r24
 1004 048c 7B01      		movw r14,r22
 1005               	.LM173:
 1006 048e 82E0      		ldi r24,lo8(2)
 1007               	.LVL71:
 1008 0490 6FEF      		ldi r22,lo8(-1)
 1009               	.LVL72:
 1010 0492 0E94 0000 		call enc28j60Write
 1011               	.LM174:
 1012 0496 83E0      		ldi r24,lo8(3)
 1013 0498 69E1      		ldi r22,lo8(25)
 1014 049a 0E94 0000 		call enc28j60Write
 1015               	.LM175:
 1016 049e 602F      		mov r22,r16
 1017               	.LVL73:
 1018 04a0 6150      		subi r22,lo8(-(-1))
 1019 04a2 86E0      		ldi r24,lo8(6)
 1020 04a4 0E94 0000 		call enc28j60Write
 1021               	.LM176:
 1022 04a8 9801      		movw r18,r16
 1023               	.LVL74:
 1024 04aa 2150      		subi r18,lo8(-(6655))
 1025 04ac 364E      		sbci r19,hi8(-(6655))
 1026 04ae 87E0      		ldi r24,lo8(7)
 1027 04b0 632F      		mov r22,r19
 1028 04b2 0E94 0000 		call enc28j60Write
 1029               	.LM177:
 1030 04b6 8AE7      		ldi r24,lo8(122)
 1031 04b8 60E0      		ldi r22,lo8(0)
 1032 04ba 40E0      		ldi r20,lo8(0)
 1033 04bc 0E94 0000 		call enc28j60WriteOp
 1034               	.LM178:
 1035 04c0 C801      		movw r24,r16
 1036 04c2 B701      		movw r22,r14
 1037 04c4 0E94 0000 		call enc28j60WriteBuffer
 1038               	.LM179:
 1039 04c8 80E8      		ldi r24,lo8(-128)
 1040 04ca 6FE1      		ldi r22,lo8(31)
 1041 04cc 48E0      		ldi r20,lo8(8)
 1042 04ce 0E94 0000 		call enc28j60WriteOp
 1043               	.LM180:
 1044 04d2 8CE1      		ldi r24,lo8(28)
 1045 04d4 0E94 0000 		call enc28j60Read
 1046 04d8 81FF      		sbrs r24,1
 1047 04da 00C0      		rjmp .L90
 1048               	.LM181:
 1049 04dc 80EA      		ldi r24,lo8(-96)
 1050 04de 6FE1      		ldi r22,lo8(31)
 1051 04e0 48E0      		ldi r20,lo8(8)
 1052 04e2 0E94 0000 		call enc28j60WriteOp
 1053               	.L90:
 1054               	/* epilogue start */
 1055               	.LM182:
 1056 04e6 1F91      		pop r17
 1057 04e8 0F91      		pop r16
 1058               	.LVL75:
 1059 04ea FF90      		pop r15
 1060 04ec EF90      		pop r14
 1061               	.LVL76:
 1062 04ee 0895      		ret
 1063               	.LFE26:
 1065               	.global	make_udp_reply_from_request
 1067               	make_udp_reply_from_request:
 1068               	.LFB15:
 1069               	.LM183:
 1070               	.LVL77:
 1071 04f0 CF92      		push r12
 1072 04f2 DF92      		push r13
 1073 04f4 FF92      		push r15
 1074 04f6 0F93      		push r16
 1075 04f8 1F93      		push r17
 1076 04fa CF93      		push r28
 1077 04fc DF93      		push r29
 1078               	/* prologue: function */
 1079               	/* frame size = 0 */
 1080 04fe EC01      		movw r28,r24
 1081 0500 6B01      		movw r12,r22
 1082 0502 142F      		mov r17,r20
 1083 0504 F22E      		mov r15,r18
 1084 0506 032F      		mov r16,r19
 1085               	.LVL78:
 1086               	.LM184:
 1087 0508 0E94 0000 		call make_eth
 1088               	.LVL79:
 1089 050c 1D3D      		cpi r17,lo8(-35)
 1090 050e 00F0      		brlo .L92
 1091 0510 1CED      		ldi r17,lo8(-36)
 1092               	.LVL80:
 1093               	.L92:
 1094               	.LM185:
 1095 0512 188A      		std Y+16,__zero_reg__
 1096               	.LM186:
 1097 0514 145E      		subi r17,lo8(-(28))
 1098               	.LVL81:
 1099 0516 198B      		std Y+17,r17
 1100               	.LM187:
 1101 0518 CE01      		movw r24,r28
 1102 051a 0E94 0000 		call make_ip
 1103               	.LM188:
 1104 051e 0CA3      		std Y+36,r16
 1105               	.LM189:
 1106 0520 FDA2      		std Y+37,r15
 1107               	.LM190:
 1108 0522 1EA2      		std Y+38,__zero_reg__
 1109               	.LM191:
 1110 0524 1451      		subi r17,lo8(-(-20))
 1111 0526 1FA3      		std Y+39,r17
 1112 0528 1850      		subi r17,lo8(-(-8))
 1113               	.LM192:
 1114 052a 18A6      		std Y+40,__zero_reg__
 1115               	.LM193:
 1116 052c 19A6      		std Y+41,__zero_reg__
 1117 052e DE01      		movw r26,r28
 1118 0530 9A96      		adiw r26,42
 1119 0532 20E0      		ldi r18,lo8(0)
 1120 0534 30E0      		ldi r19,hi8(0)
 1121 0536 00C0      		rjmp .L93
 1122               	.L94:
 1123               	.LM194:
 1124 0538 F601      		movw r30,r12
 1125 053a E20F      		add r30,r18
 1126 053c F31F      		adc r31,r19
 1127 053e 8081      		ld r24,Z
 1128 0540 8D93      		st X+,r24
 1129 0542 2F5F      		subi r18,lo8(-(1))
 1130 0544 3F4F      		sbci r19,hi8(-(1))
 1131               	.L93:
 1132               	.LM195:
 1133 0546 2117      		cp r18,r17
 1134 0548 00F0      		brlo .L94
 1135               	.LM196:
 1136 054a 012F      		mov r16,r17
 1137               	.LVL82:
 1138 054c 10E0      		ldi r17,lo8(0)
 1139               	.LVL83:
 1140 054e 005F      		subi r16,lo8(-(16))
 1141 0550 1F4F      		sbci r17,hi8(-(16))
 1142 0552 CE01      		movw r24,r28
 1143 0554 4A96      		adiw r24,26
 1144 0556 B801      		movw r22,r16
 1145 0558 41E0      		ldi r20,lo8(1)
 1146 055a 0E94 0000 		call checksum
 1147               	.LM197:
 1148 055e 98A7      		std Y+40,r25
 1149               	.LM198:
 1150 0560 89A7      		std Y+41,r24
 1151               	.LM199:
 1152 0562 C801      		movw r24,r16
 1153 0564 4A96      		adiw r24,26
 1154 0566 BE01      		movw r22,r28
 1155 0568 0E94 0000 		call enc28j60PacketSend
 1156               	/* epilogue start */
 1157               	.LM200:
 1158 056c DF91      		pop r29
 1159 056e CF91      		pop r28
 1160               	.LVL84:
 1161 0570 1F91      		pop r17
 1162 0572 0F91      		pop r16
 1163 0574 FF90      		pop r15
 1164               	.LVL85:
 1165 0576 DF90      		pop r13
 1166 0578 CF90      		pop r12
 1167               	.LVL86:
 1168 057a 0895      		ret
 1169               	.LFE15:
 1171               	.global	make_echo_reply_from_request
 1173               	make_echo_reply_from_request:
 1174               	.LFB14:
 1175               	.LM201:
 1176               	.LVL87:
 1177 057c 0F93      		push r16
 1178 057e 1F93      		push r17
 1179 0580 CF93      		push r28
 1180 0582 DF93      		push r29
 1181               	/* prologue: function */
 1182               	/* frame size = 0 */
 1183 0584 EC01      		movw r28,r24
 1184 0586 8B01      		movw r16,r22
 1185               	.LM202:
 1186 0588 0E94 0000 		call make_eth
 1187               	.LVL88:
 1188               	.LM203:
 1189 058c CE01      		movw r24,r28
 1190 058e 0E94 0000 		call make_ip
 1191               	.LM204:
 1192 0592 1AA2      		std Y+34,__zero_reg__
 1193               	.LM205:
 1194 0594 8CA1      		ldd r24,Y+36
 1195 0596 883F      		cpi r24,lo8(-8)
 1196 0598 00F0      		brlo .L97
 1197               	.LM206:
 1198 059a 8DA1      		ldd r24,Y+37
 1199 059c 8F5F      		subi r24,lo8(-(1))
 1200 059e 8DA3      		std Y+37,r24
 1201               	.L97:
 1202               	.LM207:
 1203 05a0 8CA1      		ldd r24,Y+36
 1204 05a2 885F      		subi r24,lo8(-(8))
 1205 05a4 8CA3      		std Y+36,r24
 1206               	.LM208:
 1207 05a6 C801      		movw r24,r16
 1208 05a8 BE01      		movw r22,r28
 1209 05aa 0E94 0000 		call enc28j60PacketSend
 1210               	/* epilogue start */
 1211               	.LM209:
 1212 05ae DF91      		pop r29
 1213 05b0 CF91      		pop r28
 1214               	.LVL89:
 1215 05b2 1F91      		pop r17
 1216 05b4 0F91      		pop r16
 1217               	.LVL90:
 1218 05b6 0895      		ret
 1219               	.LFE14:
 1221               	.global	make_arp_answer_from_request
 1223               	make_arp_answer_from_request:
 1224               	.LFB13:
 1225               	.LM210:
 1226               	.LVL91:
 1227 05b8 CF93      		push r28
 1228 05ba DF93      		push r29
 1229               	/* prologue: function */
 1230               	/* frame size = 0 */
 1231 05bc EC01      		movw r28,r24
 1232               	.LM211:
 1233 05be 0E94 0000 		call make_eth
 1234               	.LVL92:
 1235               	.LM212:
 1236 05c2 1C8A      		std Y+20,__zero_reg__
 1237               	.LM213:
 1238 05c4 82E0      		ldi r24,lo8(2)
 1239 05c6 8D8B      		std Y+21,r24
 1240 05c8 FE01      		movw r30,r28
 1241 05ca A0E0      		ldi r26,lo8(macaddr)
 1242 05cc B0E0      		ldi r27,hi8(macaddr)
 1243               	.L100:
 1244               	.LM214:
 1245 05ce 8689      		ldd r24,Z+22
 1246 05d0 80A3      		std Z+32,r24
 1247               	.LM215:
 1248 05d2 8D91      		ld r24,X+
 1249 05d4 868B      		std Z+22,r24
 1250 05d6 3196      		adiw r30,1
 1251               	.LM216:
 1252 05d8 80E0      		ldi r24,hi8(macaddr+6)
 1253 05da A030      		cpi r26,lo8(macaddr+6)
 1254 05dc B807      		cpc r27,r24
 1255 05de 01F4      		brne .L100
 1256 05e0 FE01      		movw r30,r28
 1257 05e2 7C96      		adiw r30,28
 1258 05e4 A0E0      		ldi r26,lo8(ipaddr)
 1259 05e6 B0E0      		ldi r27,hi8(ipaddr)
 1260               	.L101:
 1261               	.LM217:
 1262 05e8 8081      		ld r24,Z
 1263 05ea 8287      		std Z+10,r24
 1264               	.LM218:
 1265 05ec 8D91      		ld r24,X+
 1266 05ee 8193      		st Z+,r24
 1267               	.LM219:
 1268 05f0 80E0      		ldi r24,hi8(ipaddr+4)
 1269 05f2 A030      		cpi r26,lo8(ipaddr+4)
 1270 05f4 B807      		cpc r27,r24
 1271 05f6 01F4      		brne .L101
 1272               	.LM220:
 1273 05f8 8AE2      		ldi r24,lo8(42)
 1274 05fa 90E0      		ldi r25,hi8(42)
 1275 05fc BE01      		movw r22,r28
 1276 05fe 0E94 0000 		call enc28j60PacketSend
 1277               	/* epilogue start */
 1278               	.LM221:
 1279 0602 DF91      		pop r29
 1280 0604 CF91      		pop r28
 1281               	.LVL93:
 1282 0606 0895      		ret
 1283               	.LFE13:
 1285               	.global	enc28j60PacketReceive
 1287               	enc28j60PacketReceive:
 1288               	.LFB27:
 1289               	.LM222:
 1290               	.LVL94:
 1291 0608 AF92      		push r10
 1292 060a BF92      		push r11
 1293 060c CF92      		push r12
 1294 060e DF92      		push r13
 1295 0610 EF92      		push r14
 1296 0612 FF92      		push r15
 1297 0614 0F93      		push r16
 1298 0616 1F93      		push r17
 1299 0618 CF93      		push r28
 1300 061a DF93      		push r29
 1301               	/* prologue: function */
 1302               	/* frame size = 0 */
 1303 061c 6C01      		movw r12,r24
 1304 061e 5B01      		movw r10,r22
 1305               	.LM223:
 1306 0620 89E3      		ldi r24,lo8(57)
 1307               	.LVL95:
 1308 0622 0E94 0000 		call enc28j60Read
 1309               	.LVL96:
 1310 0626 8823      		tst r24
 1311 0628 01F4      		brne .L106
 1312 062a 00E0      		ldi r16,lo8(0)
 1313 062c 10E0      		ldi r17,hi8(0)
 1314               	.LVL97:
 1315 062e 00C0      		rjmp .L107
 1316               	.LVL98:
 1317               	.L106:
 1318               	.LM224:
 1319 0630 6091 0000 		lds r22,NextPacketPtr
 1320 0634 1091 0000 		lds r17,NextPacketPtr+1
 1321 0638 80E0      		ldi r24,lo8(0)
 1322 063a 0E94 0000 		call enc28j60Write
 1323               	.LM225:
 1324 063e 81E0      		ldi r24,lo8(1)
 1325 0640 612F      		mov r22,r17
 1326 0642 0E94 0000 		call enc28j60Write
 1327               	.LM226:
 1328 0646 8AE3      		ldi r24,lo8(58)
 1329 0648 60E0      		ldi r22,lo8(0)
 1330 064a 0E94 0000 		call enc28j60ReadOp
 1331 064e 182F      		mov r17,r24
 1332               	.LM227:
 1333 0650 8AE3      		ldi r24,lo8(58)
 1334 0652 60E0      		ldi r22,lo8(0)
 1335 0654 0E94 0000 		call enc28j60ReadOp
 1336 0658 382F      		mov r19,r24
 1337 065a 20E0      		ldi r18,lo8(0)
 1338 065c C12F      		mov r28,r17
 1339 065e D0E0      		ldi r29,lo8(0)
 1340 0660 C22B      		or r28,r18
 1341 0662 D32B      		or r29,r19
 1342 0664 D093 0000 		sts (NextPacketPtr)+1,r29
 1343 0668 C093 0000 		sts NextPacketPtr,r28
 1344               	.LM228:
 1345 066c 8AE3      		ldi r24,lo8(58)
 1346 066e 60E0      		ldi r22,lo8(0)
 1347 0670 0E94 0000 		call enc28j60ReadOp
 1348 0674 E82E      		mov r14,r24
 1349               	.LM229:
 1350 0676 8AE3      		ldi r24,lo8(58)
 1351 0678 60E0      		ldi r22,lo8(0)
 1352 067a 0E94 0000 		call enc28j60ReadOp
 1353 067e F82E      		mov r15,r24
 1354               	.LM230:
 1355 0680 8AE3      		ldi r24,lo8(58)
 1356 0682 60E0      		ldi r22,lo8(0)
 1357 0684 0E94 0000 		call enc28j60ReadOp
 1358 0688 082F      		mov r16,r24
 1359               	.LVL99:
 1360 068a 10E0      		ldi r17,lo8(0)
 1361               	.LVL100:
 1362               	.LM231:
 1363 068c 8AE3      		ldi r24,lo8(58)
 1364 068e 60E0      		ldi r22,lo8(0)
 1365 0690 0E94 0000 		call enc28j60ReadOp
 1366               	.LM232:
 1367 0694 382F      		mov r19,r24
 1368 0696 20E0      		ldi r18,lo8(0)
 1369 0698 202B      		or r18,r16
 1370 069a 312B      		or r19,r17
 1371 069c 27FD      		sbrc r18,7
 1372 069e 00C0      		rjmp .L108
 1373 06a0 00E0      		ldi r16,lo8(0)
 1374 06a2 10E0      		ldi r17,hi8(0)
 1375               	.LVL101:
 1376 06a4 00C0      		rjmp .L109
 1377               	.LVL102:
 1378               	.L108:
 1379               	.LM233:
 1380 06a6 0E2D      		mov r16,r14
 1381               	.LVL103:
 1382 06a8 10E0      		ldi r17,lo8(0)
 1383               	.LVL104:
 1384               	.LM234:
 1385 06aa 9F2D      		mov r25,r15
 1386 06ac 80E0      		ldi r24,lo8(0)
 1387 06ae 082B      		or r16,r24
 1388 06b0 192B      		or r17,r25
 1389               	.LVL105:
 1390               	.LM235:
 1391 06b2 C601      		movw r24,r12
 1392 06b4 0197      		sbiw r24,1
 1393 06b6 0450      		subi r16,lo8(-(-4))
 1394 06b8 1040      		sbci r17,hi8(-(-4))
 1395 06ba 8017      		cp r24,r16
 1396 06bc 9107      		cpc r25,r17
 1397 06be 00F4      		brsh .L110
 1398 06c0 8C01      		movw r16,r24
 1399               	.L110:
 1400               	.LM236:
 1401 06c2 C801      		movw r24,r16
 1402 06c4 B501      		movw r22,r10
 1403 06c6 0E94 0000 		call enc28j60ReadBuffer
 1404               	.LVL106:
 1405               	.L109:
 1406               	.LM237:
 1407 06ca 8CE0      		ldi r24,lo8(12)
 1408 06cc 6C2F      		mov r22,r28
 1409 06ce 0E94 0000 		call enc28j60Write
 1410               	.LM238:
 1411 06d2 8DE0      		ldi r24,lo8(13)
 1412 06d4 6D2F      		mov r22,r29
 1413 06d6 0E94 0000 		call enc28j60Write
 1414               	.LM239:
 1415 06da 80E8      		ldi r24,lo8(-128)
 1416 06dc 6EE1      		ldi r22,lo8(30)
 1417 06de 40E4      		ldi r20,lo8(64)
 1418 06e0 0E94 0000 		call enc28j60WriteOp
 1419               	.L107:
 1420               	.LM240:
 1421 06e4 C801      		movw r24,r16
 1422               	.LVL107:
 1423               	/* epilogue start */
 1424 06e6 DF91      		pop r29
 1425 06e8 CF91      		pop r28
 1426 06ea 1F91      		pop r17
 1427               	.LVL108:
 1428 06ec 0F91      		pop r16
 1429 06ee FF90      		pop r15
 1430 06f0 EF90      		pop r14
 1431 06f2 DF90      		pop r13
 1432 06f4 CF90      		pop r12
 1433               	.LVL109:
 1434 06f6 BF90      		pop r11
 1435 06f8 AF90      		pop r10
 1436               	.LVL110:
 1437 06fa 0895      		ret
 1438               	.LFE27:
 1440               		.data
 1441               	.LC0:
 1442 0000 4469 6F64 		.string	"Diod_is_on"
 1442      5F69 735F 
 1442      6F6E 00
 1443               	.LC1:
 1444 000b 4469 6F64 		.string	"Diod_is_off"
 1444      5F69 735F 
 1444      6F66 6600 
 1445               		.text
 1446               	.global	main
 1448               	main:
 1449               	.LFB28:
 1450               	.LM241:
 1451 06fc DF92      		push r13
 1452 06fe EF92      		push r14
 1453 0700 FF92      		push r15
 1454 0702 0F93      		push r16
 1455 0704 1F93      		push r17
 1456 0706 DF93      		push r29
 1457 0708 CF93      		push r28
 1458 070a CDB7      		in r28,__SP_L__
 1459 070c DEB7      		in r29,__SP_H__
 1460 070e 6497      		sbiw r28,20
 1461 0710 0FB6      		in __tmp_reg__,__SREG__
 1462 0712 F894      		cli
 1463 0714 DEBF      		out __SP_H__,r29
 1464 0716 0FBE      		out __SREG__,__tmp_reg__
 1465 0718 CDBF      		out __SP_L__,r28
 1466               	/* prologue: function */
 1467               	/* frame size = 20 */
 1468               	.LM242:
 1469 071a 1BB8      		out 43-32,__zero_reg__
 1470               	.LM243:
 1471 071c 8AB1      		in r24,42-32
 1472 071e 8FEF      		ldi r24,lo8(-1)
 1473 0720 8AB9      		out 42-32,r24
 1474               	.LM244:
 1475 0722 80E8      		ldi r24,lo8(-128)
 1476 0724 8093 6100 		sts 97,r24
 1477               	.LM245:
 1478 0728 1092 6100 		sts 97,__zero_reg__
 1479               	.LBB56:
 1480               	.LBB57:
 1481               	.LBB58:
 1482               	.LBB59:
 1483               	.LM246:
 1484 072c 80E2      		ldi r24,lo8(20000)
 1485 072e 9EE4      		ldi r25,hi8(20000)
 1486               	.LVL111:
 1487               	/* #APP */
 1488               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 1489 0730 0197      		1: sbiw r24,1
 1490 0732 01F4      		brne 1b
 1491               	 ;  0 "" 2
 1492               	/* #NOAPP */
 1493               	.LBE59:
 1494               	.LBE58:
 1495               	.LBE57:
 1496               	.LBE56:
 1497               	.LM247:
 1498 0734 80E0      		ldi r24,lo8(mymac)
 1499 0736 90E0      		ldi r25,hi8(mymac)
 1500               	.LVL112:
 1501 0738 0E94 0000 		call enc28j60Init
 1502               	.LBB60:
 1503               	.LBB61:
 1504               	.LBB62:
 1505               	.LBB63:
 1506               	.LM248:
 1507 073c 00E4      		ldi r16,lo8(-25536)
 1508 073e 1CE9      		ldi r17,hi8(-25536)
 1509 0740 C801      		movw r24,r16
 1510               	.LVL113:
 1511               	/* #APP */
 1512               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 1513 0742 0197      		1: sbiw r24,1
 1514 0744 01F4      		brne 1b
 1515               	 ;  0 "" 2
 1516               	/* #NOAPP */
 1517               	.LBE63:
 1518               	.LBE62:
 1519               	.LBE61:
 1520               	.LBE60:
 1521               	.LM249:
 1522 0746 84E1      		ldi r24,lo8(20)
 1523               	.LVL114:
 1524 0748 66E7      		ldi r22,lo8(1142)
 1525 074a 74E0      		ldi r23,hi8(1142)
 1526 074c 0E94 0000 		call enc28j60PhyWrite
 1527               	.LBB64:
 1528               	.LBB65:
 1529               	.LBB66:
 1530               	.LBB67:
 1531               	.LM250:
 1532 0750 C801      		movw r24,r16
 1533               	.LVL115:
 1534               	/* #APP */
 1535               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 1536 0752 0197      		1: sbiw r24,1
 1537 0754 01F4      		brne 1b
 1538               	 ;  0 "" 2
 1539               	/* #NOAPP */
 1540               	.LBE67:
 1541               	.LBE66:
 1542               	.LBE65:
 1543               	.LBE64:
 1544               	.LM251:
 1545 0756 80E0      		ldi r24,lo8(mymac)
 1546 0758 90E0      		ldi r25,hi8(mymac)
 1547               	.LVL116:
 1548 075a 60E0      		ldi r22,lo8(myip)
 1549 075c 70E0      		ldi r23,hi8(myip)
 1550 075e 0E94 0000 		call init_ip_arp
 1551               	.LM252:
 1552 0762 7E01      		movw r14,r28
 1553 0764 0894      		sec
 1554 0766 E11C      		adc r14,__zero_reg__
 1555 0768 F11C      		adc r15,__zero_reg__
 1556               	.LM253:
 1557 076a 20E8      		ldi r18,lo8(-128)
 1558 076c D22E      		mov r13,r18
 1559               	.LVL117:
 1560               	.L121:
 1561               	.LM254:
 1562 076e 80E9      		ldi r24,lo8(400)
 1563 0770 91E0      		ldi r25,hi8(400)
 1564 0772 60E0      		ldi r22,lo8(buf)
 1565 0774 70E0      		ldi r23,hi8(buf)
 1566 0776 0E94 0000 		call enc28j60PacketReceive
 1567 077a 8C01      		movw r16,r24
 1568               	.LM255:
 1569 077c 0097      		sbiw r24,0
 1570 077e 01F0      		breq .L121
 1571               	.LVL118:
 1572               	.LM256:
 1573 0780 80E0      		ldi r24,lo8(buf)
 1574 0782 90E0      		ldi r25,hi8(buf)
 1575               	.LVL119:
 1576 0784 B801      		movw r22,r16
 1577 0786 0E94 0000 		call eth_type_is_arp_and_my_ip
 1578 078a 8823      		tst r24
 1579 078c 01F0      		breq .L114
 1580               	.LM257:
 1581 078e 80E0      		ldi r24,lo8(buf)
 1582 0790 90E0      		ldi r25,hi8(buf)
 1583 0792 0E94 0000 		call make_arp_answer_from_request
 1584 0796 00C0      		rjmp .L121
 1585               	.L114:
 1586               	.LM258:
 1587 0798 80E0      		ldi r24,lo8(buf)
 1588 079a 90E0      		ldi r25,hi8(buf)
 1589 079c B801      		movw r22,r16
 1590 079e 0E94 0000 		call eth_type_is_ip_and_my_ip
 1591 07a2 8823      		tst r24
 1592 07a4 01F0      		breq .L121
 1593               	.LM259:
 1594 07a6 8091 0000 		lds r24,buf+23
 1595 07aa 8130      		cpi r24,lo8(1)
 1596 07ac 01F4      		brne .L115
 1597 07ae 8091 0000 		lds r24,buf+34
 1598 07b2 8830      		cpi r24,lo8(8)
 1599 07b4 01F4      		brne .L121
 1600               	.LM260:
 1601 07b6 80E0      		ldi r24,lo8(buf)
 1602 07b8 90E0      		ldi r25,hi8(buf)
 1603 07ba B801      		movw r22,r16
 1604 07bc 0E94 0000 		call make_echo_reply_from_request
 1605 07c0 00C0      		rjmp .L121
 1606               	.L115:
 1607               	.LM261:
 1608 07c2 8131      		cpi r24,lo8(17)
 1609 07c4 01F4      		brne .L121
 1610 07c6 8091 0000 		lds r24,buf+36
 1611 07ca 8430      		cpi r24,lo8(4)
 1612 07cc 01F4      		brne .L121
 1613 07ce 8091 0000 		lds r24,buf+37
 1614 07d2 803B      		cpi r24,lo8(-80)
 1615 07d4 01F4      		brne .L121
 1616               	.LM262:
 1617 07d6 8091 0000 		lds r24,buf+42
 1618 07da 8133      		cpi r24,lo8(49)
 1619 07dc 01F4      		brne .L116
 1620               	.LM263:
 1621 07de DBB8      		out 43-32,r13
 1622               	.LM264:
 1623 07e0 C701      		movw r24,r14
 1624 07e2 60E0      		ldi r22,lo8(.LC0)
 1625 07e4 70E0      		ldi r23,hi8(.LC0)
 1626 07e6 00C0      		rjmp .L122
 1627               	.L116:
 1628               	.LM265:
 1629 07e8 8033      		cpi r24,lo8(48)
 1630 07ea 01F4      		brne .L117
 1631               	.LM266:
 1632 07ec 5F98      		cbi 43-32,7
 1633               	.LM267:
 1634 07ee C701      		movw r24,r14
 1635 07f0 60E0      		ldi r22,lo8(.LC1)
 1636 07f2 70E0      		ldi r23,hi8(.LC1)
 1637               	.L122:
 1638 07f4 0E94 0000 		call strcpy
 1639               	.L117:
 1640               	.LM268:
 1641 07f8 F701      		movw r30,r14
 1642 07fa 0190      		ld __tmp_reg__,Z+
 1643 07fc 0020      		tst __tmp_reg__
 1644 07fe 01F4      		brne .-6
 1645 0800 3197      		sbiw r30,1
 1646 0802 EE19      		sub r30,r14
 1647 0804 FF09      		sbc r31,r15
 1648 0806 80E0      		ldi r24,lo8(buf)
 1649 0808 90E0      		ldi r25,hi8(buf)
 1650 080a B701      		movw r22,r14
 1651 080c 4E2F      		mov r20,r30
 1652 080e 20EB      		ldi r18,lo8(1200)
 1653 0810 34E0      		ldi r19,hi8(1200)
 1654 0812 0E94 0000 		call make_udp_reply_from_request
 1655 0816 00C0      		rjmp .L121
 1656               	.LFE28:
 1658               		.data
 1661               	mymac:
 1662 0017 54        		.byte	84
 1663 0018 55        		.byte	85
 1664 0019 58        		.byte	88
 1665 001a 10        		.byte	16
 1666 001b 00        		.byte	0
 1667 001c 24        		.byte	36
 1670               	myip:
 1671 001d C0        		.byte	-64
 1672 001e A8        		.byte	-88
 1673 001f 01        		.byte	1
 1674 0020 19        		.byte	25
 1675               		.lcomm macaddr,6
 1676               		.lcomm ipaddr,4
 1677               		.lcomm Enc28j60Bank,1
 1678               		.lcomm NextPacketPtr,2
 1679               		.lcomm buf,401
 1880               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:2      *ABS*:0000003f __SREG__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:3      *ABS*:0000003e __SP_H__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:4      *ABS*:0000003d __SP_L__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:5      *ABS*:00000034 __CCP__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:7      *ABS*:00000001 __zero_reg__
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:18     .text:00000000 checksum
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:141    .text:000000a4 init_ip_arp
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1675   .bss:00000006 ipaddr
                             .bss:00000000 macaddr
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:193    .text:000000e4 eth_type_is_arp_and_my_ip
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:241    .text:0000011c eth_type_is_ip_and_my_ip
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:294    .text:0000015c make_eth
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:325    .text:00000176 fill_ip_hdr_checksum
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:369    .text:000001a4 make_ip
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:404    .text:000001c6 enc28j60ReadOp
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:452    .text:000001f0 enc28j60WriteOp
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:486    .text:0000020a enc28j60ReadBuffer
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:544    .text:00000240 enc28j60WriteBuffer
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:594    .text:0000026c enc28j60SetBank
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1676   .bss:0000000a Enc28j60Bank
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:645    .text:000002b4 enc28j60Read
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:669    .text:000002c8 enc28j60Write
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:698    .text:000002e4 enc28j60PhyWrite
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:763    .text:00000320 enc28j60Init
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1677   .bss:0000000b NextPacketPtr
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:978    .text:0000047a enc28j60getrev
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:993    .text:00000482 enc28j60PacketSend
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1067   .text:000004f0 make_udp_reply_from_request
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1173   .text:0000057c make_echo_reply_from_request
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1223   .text:000005b8 make_arp_answer_from_request
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1287   .text:00000608 enc28j60PacketReceive
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1448   .text:000006fc main
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1661   .data:00000017 mymac
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1670   .data:0000001d myip
C:\Users\8FEE~1\AppData\Local\Temp/ccZuI4Ei.s:1678   .bss:0000000d buf

UNDEFINED SYMBOLS
strcpy
__do_copy_data
__do_clear_bss
