root / demos / hunter_prey_john / projects / libwireless / lib / sensor_matrix.lst @ 1694
History | View | Annotate | Download (8.86 KB)
1 | 1693 | emullini | 1 .file "sensor_matrix.c" |
---|---|---|---|
2 | 2 .arch atmega128 |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .text |
||
11 | 11 .global sensor_matrix_create |
||
12 | 13 sensor_matrix_create: |
||
13 | 14 /* prologue: frame size=0 */ |
||
14 | 15 /* prologue end (size=0) */ |
||
15 | 16 0000 1092 0000 sts (m)+1,__zero_reg__ |
||
16 | 17 0004 1092 0000 sts m,__zero_reg__ |
||
17 | 18 0008 40E0 ldi r20,lo8(0) |
||
18 | 19 000a 50E0 ldi r21,hi8(0) |
||
19 | 20 000c A0E0 ldi r26,lo8(m+2) |
||
20 | 21 000e B0E0 ldi r27,hi8(m+2) |
||
21 | 22 0010 6FEF ldi r22,lo8(-1) |
||
22 | 23 0012 22E1 ldi r18,lo8(18) |
||
23 | 24 0014 30E0 ldi r19,hi8(18) |
||
24 | 25 .L2: |
||
25 | 26 0016 1C92 st X,__zero_reg__ |
||
26 | 27 0018 F901 movw r30,r18 |
||
27 | 28 001a E050 subi r30,lo8(-(m)) |
||
28 | 29 001c F040 sbci r31,hi8(-(m)) |
||
29 | 30 001e 80E0 ldi r24,lo8(0) |
||
30 | 31 0020 90E0 ldi r25,hi8(0) |
||
31 | 32 .L3: |
||
32 | 33 0022 6193 st Z+,r22 |
||
33 | 34 0024 0196 adiw r24,1 |
||
34 | 35 0026 8031 cpi r24,16 |
||
35 | 36 0028 9105 cpc r25,__zero_reg__ |
||
36 | 37 002a 01F4 brne .L3 |
||
37 | 38 002c 4F5F subi r20,lo8(-(1)) |
||
38 | 39 002e 5F4F sbci r21,hi8(-(1)) |
||
39 | 40 0030 205F subi r18,lo8(-(16)) |
||
40 | 41 0032 3F4F sbci r19,hi8(-(16)) |
||
41 | 42 0034 1196 adiw r26,1 |
||
42 | 43 0036 4031 cpi r20,16 |
||
43 | 44 0038 5105 cpc r21,__zero_reg__ |
||
44 | 45 003a 01F4 brne .L2 |
||
45 | 46 /* epilogue: frame size=0 */ |
||
46 | 47 003c 0895 ret |
||
47 | 48 /* epilogue end (size=1) */ |
||
48 | 49 /* function sensor_matrix_create size 31 (30) */ |
||
49 | 51 .global sensor_matrix_set_reading |
||
50 | 53 sensor_matrix_set_reading: |
||
51 | 54 /* prologue: frame size=0 */ |
||
52 | 55 /* prologue end (size=0) */ |
||
53 | 56 003e FC01 movw r30,r24 |
||
54 | 57 0040 6031 cpi r22,16 |
||
55 | 58 0042 7105 cpc r23,__zero_reg__ |
||
56 | 59 0044 04F4 brge .L15 |
||
57 | 60 0046 4097 sbiw r24,16 |
||
58 | 61 0048 04F4 brge .L15 |
||
59 | 62 004a 84E0 ldi r24,4 |
||
60 | 63 004c EE0F 1: lsl r30 |
||
61 | 64 004e FF1F rol r31 |
||
62 | 65 0050 8A95 dec r24 |
||
63 | 66 0052 01F4 brne 1b |
||
64 | 67 0054 E050 subi r30,lo8(-(m)) |
||
65 | 68 0056 F040 sbci r31,hi8(-(m)) |
||
66 | 69 0058 E60F add r30,r22 |
||
67 | 70 005a F71F adc r31,r23 |
||
68 | 71 005c 428B std Z+18,r20 |
||
69 | 72 .L15: |
||
70 | 73 005e 0895 ret |
||
71 | 74 /* epilogue: frame size=0 */ |
||
72 | 75 /* epilogue: noreturn */ |
||
73 | 76 /* epilogue end (size=0) */ |
||
74 | 77 /* function sensor_matrix_set_reading size 18 (18) */ |
||
75 | 79 .global sensor_matrix_get_reading |
||
76 | 81 sensor_matrix_get_reading: |
||
77 | 82 /* prologue: frame size=0 */ |
||
78 | 83 /* prologue end (size=0) */ |
||
79 | 84 0060 FC01 movw r30,r24 |
||
80 | 85 0062 4097 sbiw r24,16 |
||
81 | 86 0064 04F4 brge .L17 |
||
82 | 87 0066 6031 cpi r22,16 |
||
83 | 88 0068 7105 cpc r23,__zero_reg__ |
||
84 | 89 006a 04F4 brge .L17 |
||
85 | 90 006c 94E0 ldi r25,4 |
||
86 | 91 006e EE0F 1: lsl r30 |
||
87 | 92 0070 FF1F rol r31 |
||
88 | 93 0072 9A95 dec r25 |
||
89 | 94 0074 01F4 brne 1b |
||
90 | 95 0076 E050 subi r30,lo8(-(m)) |
||
91 | 96 0078 F040 sbci r31,hi8(-(m)) |
||
92 | 97 007a E60F add r30,r22 |
||
93 | 98 007c F71F adc r31,r23 |
||
94 | 99 007e 8289 ldd r24,Z+18 |
||
95 | 100 0080 9927 clr r25 |
||
96 | 101 0082 0895 ret |
||
97 | 102 .L17: |
||
98 | 103 0084 8FEF ldi r24,lo8(-1) |
||
99 | 104 0086 9FEF ldi r25,hi8(-1) |
||
100 | 105 0088 0895 ret |
||
101 | 106 /* epilogue: frame size=0 */ |
||
102 | 107 /* epilogue: noreturn */ |
||
103 | 108 /* epilogue end (size=0) */ |
||
104 | 109 /* function sensor_matrix_get_reading size 22 (22) */ |
||
105 | 111 .global sensor_matrix_set_in_ring |
||
106 | 113 sensor_matrix_set_in_ring: |
||
107 | 114 /* prologue: frame size=0 */ |
||
108 | 115 /* prologue end (size=0) */ |
||
109 | 116 008a DC01 movw r26,r24 |
||
110 | 117 008c 8031 cpi r24,16 |
||
111 | 118 008e 9105 cpc r25,__zero_reg__ |
||
112 | 119 0090 04F4 brge .L31 |
||
113 | 120 0092 6130 cpi r22,1 |
||
114 | 121 0094 7105 cpc r23,__zero_reg__ |
||
115 | 122 0096 01F4 brne .L25 |
||
116 | 123 0098 FC01 movw r30,r24 |
||
117 | 124 009a E050 subi r30,lo8(-(m)) |
||
118 | 125 009c F040 sbci r31,hi8(-(m)) |
||
119 | 126 009e 8281 ldd r24,Z+2 |
||
120 | 127 00a0 8823 tst r24 |
||
121 | 128 00a2 01F4 brne .L27 |
||
122 | 129 00a4 8091 0000 lds r24,m |
||
123 | 130 00a8 9091 0000 lds r25,(m)+1 |
||
124 | 131 00ac 0196 adiw r24,1 |
||
125 | 132 00ae 00C0 rjmp .L32 |
||
126 | 133 .L25: |
||
127 | 134 00b0 6115 cp r22,__zero_reg__ |
||
128 | 135 00b2 7105 cpc r23,__zero_reg__ |
||
129 | 136 00b4 01F4 brne .L27 |
||
130 | 137 00b6 FC01 movw r30,r24 |
||
131 | 138 00b8 E050 subi r30,lo8(-(m)) |
||
132 | 139 00ba F040 sbci r31,hi8(-(m)) |
||
133 | 140 00bc 8281 ldd r24,Z+2 |
||
134 | 141 00be 8823 tst r24 |
||
135 | 142 00c0 01F0 breq .L27 |
||
136 | 143 00c2 8091 0000 lds r24,m |
||
137 | 144 00c6 9091 0000 lds r25,(m)+1 |
||
138 | 145 00ca 0197 sbiw r24,1 |
||
139 | 146 .L32: |
||
140 | 147 00cc 9093 0000 sts (m)+1,r25 |
||
141 | 148 00d0 8093 0000 sts m,r24 |
||
142 | 149 .L27: |
||
143 | 150 00d4 A050 subi r26,lo8(-(m)) |
||
144 | 151 00d6 B040 sbci r27,hi8(-(m)) |
||
145 | 152 00d8 FD01 movw r30,r26 |
||
146 | 153 00da 6283 std Z+2,r22 |
||
147 | 154 .L31: |
||
148 | 155 00dc 0895 ret |
||
149 | 156 /* epilogue: frame size=0 */ |
||
150 | 157 /* epilogue: noreturn */ |
||
151 | 158 /* epilogue end (size=0) */ |
||
152 | 159 /* function sensor_matrix_set_in_ring size 42 (42) */ |
||
153 | 161 .global sensor_matrix_get_in_ring |
||
154 | 163 sensor_matrix_get_in_ring: |
||
155 | 164 /* prologue: frame size=0 */ |
||
156 | 165 /* prologue end (size=0) */ |
||
157 | 166 00de FC01 movw r30,r24 |
||
158 | 167 00e0 4097 sbiw r24,16 |
||
159 | 168 00e2 04F0 brlt .L34 |
||
160 | 169 00e4 8FEF ldi r24,lo8(-1) |
||
161 | 170 00e6 9FEF ldi r25,hi8(-1) |
||
162 | 171 00e8 0895 ret |
||
163 | 172 .L34: |
||
164 | 173 00ea E050 subi r30,lo8(-(m)) |
||
165 | 174 00ec F040 sbci r31,hi8(-(m)) |
||
166 | 175 00ee 8281 ldd r24,Z+2 |
||
167 | 176 00f0 9927 clr r25 |
||
168 | 177 00f2 0895 ret |
||
169 | 178 /* epilogue: frame size=0 */ |
||
170 | 179 /* epilogue: noreturn */ |
||
171 | 180 /* epilogue end (size=0) */ |
||
172 | 181 /* function sensor_matrix_get_in_ring size 12 (12) */ |
||
173 | 183 .global sensor_matrix_get_joined |
||
174 | 185 sensor_matrix_get_joined: |
||
175 | 186 /* prologue: frame size=0 */ |
||
176 | 187 /* prologue end (size=0) */ |
||
177 | 188 00f4 8091 0000 lds r24,m |
||
178 | 189 00f8 9091 0000 lds r25,(m)+1 |
||
179 | 190 /* epilogue: frame size=0 */ |
||
180 | 191 00fc 0895 ret |
||
181 | 192 /* epilogue end (size=1) */ |
||
182 | 193 /* function sensor_matrix_get_joined size 5 (4) */ |
||
183 | 195 .global sensor_matrix_get_size |
||
184 | 197 sensor_matrix_get_size: |
||
185 | 198 /* prologue: frame size=0 */ |
||
186 | 199 /* prologue end (size=0) */ |
||
187 | 200 00fe 80E1 ldi r24,lo8(16) |
||
188 | 201 0100 90E0 ldi r25,hi8(16) |
||
189 | 202 /* epilogue: frame size=0 */ |
||
190 | 203 0102 0895 ret |
||
191 | 204 /* epilogue end (size=1) */ |
||
192 | 205 /* function sensor_matrix_get_size size 3 (2) */ |
||
193 | 207 .comm m,274,1 |
||
194 | 208 /* File "sensor_matrix.c": code 133 = 0x0085 ( 130), prologues 0, epilogues 3 */ |
||
195 | DEFINED SYMBOLS |
||
196 | *ABS*:00000000 sensor_matrix.c |
||
197 | 1694 | emullini | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:3 *ABS*:0000003f __SREG__ |
198 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:4 *ABS*:0000003e __SP_H__ |
||
199 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:5 *ABS*:0000003d __SP_L__ |
||
200 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:6 *ABS*:00000000 __tmp_reg__ |
||
201 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:7 *ABS*:00000001 __zero_reg__ |
||
202 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:13 .text:00000000 sensor_matrix_create |
||
203 | 1693 | emullini | *COM*:00000112 m |
204 | 1694 | emullini | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:53 .text:0000003e sensor_matrix_set_reading |
205 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:81 .text:00000060 sensor_matrix_get_reading |
||
206 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:113 .text:0000008a sensor_matrix_set_in_ring |
||
207 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:163 .text:000000de sensor_matrix_get_in_ring |
||
208 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:185 .text:000000f4 sensor_matrix_get_joined |
||
209 | F:\DOCUME~1\Evan\LOCALS~1\Temp/ccvHQquy.s:197 .text:000000fe sensor_matrix_get_size |
||
210 | 1693 | emullini | |
211 | UNDEFINED SYMBOLS |
||
212 | __do_copy_data |
||
213 | __do_clear_bss |