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

📄 enc28j60.lst

📁 ENC28J60 System HTTP
💻 LST
📖 第 1 页 / 共 5 页
字号:
 537 0166 C901      		movw r24,r18
 538               	/* epilogue start */
 539 0168 1F91      		pop r17
 540 016a 0F91      		pop r16
 541 016c 0895      		ret
 546               	.Lscope8:
 550               	.global	enc28j60_send_packet
 552               	enc28j60_send_packet:
 554               	.LM77:
 555               	.LFBB9:
 556 016e CF92      		push r12
 557 0170 DF92      		push r13
 558 0172 EF92      		push r14
 559 0174 FF92      		push r15
 560 0176 0F93      		push r16
 561 0178 1F93      		push r17
 562 017a CF93      		push r28
 563 017c DF93      		push r29
 564               	/* prologue: function */
 565               	/* frame size = 0 */
 566 017e 7C01      		movw r14,r24
 567 0180 8B01      		movw r16,r22
 569               	.LM78:
 570 0182 C0E0      		ldi r28,lo8(0)
 571 0184 D0E0      		ldi r29,hi8(0)
 572               	.LBB77:
 573               	.LBB78:
 574               	.LBB79:
 575               	.LBB80:
 577               	.Ltext1:
   1:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    Copyright (c) 2007 Joerg Wunsch
   3:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    All rights reserved.
   4:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
   5:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    Redistribution and use in source and binary forms, with or without
   6:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    modification, are permitted provided that the following conditions are met:
   7:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
   8:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    * Redistributions of source code must retain the above copyright
   9:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer.
  10:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  11:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    * Redistributions in binary form must reproduce the above copyright
  12:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer in
  13:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      the documentation and/or other materials provided with the
  14:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      distribution.
  15:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  16:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****    * Neither the name of the copyright holders nor the names of
  17:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      contributors may be used to endorse or promote products derived
  18:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****      from this software without specific prior written permission.
  19:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  20:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  32:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /* $Id: delay_basic.h,v 1.1 2007/05/13 21:23:20 joerg_wunsch Exp $ */
  33:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  34:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #ifndef _UTIL_DELAY_BASIC_H_
  35:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #define _UTIL_DELAY_BASIC_H_ 1
  36:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  37:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #include <inttypes.h>
  38:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  39:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /** \file */
  40:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /** \defgroup util_delay_basic <util/delay_basic.h>: Basic busy-wait delay loops
  41:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     \code
  42:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     #include <util/delay_basic.h>
  43:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     \endcode
  44:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  45:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     The functions in this header file implement simple delay loops
  46:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     that perform a busy-waiting.  They are typically used to
  47:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     facilitate short delays in the program execution.  They are
  48:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     implemented as count-down loops with a well-known CPU cycle
  49:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     count per loop iteration.  As such, no other processing can
  50:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     occur simultaneously.  It should be kept in mind that the
  51:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     functions described here do not disable interrupts.
  52:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  53:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     In general, for long delays, the use of hardware timers is
  54:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     much preferrable, as they free the CPU, and allow for
  55:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     concurrent processing of other events while the timer is
  56:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     running.  However, in particular for very short delays, the
  57:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     overhead of setting up a hardware timer is too much compared
  58:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     to the overall delay time.
  59:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  60:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     Two inline functions are provided for the actual delay algorithms.
  61:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  62:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** */
  63:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  64:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #if !defined(__DOXYGEN__)
  65:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
  66:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
  67:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #endif
  68:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  69:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  70:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  71:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     Delay loop using an 8-bit counter \c __count, so up to 256
  72:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 256 would have to be passed
  73:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     as 0.)  The loop executes three CPU cycles per iteration, not
  74:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     including the overhead the compiler needs to setup the counter
  75:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     register.
  76:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  77:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
  78:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     can be achieved.
  79:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** */
  80:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** void
  81:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** _delay_loop_1(uint8_t __count)
  82:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** {
  83:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
  84:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 		"1: dec %0" "\n\t"
  85:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 		"brne 1b"
  86:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 		: "=r" (__count)
  87:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 		: "0" (__count)
  88:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 	);
  89:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** }
  90:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  91:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  92:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  93:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     Delay loop using a 16-bit counter \c __count, so up to 65536
  94:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 65536 would have to be
  95:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     passed as 0.)  The loop executes four CPU cycles per iteration,
  96:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     not including the overhead the compiler requires to setup the
  97:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     counter register pair.
  98:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 
  99:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
 100:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****     milliseconds can be achieved.
 101:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****  */
 102:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** void
 103:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** _delay_loop_2(uint16_t __count)
 104:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** {
 105:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
 578               	.LBE80:
 579               	.LBE79:
 580 0186 89E0      	.LBE78:
 581 0188 C82E      	.LBE77:
 583 018c D82E      	.Ltext2:
 585               	.LM80:
 586               		ldi r24,lo8(31)
 587               		call enc28j60_read_address
 588               		sbrs r24,3
 589               		rjmp .L56
 590               	.LBB84:
 591               	.LBB83:
 592               	.LBB82:
 593 018e 8FE1      	.LBB81:
 595 0194 83FF      	.Ltext3:
 597               	.LM81:
 598               		movw r24,r12
 599               	/* #APP */
 600               	 ;  105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
 601               		1: sbiw r24,1
 602               		brne 1b
 603               	 ;  0 "" 2
 604               	/* #NOAPP */
 605 0198 C601      	.LBE81:
 606               	.LBE82:
 607               	.LBE83:
 608 019a 0197      	.LBE84:
 610               	.Ltext4:
 612               	.LM82:
 613               		adiw r28,1
 614               		cpi r28,50
 615               		cpc r29,__zero_reg__
 616               		brne .L57
 617               	.L56:
 619               	.LM83:
 620 019e 2196      		ldi r24,lo8(2)
 621 01a0 C233      		ldi r22,lo8(0)
 622 01a2 D105      		call enc28j60_write_address
 624               	.LM84:
 625               		ldi r24,lo8(3)
 626               		ldi r22,lo8(26)
 627 01a6 82E0      		call enc28j60_write_address
 629 01aa 0E94 0000 	.LM85:
 630               		ldi r24,lo8(6)
 631               		mov r22,r16
 632 01ae 83E0      		call enc28j60_write_address
 634 01b2 0E94 0000 	.LM86:
 635               		movw r18,r16
 636               		subi r18,lo8(-(6656))
 637 01b6 86E0      		sbci r19,hi8(-(6656))
 638 01b8 602F      		ldi r24,lo8(7)
 639 01ba 0E94 0000 		mov r22,r19
 640               		call enc28j60_write_address
 641               	.LBB85:
 642 01be 9801      	.LBB86:
 644 01c2 364E      	.LM87:
 645 01c4 87E0      		cbi 56-32,0
 647 01c8 0E94 0000 	.LM88:
 648               		ldi r24,lo8(122)
 649               		out 47-32,r24
 650               	.L58:
 652 01cc C098      	.LM89:
 653               		sbis 46-32,7
 654               		rjmp .L58
 656 01d0 8FB9      	.LM90:
 657               		out 47-32,__zero_reg__
 658               	.L59:
 660 01d2 779B      	.LM91:
 661 01d4 00C0      		sbis 46-32,7
 662               		rjmp .L59
 664 01d6 1FB8      	.LM92:
 665               		sbi 56-32,0
 666               	.LBE86:
 667               	.LBE85:
 668 01d8 779B      	.LBB87:
 669 01da 00C0      	.LBB88:
 671               	.LM93:
 672 01dc C09A      		cbi 56-32,0
 674               	.LM94:
 675               		ldi r24,lo8(122)
 676               		out 47-32,r24
 677               	.L60:
 679 01de C098      	.LM95:
 680               		sbis 46-32,7
 681               		rjmp .L60
 682 01e0 8AE7      		rjmp .L82
 683 01e2 8FB9      	.L63:
 685               	.LM96:
 686               		movw r30,r14
 687 01e4 779B      		ld r24,Z
 688 01e6 00C0      		out 47-32,r24
 689 01e8 00C0      	.L62:
 691               	.LM97:
 692               		sbis 46-32,7
 693 01ea F701      		rjmp .L62
 695 01ee 8FB9      	.LM98:
 696               		sec
 697               		adc r14,__zero_reg__
 698               		adc r15,__zero_reg__
 699 01f0 779B      		subi r16,lo8(-(-1))
 700 01f2 00C0      		sbci r17,hi8(-(-1))
 701               	.L82:
 703 01f4 0894      	.LM99:
 704 01f6 E11C      		cp r16,__zero_reg__
 705 01f8 F11C      		cpc r17,__zero_reg__
 706 01fa 0150      		brne .L63
 708               	.LM100:
 709               		sbi 56-32,0
 710               	.LBE88:
 711 01fe 0115      	.LBE87:
 712 0200 1105      	.LBB89:
 713 0202 01F4      	.LBB90:
 715               	.LM101:
 716 0204 C09A      		cbi 56-32,0
 718               	.LM102:
 719               		ldi r24,lo8(-97)
 720               		out 47-32,r24
 721               	.L64:
 723 0206 C098      	.LM103:
 724               		sbis 46-32,7
 725               		rjmp .L64
 727 020a 8FB9      	.LM104:
 728               		ldi r24,lo8(-128)
 729               		out 47-32,r24
 730               	.L65:
 732 020e 00C0      	.LM105:
 733               		sbis 46-32,7
 734               		rjmp .L65
 736 0212 8FB9      	.LM106:
 737               		sbi 56-32,0
 738               	.LBE90:
 739               	.LBE89:
 740 0214 779B      	.LBB91:
 741 0216 00C0      	.LBB92:
 743               	.LM107:
 744 0218 C09A      		cbi 56-32,0
 746               	.LM108:
 747               		ldi r24,lo8(-65)
 748               		out 47-32,r24
 749               	.L66:

⌨️ 快捷键说明

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