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

📄 enc28j60.lst

📁 ENC28J60 System HTTP
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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               	E79:
 579               	.LBE78:
 580 0186 C12C      	.LBE77:
 582 018a D82E      	.Ltext2:
 584               	.LM80:
 585               		ldi r24,lo8(31)
 586               		call enc28j60_read_address
 587               		sbrs r24,3
 588               		rjmp .L56
 589               	.LBB84:
 590               	.LBB83:
 591               	.LBB82:
 592 018c 8FE1      	.LBB81:
 594 0192 83FF      	.Ltext3:
 596               	.LM81:
 597               		movw r24,r12
 598               	/* #APP */
 599               	 ;  105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
 600               		1: sbiw r24,1
 601               		brne 1b
 602               	 ;  0 "" 2
 603               	/* #NOAPP */
 604 0196 C601      	.LBE81:
 605               	.LBE82:
 606               	.LBE83:
 607 0198 0197      	.LBE84:
 609               	.Ltext4:
 611               	.LM82:
 612               		adiw r28,1
 613               		cpi r28,50
 614               		cpc r29,__zero_reg__
 615               		brne .L57
 616               	.L56:
 618               	.LM83:
 619 019c 2196      		ldi r24,lo8(2)
 620 019e C233      		ldi r22,lo8(0)
 621 01a0 D105      		call enc28j60_write_address
 623               	.LM84:
 624               		ldi r24,lo8(3)
 625               		ldi r22,lo8(26)
 626 01a4 82E0      		call enc28j60_write_address
 628 01a8 0E94 0000 	.LM85:
 629               		ldi r24,lo8(6)
 630               		mov r22,r16
 631 01ac 83E0      		call enc28j60_write_address
 633 01b0 0E94 0000 	.LM86:
 634               		movw r18,r16
 635               		subi r18,lo8(-(6656))
 636 01b4 86E0      		sbci r19,hi8(-(6656))
 637 01b6 602F      		ldi r24,lo8(7)
 638 01b8 0E94 0000 		mov r22,r19
 639               		call enc28j60_write_address
 640               	.LBB85:
 641 01bc 9801      	.LBB86:
 643 01c0 364E      	.LM87:
 644 01c2 87E0      		cbi 56-32,4
 646 01c6 0E94 0000 	.LM88:
 647               		ldi r24,lo8(122)
 648               		out 47-32,r24
 649               	.L58:
 651 01ca C498      	.LM89:
 652               		sbis 46-32,7
 653               		rjmp .L58
 655 01ce 8FB9      	.LM90:
 656               		out 47-32,__zero_reg__
 657               	.L59:
 659 01d0 779B      	.LM91:
 660 01d2 00C0      		sbis 46-32,7
 661               		rjmp .L59
 663 01d4 1FB8      	.LM92:
 664               		sbi 56-32,4
 665               	.LBE86:
 666               	.LBE85:
 667 01d6 779B      	.LBB87:
 668 01d8 00C0      	.LBB88:
 670               	.LM93:
 671 01da C49A      		cbi 56-32,4
 673               	.LM94:
 674               		ldi r24,lo8(122)
 675               		out 47-32,r24
 676               	.L60:
 678 01dc C498      	.LM95:
 679               		sbis 46-32,7
 680               		rjmp .L60
 681 01de 8AE7      		rjmp .L82
 682 01e0 8FB9      	.L63:
 684               	.LM96:
 685               		movw r30,r14
 686 01e2 779B      		ld r24,Z
 687 01e4 00C0      		out 47-32,r24
 688 01e6 00C0      	.L62:
 690               	.LM97:
 691               		sbis 46-32,7
 692 01e8 F701      		rjmp .L62
 694 01ec 8FB9      	.LM98:
 695               		sec
 696               		adc r14,__zero_reg__
 697               		adc r15,__zero_reg__
 698 01ee 779B      		subi r16,lo8(-(-1))
 699 01f0 00C0      		sbci r17,hi8(-(-1))
 700               	.L82:
 702 01f2 0894      	.LM99:
 703 01f4 E11C      		cp r16,__zero_reg__
 704 01f6 F11C      		cpc r17,__zero_reg__
 705 01f8 0150      		brne .L63
 707               	.LM100:
 708               		sbi 56-32,4
 709               	.LBE88:
 710 01fc 0115      	.LBE87:
 711 01fe 1105      	.LBB89:
 712 0200 01F4      	.LBB90:
 714               	.LM101:
 715 0202 C49A      		cbi 56-32,4
 717               	.LM102:
 718               		ldi r24,lo8(-97)
 719               		out 47-32,r24
 720               	.L64:
 722 0204 C498      	.LM103:
 723               		sbis 46-32,7
 724               		rjmp .L64
 726 0208 8FB9      	.LM104:
 727               		ldi r24,lo8(-128)
 728               		out 47-32,r24
 729               	.L65:
 731 020c 00C0      	.LM105:
 732               		sbis 46-32,7
 733               		rjmp .L65
 735 0210 8FB9      	.LM106:
 736               		sbi 56-32,4
 737               	.LBE90:
 738               	.LBE89:
 739 0212 779B      	.LBB91:
 740 0214 00C0      	.LBB92:
 742               	.LM107:
 743 0216 C49A      		cbi 56-32,4
 745               	.LM108:
 746               		ldi r24,lo8(-65)
 747               		out 47-32,r24
 748               	.L66:
 750 0218 C498      	.LM109:
 751               		sbis 46-32,7
 752               		rjmp .L66
 754 021c 8FB9      	.LM110:
 755               		ldi r24,lo8(-128)

⌨️ 快捷键说明

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