?? level3.lst
字號:
176 .LM24:
177 0076 9093 0000 sts message_flags,r25
105:level3.c **** forward_ptr = data_buffer; // initialize fwd pointer
178 .stabn 68,0,105,.LM25-main_receiver
179 .LM25:
180 007a 80E0 ldi r24,lo8(data_buffer)
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 6
181 007c 90E0 ldi r25,hi8(data_buffer)
182 007e 9093 0000 sts (forward_ptr)+1,r25
183 0082 8093 0000 sts forward_ptr,r24
106:level3.c **** fwd_bit_count = 0;
107:level3.c **** if ( InventoryStep_version4( ) )
184 .stabn 68,0,107,.LM26-main_receiver
185 .LM26:
186 0086 FAD0 rcall InventoryStep_version4
187 0088 8823 tst r24
188 008a 49F2 breq .L23
108:level3.c **** {
109:level3.c **** Send_Card_ID( weigan_format , weigan_data );
189 .stabn 68,0,109,.LM27-main_receiver
190 .LM27:
191 008c 60E0 ldi r22,lo8(weigan_data)
192 008e 70E0 ldi r23,hi8(weigan_data)
193 0090 8091 0000 lds r24,weigan_format
194 0094 00D0 rcall Send_Card_ID
110:level3.c ****
111:level3.c **** Set_GREEN_LED( );
195 .stabn 68,0,111,.LM28-main_receiver
196 .LM28:
197 0096 9698 cbi 50-0x20,6
112:level3.c **** Delayms( 150 );
198 .stabn 68,0,112,.LM29-main_receiver
199 .LM29:
200 0098 86E9 ldi r24,lo8(150)
201 009a 90E0 ldi r25,hi8(150)
202 009c 00D0 rcall Delayms
113:level3.c **** Set_RED_LED( );
203 .stabn 68,0,113,.LM30-main_receiver
204 .LM30:
205 009e 969A sbi 50-0x20,6
114:level3.c ****
115:level3.c **** if ( alarm_enable == 0x01 )
206 .stabn 68,0,115,.LM31-main_receiver
207 .LM31:
208 00a0 8091 0000 lds r24,alarm_enable
209 00a4 8C17 cp r24,r28
210 00a6 51F5 brne .L8
116:level3.c **** {
117:level3.c **** if ( PINB & ( 1 << CYE ) )
211 .stabn 68,0,117,.LM32-main_receiver
212 .LM32:
213 00a8 B59B sbis 54-0x20,5
214 00aa 09C0 rjmp .L9
118:level3.c **** {
119:level3.c **** beep_times = 2;
215 .stabn 68,0,119,.LM33-main_receiver
216 .LM33:
217 00ac 82E0 ldi r24,lo8(2)
218 00ae 8093 0000 sts beep_times,r24
120:level3.c **** unauth_card_times++;
219 .stabn 68,0,120,.LM34-main_receiver
220 .LM34:
221 00b2 8091 0000 lds r24,unauth_card_times
222 00b6 8C0F add r24,r28
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 7
223 00b8 8093 0000 sts unauth_card_times,r24
224 00bc 04C0 rjmp .L10
225 .L9:
121:level3.c **** }
122:level3.c **** else
123:level3.c **** {
124:level3.c **** beep_times = 1;
226 .stabn 68,0,124,.LM35-main_receiver
227 .LM35:
228 00be C093 0000 sts beep_times,r28
125:level3.c **** unauth_card_times = 0;
229 .stabn 68,0,125,.LM36-main_receiver
230 .LM36:
231 00c2 1092 0000 sts unauth_card_times,__zero_reg__
232 .L10:
126:level3.c **** }
127:level3.c **** Beep( beep_times );
233 .stabn 68,0,127,.LM37-main_receiver
234 .LM37:
235 00c6 8091 0000 lds r24,beep_times
236 00ca 00D0 rcall Beep
128:level3.c **** if ( unauth_card_times > 3 )
237 .stabn 68,0,128,.LM38-main_receiver
238 .LM38:
239 00cc 8091 0000 lds r24,unauth_card_times
240 00d0 8430 cpi r24,lo8(4)
241 00d2 08F4 brsh .+2
242 00d4 A4CF rjmp .L23
129:level3.c **** {
130:level3.c **** unauth_card_times = 0x00;
243 .stabn 68,0,130,.LM39-main_receiver
244 .LM39:
245 .LBB3:
246 00d6 1092 0000 sts unauth_card_times,__zero_reg__
131:level3.c **** uint8_t i;
132:level3.c **** for ( i = 0 ; i < alarm_time ; i++ )
247 .stabn 68,0,132,.LM40-main_receiver
248 .LM40:
249 00da C0E0 ldi r28,lo8(0)
250 00dc 8091 0000 lds r24,alarm_time
251 00e0 C817 cp r28,r24
252 00e2 08F0 brlo .+2
253 00e4 9CCF rjmp .L23
254 .L16:
133:level3.c **** {
134:level3.c **** cbi( PORTD , BEEP_PIN );
255 .stabn 68,0,134,.LM41-main_receiver
256 .LM41:
257 00e6 9798 cbi 50-0x20,7
135:level3.c **** Delayms( 600 );
258 .stabn 68,0,135,.LM42-main_receiver
259 .LM42:
260 00e8 88E5 ldi r24,lo8(600)
261 00ea 92E0 ldi r25,hi8(600)
262 00ec 00D0 rcall Delayms
136:level3.c **** sbi( PORTD , BEEP_PIN );
263 .stabn 68,0,136,.LM43-main_receiver
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 8
264 .LM43:
265 00ee 979A sbi 50-0x20,7
266 .stabn 68,0,132,.LM44-main_receiver
267 .LM44:
268 00f0 CF5F subi r28,lo8(-(1))
269 00f2 8091 0000 lds r24,alarm_time
270 00f6 C817 cp r28,r24
271 00f8 B0F3 brlo .L16
272 .LBE3:
273 00fa 91CF rjmp .L23
274 .L8:
137:level3.c **** }
138:level3.c **** }
139:level3.c **** }
140:level3.c **** else
141:level3.c **** {
142:level3.c **** if ( PINB & ( 1 << CYE ) )
275 .stabn 68,0,142,.LM45-main_receiver
276 .LM45:
277 00fc B59B sbis 54-0x20,5
278 00fe 04C0 rjmp .L18
143:level3.c **** {
144:level3.c **** beep_times = 2;
279 .stabn 68,0,144,.LM46-main_receiver
280 .LM46:
281 0100 82E0 ldi r24,lo8(2)
282 0102 8093 0000 sts beep_times,r24
283 0106 02C0 rjmp .L19
284 .L18:
145:level3.c **** }
146:level3.c **** else
147:level3.c **** {
148:level3.c **** beep_times = 1;
285 .stabn 68,0,148,.LM47-main_receiver
286 .LM47:
287 0108 C093 0000 sts beep_times,r28
288 .L19:
149:level3.c **** }
150:level3.c **** Beep( beep_times );
289 .stabn 68,0,150,.LM48-main_receiver
290 .LM48:
291 010c 8091 0000 lds r24,beep_times
292 0110 00D0 rcall Beep
293 0112 85CF rjmp .L23
151:level3.c **** }
152:level3.c **** }
153:level3.c **** }
154:level3.c **** }
294 .stabn 68,0,154,.LM49-main_receiver
295 .LM49:
296 .LBE2:
297 /* epilogue: frame size=0 */
298 /* epilogue: noreturn */
299 /* epilogue end (size=0) */
300 /* function main_receiver size 139 (138) */
301 .size main_receiver, .-main_receiver
302 .stabs "i:r(4,2)",64,0,131,28
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 9
303 .stabn 192,0,0,.LBB3-main_receiver
304 .stabn 224,0,0,.LBE3-main_receiver
305 .Lscope0:
306 .stabs "",36,0,0,.Lscope0-main_receiver
307 .stabs "Compute_Timeouts:F(0,20)",36,0,160,Compute_Timeouts
308 .stabs "flags:P(4,2)",64,0,159,28
309 .global Compute_Timeouts
310 .type Compute_Timeouts, @function
311 Compute_Timeouts:
155:level3.c ****
156:level3.c **** //--------------------------------------------------------------
157:level3.c **** //compute the timeouts according to the flag byte
158:level3.c **** //
159:level3.c **** void Compute_Timeouts( uint8_t flags )
160:level3.c **** {
312 .stabn 68,0,160,.LM50-Compute_Timeouts
313 .LM50:
314 /* prologue: frame size=0 */
315 0114 CF93 push r28
316 /* prologue end (size=1) */
317 0116 C82F mov r28,r24
161:level3.c **** register uint16_t pom;
162:level3.c **** register uint16_t corr;
163:level3.c ****
164:level3.c **** pom = expectedResponseLen * 16; //512RF/32 = 16 TCNT0 pulses per bit
318 .stabn 68,0,164,.LM51-Compute_Timeouts
319 .LM51:
320 .LBB4:
321 0118 8091 0000 lds r24,expectedResponseLen
322 011c 282F mov r18,r24
323 011e 3327 clr r19
324 0120 74E0 ldi r23,4
325 0122 220F 1: lsl r18
326 0124 331F rol r19
327 0126 7A95 dec r23
328 0128 E1F7 brne 1b
165:level3.c **** pom += 128; //reserve
329 .stabn 68,0,165,.LM52-Compute_Timeouts
330 .LM52:
331 012a 2058 subi r18,lo8(-(128))
332 012c 3F4F sbci r19,hi8(-(128))
166:level3.c **** corr = expectedResponseLen / 2 + 2; //correction for dual carrier
333 .stabn 68,0,166,.LM53-Compute_Timeouts
334 .LM53:
335 012e 8695 lsr r24
336 0130 9927 clr r25
337 0132 0296 adiw r24,2
167:level3.c ****
168:level3.c **** if ( ( flags & 2 ) == 0 )
338 .stabn 68,0,168,.LM54-Compute_Timeouts
339 .LM54:
340 0134 4C2F mov r20,r28
341 0136 5527 clr r21
342 0138 41FD sbrc r20,1
343 013a 05C0 rjmp .L25
169:level3.c **** pom *= 4;
344 .stabn 68,0,169,.LM55-Compute_Timeouts
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 10
345 .LM55:
346 013c 220F lsl r18
347 013e 331F rol r19
348 0140 220F lsl r18
349 0142 331F rol r19
350 0144 04C0 rjmp .L26
351 .L25:
170:level3.c **** else
171:level3.c **** corr >>= 2;
352 .stabn 68,0,171,.LM56-Compute_Timeouts
353 .LM56:
354 0146 9695 lsr r25
355 0148 8795 ror r24
356 014a 9695 lsr r25
357 014c 8795 ror r24
358 .L26:
172:level3.c ****
173:level3.c **** if ( ( flags & 1 ) == 1 )
359 .stabn 68,0,173,.LM57-Compute_Timeouts
360 .LM57:
361 014e 40FF sbrs r20,0
362 0150 02C0 rjmp .L27
174:level3.c **** pom -= corr;
363 .stabn 68,0,174,.LM58-Compute_Timeouts
364 .LM58:
365 0152 281B sub r18,r24
366 0154 390B sbc r19,r25
367 .L27:
175:level3.c ****
176:level3.c **** pom = ( 19 * ( uint32_t )pom ) / 16 + 1;
368 .stabn 68,0,176,.LM59-Compute_Timeouts
369 .LM59:
370 0156 C901 movw r24,r18
371 0158 AA27 clr r26
372 015a BB27 clr r27
373 015c BC01 movw r22,r24
374 015e CD01 movw r24,r26
375 0160 23E1 ldi r18,lo8(19)
376 0162 30E0 ldi r19,hi8(19)
377 0164 40E0 ldi r20,hlo8(19)
378 0166 50E0 ldi r21,hhi8(19)
379 0168 00D0 rcall __mulsi3
380 016a DC01 movw r26,r24
381 016c CB01 movw r24,r22
382 016e 24E0 ldi r18,4
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -