📄 sensor.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 + -