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

📄 macclock.lst

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LST
字号:
   1               		.file	"macClock.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:
  88               	.global	ClockStart
  90               	ClockStart:
   1:macClock.c    **** /*
   2:macClock.c    **** ****************************************************************************
   3:macClock.c    **** *              宁波中科集成电路设计中心  版权所有 Copyright 2005
   4:macClock.c    **** *						http:\\www.nbicc.com
   5:macClock.c    **** *文件名:  mac.c
   6:macClock.c    **** *程序员:  夏鹏		xpsonny@nbicc.com
   7:macClock.c    **** *主要内容  定时器
   8:macClock.c    **** 
   9:macClock.c    **** *如有问题或BUG,请登录www.wsn.net.cn 提问或用邮件和作者联系
  10:macClock.c    **** ****************************************************************************
  11:macClock.c    **** */
  12:macClock.c    **** 
  13:macClock.c    **** #include "macClock.h"
  14:macClock.c    **** #include "os.h"
  15:macClock.c    **** #include "led.h"
  16:macClock.c    **** #include "mac.h"
  17:macClock.c    **** #include "dataqueue.h"
  18:macClock.c    **** #include <inttypes.h>
  19:macClock.c    **** #include <avr/io.h>
  20:macClock.c    **** #include <avr/interrupt.h>
  21:macClock.c    **** #include <avr/signal.h>
  22:macClock.c    **** 
  23:macClock.c    **** #define SCALE_1ms 2
  24:macClock.c    **** #define INTERVAL_1ms 30000//15000  // 7650
  25:macClock.c    **** void ClockStart(void)
  26:macClock.c    **** {
  92               	.LM1:
  93               	/* prologue: frame size=0 */
  94               	/* prologue end (size=0) */
  27:macClock.c    ****     uint8_t intEnabled, scale = SCALE_1ms;
  28:macClock.c    **** 	uint16_t interval = INTERVAL_1ms;
  29:macClock.c    **** 	scale |= 0x8;
  30:macClock.c    **** 	cbi(TIMSK, OCIE1A);						// 关比较器A的输出中断
  96               	.LM2:
  97 0000 87B7      		in r24,87-0x20
  98 0002 8F7E      		andi r24,lo8(-17)
  99 0004 87BF      		out 87-0x20,r24
  31:macClock.c    **** 	intEnabled = bit_is_set(SREG, 7);
 101               	.LM3:
 102 0006 2FB7      		in r18,95-0x20
 103 0008 2078      		andi r18,lo8(-128)
  32:macClock.c    **** 	cli();									// 访问寄存器前先关中断
 105               	.LM4:
 106               	/* #APP */
 107 000a F894      		cli
  33:macClock.c    **** 	outw(TCNT1L, 0);						// 清空寄存器
 109               	.LM5:
 110               	/* #NOAPP */
 111 000c 1DBC      		out (76)+1-0x20,__zero_reg__
 112 000e 1CBC      		out 76-0x20,__zero_reg__
  34:macClock.c    **** 	outw(OCR1AL, interval);					// 设置比较匹配寄存器
 114               	.LM6:
 115 0010 80E3      		ldi r24,lo8(30000)
 116 0012 95E7      		ldi r25,hi8(30000)
 117 0014 9BBD      		out (74)+1-0x20,r25
 118 0016 8ABD      		out 74-0x20,r24
  35:macClock.c    **** 	if (intEnabled) 
 120               	.LM7:
 121 0018 2223      		tst r18
 122 001a 09F0      		breq .L2
  36:macClock.c    **** 		sei();
 124               	.LM8:
 125               	/* #APP */
 126 001c 7894      		sei
 127               	/* #NOAPP */
 128               	.L2:
  37:macClock.c    **** 	outp(scale, TCCR1B);					// 设置为8分频
 130               	.LM9:
 131 001e 8AE0      		ldi r24,lo8(10)
 132 0020 8EBD      		out 78-0x20,r24
  38:macClock.c    **** 	sbi(TIMSK, OCIE1A);						// 开中断
 134               	.LM10:
 135 0022 87B7      		in r24,87-0x20
 136 0024 8061      		ori r24,lo8(16)
 137 0026 87BF      		out 87-0x20,r24
 138               	/* epilogue: frame size=0 */
 139 0028 0895      		ret
 140               	/* epilogue end (size=1) */
 141               	/* function ClockStart size 23 (22) */
 146               	.global	__vector_12
 148               	__vector_12:
  39:macClock.c    **** }
  40:macClock.c    **** 
  41:macClock.c    **** //16ms一次中断
  42:macClock.c    **** SIGNAL(SIG_OUTPUT_COMPARE1A)				// 中断服务程序
  43:macClock.c    **** {
 150               	.LM11:
 151               	/* prologue: frame size=0 */
 152 002a 1F92      		push __zero_reg__
 153 002c 0F92      		push __tmp_reg__
 154 002e 0FB6      		in __tmp_reg__,__SREG__
 155 0030 0F92      		push __tmp_reg__
 156 0032 1124      		clr __zero_reg__
 157 0034 2F93      		push r18
 158 0036 3F93      		push r19
 159 0038 4F93      		push r20
 160 003a 5F93      		push r21
 161 003c 6F93      		push r22
 162 003e 7F93      		push r23
 163 0040 8F93      		push r24
 164 0042 9F93      		push r25
 165 0044 AF93      		push r26
 166 0046 BF93      		push r27
 167 0048 EF93      		push r30
 168 004a FF93      		push r31
 169               	/* prologue end (size=17) */
  44:macClock.c    ****     MACClockFire();
 171               	.LM12:
 172 004c 0E94 0000 		call MACClockFire
  45:macClock.c    **** 	MACTask();
 174               	.LM13:
 175 0050 0E94 0000 		call MACTask
 176               	/* epilogue: frame size=0 */
 177 0054 FF91      		pop r31
 178 0056 EF91      		pop r30
 179 0058 BF91      		pop r27
 180 005a AF91      		pop r26
 181 005c 9F91      		pop r25
 182 005e 8F91      		pop r24
 183 0060 7F91      		pop r23
 184 0062 6F91      		pop r22
 185 0064 5F91      		pop r21
 186 0066 4F91      		pop r20
 187 0068 3F91      		pop r19
 188 006a 2F91      		pop r18
 189 006c 0F90      		pop __tmp_reg__
 190 006e 0FBE      		out __SREG__,__tmp_reg__
 191 0070 0F90      		pop __tmp_reg__
 192 0072 1F90      		pop __zero_reg__
 193 0074 1895      		reti
 194               	/* epilogue end (size=17) */
 195               	/* function __vector_12 size 38 (4) */
 197               		.comm RecordPassed,30,1
 198               		.comm Queuemsgqueue,372,1
 199               		.comm QueueBroadcast,62,1
 200               		.comm QueueLocalMsg,62,1
 205               		.text
 207               	Letext:
 208               	/* File "macClock.c": code   61 = 0x003d (  26), prologues  17, epilogues  18 */
DEFINED SYMBOLS
                            *ABS*:00000000 macClock.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0abaaa.s:90     .text:00000000 ClockStart
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0abaaa.s:148    .text:0000002a __vector_12
                            *COM*:0000001e RecordPassed
                            *COM*:00000174 Queuemsgqueue
                            *COM*:0000003e QueueBroadcast
                            *COM*:0000003e QueueLocalMsg
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0abaaa.s:207    .text:00000076 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
MACClockFire
MACTask

⌨️ 快捷键说明

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