📄 elevator.lst
字号:
62:elevator.c **** {
63:elevator.c **** if(lookup==store1[x])
241 .stabn 68,0,63,.LM19-chain1
242 .LM19:
243 004e FD01 movw r30,r26
244 0050 E050 subi r30,lo8(-(store1))
245 0052 F040 sbci r31,hi8(-(store1))
246 0054 8081 ld r24,Z
247 0056 9817 cp r25,r24
248 0058 29F0 breq .L13
249 .stabn 68,0,61,.LM20-chain1
250 .LM20:
251 005a 1196 adiw r26,1
252 005c A730 cpi r26,7
253 005e B105 cpc r27,__zero_reg__
254 0060 B4F3 brlt .L11
255 0062 04C0 rjmp .L5
64:elevator.c **** {
65:elevator.c **** store13[x]=1;
256 .stabn 68,0,65,.LM21-chain1
257 .LM21:
258 .L13:
259 0064 A050 subi r26,lo8(-(store13))
260 0066 B040 sbci r27,hi8(-(store13))
261 0068 81E0 ldi r24,lo8(1)
262 006a 8C93 st X,r24
66:elevator.c **** break;
67:elevator.c **** }
68:elevator.c ****
69:elevator.c **** }
70:elevator.c **** }
263 .stabn 68,0,70,.LM22-chain1
264 .LM22:
265 .L5:
266 .LBE2:
267 /* epilogue: frame size=0 */
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 7
268 006c 0895 ret
269 /* epilogue end (size=1) */
270 /* function chain1 size 19 (18) */
271 .Lfe5:
272 .size chain1,.Lfe5-chain1
273 .stabs "x:r(0,1)",64,0,60,26
274 .stabn 192,0,0,.LBB2-chain1
275 .stabn 224,0,0,.LBE2-chain1
276 .Lscope4:
277 .stabs "",36,0,0,.Lscope4-chain1
278 .stabs "chain0:F(0,20)",36,0,74,chain0
279 .stabs "lookup0:P(1,1)",64,0,73,25
280 .global chain0
281 .type chain0,@function
282 chain0:
71:elevator.c ****
72:elevator.c ****
73:elevator.c **** void chain0(u08 lookup0)
74:elevator.c **** {
283 .stabn 68,0,74,.LM23-chain0
284 .LM23:
285 /* prologue: frame size=0 */
286 /* prologue end (size=0) */
287 006e 982F mov r25,r24
75:elevator.c **** int y;
76:elevator.c **** for(y=0;y<=1;y++)
288 .stabn 68,0,76,.LM24-chain0
289 .LM24:
290 0070 E0E0 ldi r30,lo8(store03)
291 0072 F0E0 ldi r31,hi8(store03)
292 0074 A0E0 ldi r26,lo8(store0)
293 0076 B0E0 ldi r27,hi8(store0)
294 0078 9F01 movw r18,r30
295 007a 2F5F subi r18,lo8(-(1))
296 007c 3F4F sbci r19,hi8(-(1))
297 .L20:
77:elevator.c **** {
78:elevator.c **** if(lookup0==store0[y])
298 .stabn 68,0,78,.LM25-chain0
299 .LM25:
300 .LBB3:
301 007e 8D91 ld r24,X+
302 0080 9817 cp r25,r24
303 0082 29F0 breq .L22
304 .stabn 68,0,76,.LM26-chain0
305 .LM26:
306 0084 3196 adiw r30,1
307 0086 2E17 cp r18,r30
308 0088 3F07 cpc r19,r31
309 008a CCF7 brge .L20
310 008c 02C0 rjmp .L14
79:elevator.c **** {
80:elevator.c **** store03[y]=1;
311 .stabn 68,0,80,.LM27-chain0
312 .LM27:
313 .L22:
314 008e 81E0 ldi r24,lo8(1)
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 8
315 0090 8083 st Z,r24
81:elevator.c **** break;
82:elevator.c **** }
83:elevator.c **** }
84:elevator.c **** }
316 .stabn 68,0,84,.LM28-chain0
317 .LM28:
318 .L14:
319 .LBE3:
320 /* epilogue: frame size=0 */
321 0092 0895 ret
322 /* epilogue end (size=1) */
323 /* function chain0 size 19 (18) */
324 .Lfe6:
325 .size chain0,.Lfe6-chain0
326 .Lscope5:
327 .stabs "",36,0,0,.Lscope5-chain0
328 .stabs "crc_gen:F(0,11)",36,0,88,crc_gen
329 .stabs "data:P(1,5)=*(1,1)",64,0,87,24
330 .stabs "bytes:P(0,1)",64,0,87,22
331 .global crc_gen
332 .type crc_gen,@function
333 crc_gen:
85:elevator.c ****
86:elevator.c ****
87:elevator.c **** unsigned char crc_gen(u08 *data,int bytes)
88:elevator.c **** {
334 .stabn 68,0,88,.LM29-crc_gen
335 .LM29:
336 /* prologue: frame size=0 */
337 /* prologue end (size=0) */
89:elevator.c **** int i;
90:elevator.c **** int j;
91:elevator.c **** u08 genpoly=0xe1;
338 .stabn 68,0,91,.LM30-crc_gen
339 .LM30:
340 .LBB4:
341 0094 51EE ldi r21,lo8(-31)
92:elevator.c **** u08 crc=0;
342 .stabn 68,0,92,.LM31-crc_gen
343 .LM31:
344 0096 40E0 ldi r20,lo8(0)
93:elevator.c **** for(i=0;i<bytes;i++)
345 .stabn 68,0,93,.LM32-crc_gen
346 .LM32:
347 0098 A0E0 ldi r26,lo8(0)
348 009a B0E0 ldi r27,hi8(0)
349 009c A617 cp r26,r22
350 009e B707 cpc r27,r23
351 00a0 8CF4 brge .L37
352 00a2 FC01 movw r30,r24
353 .L34:
94:elevator.c **** {
95:elevator.c **** crc^=data[i];
354 .stabn 68,0,95,.LM33-crc_gen
355 .LM33:
356 00a4 8081 ld r24,Z
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 9
357 00a6 4827 eor r20,r24
96:elevator.c **** for(j=0;j<8;j++)
358 .stabn 68,0,96,.LM34-crc_gen
359 .LM34:
360 00a8 27E0 ldi r18,lo8(7)
361 00aa 30E0 ldi r19,hi8(7)
362 .L33:
97:elevator.c **** {
98:elevator.c **** if(crc&0x80)
363 .stabn 68,0,98,.LM35-crc_gen
364 .LM35:
365 00ac 47FD sbrc r20,7
99:elevator.c **** crc^=genpoly;
366 .stabn 68,0,99,.LM36-crc_gen
367 .LM36:
368 00ae 4527 eor r20,r21
369 .L32:
100:elevator.c **** crc<<=1;
370 .stabn 68,0,100,.LM37-crc_gen
371 .LM37:
372 00b0 440F lsl r20
373 .stabn 68,0,96,.LM38-crc_gen
374 .LM38:
375 00b2 2150 subi r18,lo8(-(-1))
376 00b4 3040 sbci r19,hi8(-(-1))
377 00b6 37FF sbrs r19,7
378 00b8 F9CF rjmp .L33
379 .stabn 68,0,93,.LM39-crc_gen
380 .LM39:
381 00ba 3196 adiw r30,1
382 00bc 1196 adiw r26,1
383 00be A617 cp r26,r22
384 00c0 B707 cpc r27,r23
385 00c2 84F3 brlt .L34
386 .L37:
101:elevator.c **** }
102:elevator.c **** }
103:elevator.c **** if(crc&0x80)
387 .stabn 68,0,103,.LM40-crc_gen
388 .LM40:
389 00c4 47FD sbrc r20,7
104:elevator.c **** crc^=genpoly;
390 .stabn 68,0,104,.LM41-crc_gen
391 .LM41:
392 00c6 4527 eor r20,r21
393 .L35:
105:elevator.c ****
106:elevator.c **** return crc;
394 .stabn 68,0,106,.LM42-crc_gen
395 .LM42:
396 00c8 842F mov r24,r20
397 00ca 9927 clr r25
107:elevator.c **** }
398 .stabn 68,0,107,.LM43-crc_gen
399 .LM43:
400 .LBE4:
401 /* epilogue: frame size=0 */
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 10
402 00cc 0895 ret
403 /* epilogue end (size=1) */
404 /* function crc_gen size 31 (30) */
405 .Lfe7:
406 .size crc_gen,.Lfe7-crc_gen
407 .stabs "i:r(0,1)",64,0,89,26
408 .stabs "j:r(0,1)",64,0,90,18
409 .stabs "genpoly:r(1,1)",64,0,91,21
410 .stabs "crc:r(1,1)",64,0,92,20
411 .stabn 192,0,0,.LBB4-crc_gen
412 .stabn 224,0,0,.LBE4-crc_gen
413 .Lscope6:
414 .stabs "",36,0,0,.Lscope6-crc_gen
415 .stabs "USART_Transmit1:F(0,20)",36,0,114,USART_Transmit1
416 .stabs "buf1:P(1,5)",64,0,113,30
417 .stabs "size1:P(1,3)",64,0,113,24
418 .global USART_Transmit1
419 .type USART_Transmit1,@function
420 USART_Transmit1:
108:elevator.c ****
109:elevator.c ****
110:elevator.c ****
111:elevator.c ****
112:elevator.c ****
113:elevator.c **** void USART_Transmit1(u08 *buf1,u16 size1)
114:elevator.c **** {
421 .stabn 68,0,114,.LM44-USART_Transmit1
422 .LM44:
423 /* prologue: frame size=0 */
424 /* prologue end (size=0) */
425 00ce FC01 movw r30,r24
115:elevator.c **** array1=buf1;
426 .stabn 68,0,115,.LM45-USART_Transmit1
427 .LM45:
428 00d0 F093 0000 sts (array1)+1,r31
429 00d4 E093 0000 sts array1,r30
116:elevator.c **** counter1=size1;
430 .stabn 68,0,116,.LM46-USART_Transmit1
431 .LM46:
432 00d8 7093 0000 sts (counter1)+1,r23
433 00dc 6093 0000 sts counter1,r22
117:elevator.c **** outp(*buf1,UDR1);
434 .stabn 68,0,117,.LM47-USART_Transmit1
435 .LM47:
436 00e0 8081 ld r24,Z
437 00e2 8093 9C00 sts 156,r24
118:elevator.c **** }
438 .stabn 68,0,118,.LM48-USART_Transmit1
439 .LM48:
440 /* epilogue: frame size=0 */
441 00e6 0895 ret
442 /* epilogue end (size=1) */
443 /* function USART_Transmit1 size 13 (12) */
444 .Lfe8:
445 .size USART_Transmit1,.Lfe8-USART_Transmit1
446 .Lscope7:
447 .stabs "",36,0,0,.Lscope7-USART_Transmit1
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 11
448 .stabs "__vector_32:F(0,20)",36,0,122,__vector_32
449 .global __vector_32
450 .type __vector_32,@function
451 __vector_32:
119:elevator.c ****
120:elevator.c ****
121:elevator.c **** SIGNAL(SIG_UART1_TRANS)
122:elevator.c **** {
452 .stabn 68,0,122,.LM49-__vector_32
453 .LM49:
454 /* prologue: frame size=0 */
455 00e8 1F92 push __zero_reg__
456 00ea 0F92 push __tmp_reg__
457 00ec 0FB6 in __tmp_reg__,__SREG__
458 00ee 0F92 push __tmp_reg__
459 00f0 1124 clr __zero_reg__
460 00f2 8F93 push r24
461 00f4 9F93 push r25
462 00f6 EF93 push r30
463 00f8 FF93 push r31
464 /* prologue end (size=9) */
123:elevator.c **** array1++;
465 .stabn 68,0,123,.LM50-__vector_32
466 .LM50:
467 00fa E091 0000 lds r30,array1
468 00fe F091 0000 lds r31,(array1)+1
469 0102 3196 adiw r30,1
470 0104 F093 0000 sts (array1)+1,r31
471 0108 E093 0000 sts array1,r30
472 010c 3197 sbiw r30,1
124:elevator.c **** if(--counter1)
473 .stabn 68,0,124,.LM51-__vector_32
474 .LM51:
475 010e 8091 0000 lds r24,counter1
476 0112 9091 0000 lds r25,(counter1)+1
477 0116 0197 sbiw r24,1
478 0118 9093 0000 sts (counter1)+1,r25
479 011c 8093 0000 sts counter1,r24
480 0120 892B or r24,r25
481 0122 19F0 breq .L41
125:elevator.c **** {
126:elevator.c **** outp(*array1,UDR1);
482 .stabn 68,0,126,.LM52-__vector_32
483 .LM52:
484 0124 8181 ldd r24,Z+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -