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

📄 utility.lst

📁 mg128+Ov7620实现图象采集
💻 LST
字号:
   1               		.file	"Utility.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  60               	.global	Utility_delay
  62               	Utility_delay:
   1:Utility.c     **** /*
   2:Utility.c     ****     Copyright (C) 2004    John Orlando
   3:Utility.c     ****     
   4:Utility.c     ****    AVRcam: a small real-time image processing engine.
   5:Utility.c     **** 
   6:Utility.c     ****     This program is free software; you can redistribute it and/or
   7:Utility.c     ****     modify it under the terms of the GNU General Public
   8:Utility.c     ****     License as published by the Free Software Foundation; either
   9:Utility.c     ****     version 2 of the License, or (at your option) any later version.
  10:Utility.c     **** 
  11:Utility.c     ****     This program is distributed in the hope that it will be useful,
  12:Utility.c     ****     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13:Utility.c     ****     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14:Utility.c     ****     General Public License for more details.
  15:Utility.c     **** 
  16:Utility.c     ****     You should have received a copy of the GNU General Public
  17:Utility.c     ****     License along with this program; if not, write to the Free Software
  18:Utility.c     ****     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19:Utility.c     **** 
  20:Utility.c     ****    For more information on the AVRcam, please contact:
  21:Utility.c     **** 
  22:Utility.c     ****    john@jrobot.net
  23:Utility.c     **** 
  24:Utility.c     ****    or go to www.jrobot.net for more details regarding the system.
  25:Utility.c     **** */
  26:Utility.c     **** /***********************************************************
  27:Utility.c     **** 	Module Name: Utility.c
  28:Utility.c     **** 	Module Date: 04/13/2004
  29:Utility.c     **** 	Module Auth: John Orlando
  30:Utility.c     **** 	
  31:Utility.c     **** 	Description: This module provides a basic set of
  32:Utility.c     **** 	general purpose utilities that can be used by any
  33:Utility.c     **** 	module needing them.
  34:Utility.c     ****     
  35:Utility.c     ****     Revision History:
  36:Utility.c     ****     Date        Rel Ver.    Notes
  37:Utility.c     ****     4/10/2004      0.1     Module created
  38:Utility.c     ****     6/30/2004      1.0     Initial release for Circuit Cellar
  39:Utility.c     ****                            contest.
  40:Utility.c     **** ***********************************************************/
  41:Utility.c     **** 
  42:Utility.c     **** /*	Includes */
  43:Utility.c     **** #include "CommonDefs.h"
  44:Utility.c     **** 
  45:Utility.c     **** /*  Local Variables */
  46:Utility.c     **** 
  47:Utility.c     **** /* 	Local Structures and Typedefs */
  48:Utility.c     **** 
  49:Utility.c     **** /*  Extern Variables */
  50:Utility.c     **** 
  51:Utility.c     **** /*  Definitions */
  52:Utility.c     **** 
  53:Utility.c     **** /***********************************************************
  54:Utility.c     **** 	Function Name: Utility_delay
  55:Utility.c     **** 	Function Description: This function provides a busy-wait
  56:Utility.c     **** 	delay for a specified number of milliseconds.
  57:Utility.c     **** 	Inputs:  numMs - the number of milliseconds to delay
  58:Utility.c     **** 	Outputs: none
  59:Utility.c     **** 	NOTES: The delay_loop_1 and delay_loop_2 functions found
  60:Utility.c     **** 	in avr/delay.h provide accurate 3 and 4 cycle delay loops
  61:Utility.c     **** 	if needed...this isn't really a millisecond, so DON'T
  62:Utility.c     ****     depend on it for exact timing...
  63:Utility.c     **** ***********************************************************/	
  64:Utility.c     **** void Utility_delay(unsigned short numMs)
  65:Utility.c     **** {
  64               	.LM1:
  65               	/* prologue: frame size=4 */
  66 0000 CF93      		push r28
  67 0002 DF93      		push r29
  68 0004 CDB7      		in r28,__SP_L__
  69 0006 DEB7      		in r29,__SP_H__
  70 0008 2497      		sbiw r28,4
  71 000a 0FB6      		in __tmp_reg__,__SREG__
  72 000c F894      		cli
  73 000e DEBF      		out __SP_H__,r29
  74 0010 0FBE      		out __SREG__,__tmp_reg__
  75 0012 CDBF      		out __SP_L__,r28
  76               	/* prologue end (size=10) */
  77 0014 9C01      		movw r18,r24
  66:Utility.c     **** 	volatile unsigned short i=0,j=0;
  79               	.LM2:
  80 0016 1982      		std Y+1,__zero_reg__
  81 0018 1A82      		std Y+2,__zero_reg__
  82 001a 1B82      		std Y+3,__zero_reg__
  83 001c 1C82      		std Y+4,__zero_reg__
  67:Utility.c     **** #ifndef SIMULATION
  68:Utility.c     **** 	for (i=0; i<numMs; i++)
  85               	.LM3:
  86 001e 1982      		std Y+1,__zero_reg__
  87 0020 1A82      		std Y+2,__zero_reg__
  88 0022 8981      		ldd r24,Y+1
  89 0024 9A81      		ldd r25,Y+2
  90 0026 8217      		cp r24,r18
  91 0028 9307      		cpc r25,r19
  92 002a E0F4      		brsh .L11
  93               	.L9:
  69:Utility.c     **** 	{
  70:Utility.c     **** 		for (j=0; j<1000; j++)
  95               	.LM4:
  96 002c 1B82      		std Y+3,__zero_reg__
  97 002e 1C82      		std Y+4,__zero_reg__
  98 0030 8B81      		ldd r24,Y+3
  99 0032 9C81      		ldd r25,Y+4
 100 0034 885E      		subi r24,lo8(1000)
 101 0036 9340      		sbci r25,hi8(1000)
 102 0038 58F4      		brsh .L13
 103               	.L8:
  71:Utility.c     **** 		{
  72:Utility.c     **** 			asm volatile("nop"::);
 105               	.LM5:
 106               	/* #APP */
 107 003a 0000      		nop
 109               	.LM6:
 110               	/* #NOAPP */
 111 003c 8B81      		ldd r24,Y+3
 112 003e 9C81      		ldd r25,Y+4
 113 0040 0196      		adiw r24,1
 114 0042 8B83      		std Y+3,r24
 115 0044 9C83      		std Y+4,r25
 116 0046 8B81      		ldd r24,Y+3
 117 0048 9C81      		ldd r25,Y+4
 118 004a 885E      		subi r24,lo8(1000)
 119 004c 9340      		sbci r25,hi8(1000)
 120 004e A8F3      		brlo .L8
 121               	.L13:
 123               	.LM7:
 124 0050 8981      		ldd r24,Y+1
 125 0052 9A81      		ldd r25,Y+2
 126 0054 0196      		adiw r24,1
 127 0056 8983      		std Y+1,r24
 128 0058 9A83      		std Y+2,r25
 129 005a 8981      		ldd r24,Y+1
 130 005c 9A81      		ldd r25,Y+2
 131 005e 8217      		cp r24,r18
 132 0060 9307      		cpc r25,r19
 133 0062 20F3      		brlo .L9
 134               	.L11:
 135               	/* epilogue: frame size=4 */
 136 0064 2496      		adiw r28,4
 137 0066 0FB6      		in __tmp_reg__,__SREG__
 138 0068 F894      		cli
 139 006a DEBF      		out __SP_H__,r29
 140 006c 0FBE      		out __SREG__,__tmp_reg__
 141 006e CDBF      		out __SP_L__,r28
 142 0070 DF91      		pop r29
 143 0072 CF91      		pop r28
 144 0074 0895      		ret
 145               	/* epilogue end (size=9) */
 146               	/* function Utility_delay size 62 (43) */
 152               	.Lscope0:
 153               		.text
 155               	Letext:
 156               	/* File "Utility.c": code   62 = 0x003e (  43), prologues  10, epilogues   9 */
DEFINED SYMBOLS
                            *ABS*:00000000 Utility.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSQaaaa.s:62     .text:00000000 Utility_delay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSQaaaa.s:155    .text:00000076 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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