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

📄 sensor.lst

📁 利用avr c编程的综合程序
💻 LST
字号:
   1               		.file	"sensor.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  75               	.global	get_sensor
  77               	get_sensor:
   1:sensor.c      **** #include <avr/io.h>
   2:sensor.c      **** #include <util/delay.h>
   3:sensor.c      **** #include <avr/interrupt.h>
   4:sensor.c      **** 
   5:sensor.c      **** #include "twi.h"
   6:sensor.c      **** #include "sensor.h"
   7:sensor.c      **** 
   8:sensor.c      **** volatile unsigned char status[2] = {0xff, 0xff};
   9:sensor.c      **** 
  10:sensor.c      **** volatile unsigned char flag = 1;
  11:sensor.c      **** 
  12:sensor.c      **** static struct TWI_slave_data data;
  13:sensor.c      **** 
  14:sensor.c      **** void sensorInit(void)
  15:sensor.c      **** {
  16:sensor.c      **** 	data.length = 2;
  17:sensor.c      **** 	data.string = status;
  18:sensor.c      **** 	data.flag = &flag;
  19:sensor.c      **** 	data.next = &data;
  20:sensor.c      **** 	
  21:sensor.c      **** 	TWI_initialize();
  22:sensor.c      **** 	TWI_slave_initialize(SELF_ADDRESS, 0, &data);
  23:sensor.c      **** 	return;
  24:sensor.c      **** }
  25:sensor.c      **** 
  26:sensor.c      **** void get_sensor(void)
  27:sensor.c      **** {
  78               	__
  79               		in r28,__SP_L__
  80               		in r29,__SP_H__
  81 0000 DF93      	/* prologue: function */
  82 0002 CF93      	/* frame size = 1 */
  84 0006 CDB7      	.LM1:
  85 0008 DEB7      		std Y+1,__zero_reg__
  86               	.L3:
  28:sensor.c      **** 	volatile unsigned char i = 0;
  88               	rame size = 1 */
  90 000a 1982      	.LM1:
  91               		std Y+1,__zero_reg__
  29:sensor.c      **** 	while(flag && (i++) < 255);
  92               	P_H__
  93               	/* prologue: function */
  94 000c 8091 0000 	/* frame size = 1 */
  96 0012 01F0      	.LM1:
  97 0014 8981      		std Y+1,__zero_reg__
  98 0016 8F5F      	.L3:
 100 001a 8150      	.LM2:
 101 001c 00F4      		lds r24,flag
 102               		tst r24
  30:sensor.c      **** 	
  31:sensor.c      **** 	status[0] = data.string[0];
 103               	,.LM1-.LFBB1
 104               	.LM1:
 105 001e E091 0000 		std Y+1,__zero_reg__
 106 0022 F091 0000 	.L3:
 108 0028 8093 0000 	.LM2:
  32:sensor.c      **** 	status[1] = data.string[1];
 109               	ze = 1 */
 111 002c 8181      	.LM1:
 112 002e 8093 0000 		std Y+1,__zero_reg__
  33:sensor.c      **** 	
  34:sensor.c      ****     flag = 1;
 113               	P_H__
 114               	/* prologue: function */
 115 0032 81E0      	/* frame size = 1 */
 117               	.LM1:
  35:sensor.c      **** 	return;
  36:sensor.c      **** }
 118               	28,__SP_L__
 119               		in r29,__SP_H__
 120 0038 0F90      	/* prologue: function */
 121 003a CF91      	/* frame size = 1 */
 123 003e 0895      	.LM1:
 124               		std Y+1,__zero_reg__
 125               	.L3:
 127               	.LM2:
 128               		lds r24,flag
 129               		tst r24
 130               		breq .L2
 131               		ldd r24,Y+1
 132               		subi r24,lo8(-(1))
 133               		std Y+1,r24
 134               		subi r24,1
 135               		brcc .L3
 136 0040 0F93      	.L2:
 138               	.LM3:
 139               		lds r30,data+1
 140               		lds r31,(data+1)+1
 141               		ld r24,Z
 142 0044 00E0      		sts status,r24
 144 0048 82E0      	.LM4:
 145 004a 8093 0000 		ldd r24,Z+1
 146               		sts status+1,r24
 148 004e 80E0      	.LM5:
 149 0050 90E0      		ldi r24,lo8(1)
 150 0052 9093 0000 		sts flag,r24
 151 0056 8093 0000 	/* epilogue start */
 153               	.LM6:
 154 005a 80E0      		pop __tmp_reg__
 155 005c 90E0      		pop r28
 156 005e 9093 0000 		pop r29
 157 0062 8093 0000 		ret
 162               	.Lscope1:
 164 006e 0E94 0000 	.global	sensorInit
 166               	sensorInit:
 168 0074 60E0      	.LM7:
 169 0076 70E0      	.LFBB2:
 170 0078 80E1      		push r16
 171 007a 0E94 0000 		push r17
 172               	/* prologue: function */
 173               	/* frame size = 0 */
 175 007e 1F91      	.LM8:
 176 0080 0F91      		ldi r16,lo8(data)
 177 0082 0895      		ldi r17,hi8(data)
 178               		ldi r24,lo8(2)
 179               		sts data,r24
 181               	.LM9:
 182               		ldi r24,lo8(status)
 183               		ldi r25,hi8(status)
 184               		sts (data+1)+1,r25
 185 0000 FF        		sts data+1,r24
 187               	.LM10:
 188               		ldi r24,lo8(flag)
 189               		ldi r25,hi8(flag)
 190               		sts (data+3)+1,r25
 191 0002 01        		sts data+3,r24
 193               	.LM11:
 194               		sts (data+5)+1,r17
 195               		sts data+5,r16
 197               	.LM12:
 198               		call TWI_initialize
DEFINED SYMBOLS
                            *ABS*:00000000 sensor.c
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:5      *ABS*:00000034 __CCP__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:77     .text:00000000 get_sensor
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:190    .data:00000002 flag
                             .bss:00000000 data
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:184    .data:00000000 status
C:\DOCUME~1\wht\LOCALS~1\Temp/ccGbqE4A.s:132    .text:00000040 sensorInit

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
TWI_initialize
TWI_slave_initialize

⌨️ 快捷键说明

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