📄 elevator.lst
字号:
485 0126 8093 9C00 sts 156,r24
127:elevator.c **** }
128:elevator.c **** }
486 .stabn 68,0,128,.LM53-__vector_32
487 .LM53:
488 .L41:
489 /* epilogue: frame size=0 */
490 012a FF91 pop r31
491 012c EF91 pop r30
492 012e 9F91 pop r25
493 0130 8F91 pop r24
494 0132 0F90 pop __tmp_reg__
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 12
495 0134 0FBE out __SREG__,__tmp_reg__
496 0136 0F90 pop __tmp_reg__
497 0138 1F90 pop __zero_reg__
498 013a 1895 reti
499 /* epilogue end (size=9) */
500 /* function __vector_32 size 42 (24) */
501 .Lfe9:
502 .size __vector_32,.Lfe9-__vector_32
503 .Lscope8:
504 .stabs "",36,0,0,.Lscope8-__vector_32
505 .stabs "USART_Transmit0:F(0,20)",36,0,131,USART_Transmit0
506 .stabs "buf0:P(1,5)",64,0,130,30
507 .stabs "size0:P(1,3)",64,0,130,24
508 .global USART_Transmit0
509 .type USART_Transmit0,@function
510 USART_Transmit0:
129:elevator.c ****
130:elevator.c **** void USART_Transmit0(u08 *buf0,u16 size0)
131:elevator.c **** {
511 .stabn 68,0,131,.LM54-USART_Transmit0
512 .LM54:
513 /* prologue: frame size=0 */
514 /* prologue end (size=0) */
515 013c FC01 movw r30,r24
132:elevator.c **** array0=buf0;
516 .stabn 68,0,132,.LM55-USART_Transmit0
517 .LM55:
518 013e F093 0000 sts (array0)+1,r31
519 0142 E093 0000 sts array0,r30
133:elevator.c **** counter0=size0;
520 .stabn 68,0,133,.LM56-USART_Transmit0
521 .LM56:
522 0146 7093 0000 sts (counter0)+1,r23
523 014a 6093 0000 sts counter0,r22
134:elevator.c **** outp(*buf0,UDR1);
524 .stabn 68,0,134,.LM57-USART_Transmit0
525 .LM57:
526 014e 8081 ld r24,Z
527 0150 8093 9C00 sts 156,r24
135:elevator.c **** }
528 .stabn 68,0,135,.LM58-USART_Transmit0
529 .LM58:
530 /* epilogue: frame size=0 */
531 0154 0895 ret
532 /* epilogue end (size=1) */
533 /* function USART_Transmit0 size 13 (12) */
534 .Lfe10:
535 .size USART_Transmit0,.Lfe10-USART_Transmit0
536 .Lscope9:
537 .stabs "",36,0,0,.Lscope9-USART_Transmit0
538 .stabs "__vector_20:F(0,20)",36,0,140,__vector_20
539 .global __vector_20
540 .type __vector_20,@function
541 __vector_20:
136:elevator.c ****
137:elevator.c ****
138:elevator.c ****
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 13
139:elevator.c **** SIGNAL(SIG_UART0_TRANS)
140:elevator.c **** {
542 .stabn 68,0,140,.LM59-__vector_20
543 .LM59:
544 /* prologue: frame size=0 */
545 0156 1F92 push __zero_reg__
546 0158 0F92 push __tmp_reg__
547 015a 0FB6 in __tmp_reg__,__SREG__
548 015c 0F92 push __tmp_reg__
549 015e 1124 clr __zero_reg__
550 0160 8F93 push r24
551 0162 9F93 push r25
552 0164 EF93 push r30
553 0166 FF93 push r31
554 /* prologue end (size=9) */
141:elevator.c **** array0++;
555 .stabn 68,0,141,.LM60-__vector_20
556 .LM60:
557 0168 E091 0000 lds r30,array0
558 016c F091 0000 lds r31,(array0)+1
559 0170 3196 adiw r30,1
560 0172 F093 0000 sts (array0)+1,r31
561 0176 E093 0000 sts array0,r30
562 017a 3197 sbiw r30,1
142:elevator.c **** if(--counter0)
563 .stabn 68,0,142,.LM61-__vector_20
564 .LM61:
565 017c 8091 0000 lds r24,counter0
566 0180 9091 0000 lds r25,(counter0)+1
567 0184 0197 sbiw r24,1
568 0186 9093 0000 sts (counter0)+1,r25
569 018a 8093 0000 sts counter0,r24
570 018e 892B or r24,r25
571 0190 19F0 breq .L44
143:elevator.c **** {
144:elevator.c **** outp(*array0,UDR1);
572 .stabn 68,0,144,.LM62-__vector_20
573 .LM62:
574 0192 8181 ldd r24,Z+1
575 0194 8093 9C00 sts 156,r24
145:elevator.c **** }
146:elevator.c **** }
576 .stabn 68,0,146,.LM63-__vector_20
577 .LM63:
578 .L44:
579 /* epilogue: frame size=0 */
580 0198 FF91 pop r31
581 019a EF91 pop r30
582 019c 9F91 pop r25
583 019e 8F91 pop r24
584 01a0 0F90 pop __tmp_reg__
585 01a2 0FBE out __SREG__,__tmp_reg__
586 01a4 0F90 pop __tmp_reg__
587 01a6 1F90 pop __zero_reg__
588 01a8 1895 reti
589 /* epilogue end (size=9) */
590 /* function __vector_20 size 42 (24) */
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 14
591 .Lfe11:
592 .size __vector_20,.Lfe11-__vector_20
593 .Lscope10:
594 .stabs "",36,0,0,.Lscope10-__vector_20
595 .stabs "__vector_30:F(0,20)",36,0,151,__vector_30
596 .global __vector_30
597 .type __vector_30,@function
598 __vector_30:
147:elevator.c ****
148:elevator.c ****
149:elevator.c ****
150:elevator.c **** SIGNAL(SIG_UART1_RECV)
151:elevator.c **** {
599 .stabn 68,0,151,.LM64-__vector_30
600 .LM64:
601 /* prologue: frame size=0 */
602 01aa 1F92 push __zero_reg__
603 01ac 0F92 push __tmp_reg__
604 01ae 0FB6 in __tmp_reg__,__SREG__
605 01b0 0F92 push __tmp_reg__
606 01b2 1124 clr __zero_reg__
607 01b4 2F93 push r18
608 01b6 3F93 push r19
609 01b8 4F93 push r20
610 01ba 5F93 push r21
611 01bc 6F93 push r22
612 01be 7F93 push r23
613 01c0 8F93 push r24
614 01c2 9F93 push r25
615 01c4 AF93 push r26
616 01c6 BF93 push r27
617 01c8 EF93 push r30
618 01ca FF93 push r31
619 /* prologue end (size=17) */
152:elevator.c **** led[k]= inp(UDR1); /* read byte for UART data buffer */
620 .stabn 68,0,152,.LM65-__vector_30
621 .LM65:
622 01cc 8091 0000 lds r24,k
623 01d0 E0E0 ldi r30,lo8(led)
624 01d2 F0E0 ldi r31,hi8(led)
625 01d4 E80F add r30,r24
626 01d6 F11D adc r31,__zero_reg__
627 01d8 9091 9C00 lds r25,156
628 01dc 9083 st Z,r25
153:elevator.c **** if(k==0)
629 .stabn 68,0,153,.LM66-__vector_30
630 .LM66:
631 01de 8823 tst r24
632 01e0 39F4 brne .L47
154:elevator.c **** {
155:elevator.c **** if(led[k]==0x55)
633 .stabn 68,0,155,.LM67-__vector_30
634 .LM67:
635 01e2 9535 cpi r25,lo8(85)
636 01e4 09F0 breq _PC_+2
637 01e6 4EC0 rjmp .L46
638 .L86:
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 15
639 01e8 8F5F subi r24,lo8(-(1))
640 01ea 8093 0000 sts k,r24
641 01ee 4AC0 rjmp .L46
642 .L47:
156:elevator.c **** k++;
157:elevator.c **** }
158:elevator.c **** else if(k==1)
643 .stabn 68,0,158,.LM68-__vector_30
644 .LM68:
645 01f0 8130 cpi r24,lo8(1)
646 01f2 D1F3 breq .L86
159:elevator.c **** {
160:elevator.c **** if(led[k]!=0xdd&&led[k]<=0x01&&led[k]>=0x60&&led[k]!=0xcc&&led[k]!=0xbc&&led[k]!=0xcb)
161:elevator.c **** {
162:elevator.c **** k=0;
163:elevator.c **** led[0]=0;
164:elevator.c **** }
165:elevator.c **** else
166:elevator.c **** k++;
167:elevator.c **** }
168:elevator.c **** else if(k==2)
647 .stabn 68,0,168,.LM69-__vector_30
648 .LM69:
649 01f4 8230 cpi r24,lo8(2)
650 01f6 C1F3 breq .L86
169:elevator.c **** {
170:elevator.c **** k++;
171:elevator.c **** }
172:elevator.c **** else if(k==3)
651 .stabn 68,0,172,.LM70-__vector_30
652 .LM70:
653 01f8 8330 cpi r24,lo8(3)
654 01fa 79F1 breq .L87
173:elevator.c **** {
174:elevator.c **** k++;
175:elevator.c **** if(led[3]==0x6a) //&&led[1]=0xcc
176:elevator.c **** {
177:elevator.c **** ok1=1;
178:elevator.c **** }
179:elevator.c **** else if(led[3]==0x4a) //&&led[1]=0xcc
180:elevator.c **** {
181:elevator.c **** err1=1;
182:elevator.c **** }
183:elevator.c **** else
184:elevator.c **** {
185:elevator.c **** ok1=0;
186:elevator.c **** err1=0;
187:elevator.c **** }
188:elevator.c **** }
189:elevator.c **** else if(k==4)
655 .stabn 68,0,189,.LM71-__vector_30
656 .LM71:
657 01fc 8430 cpi r24,lo8(4)
658 01fe 91F0 breq .L88
190:elevator.c **** {
191:elevator.c **** byt1[0]=led[1];
192:elevator.c **** byt1[1]=led[2];
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 16
193:elevator.c **** byt1[2]=led[3];
194:elevator.c **** byt1[3]=led[4];
195:elevator.c **** d1=crc_gen(byt1,4);//CRC校验
196:elevator.c **** k++;
197:elevator.c **** }
198:elevator.c **** else if(k==5)
659 .stabn 68,0,198,.LM72-__vector_30
660 .LM72:
661 0200 8530 cpi r24,lo8(5)
662 0202 59F0 breq .L89
199:elevator.c **** {
200:elevator.c **** k=0;
201:elevator.c **** led[0]=0;
202:elevator.c **** if(led[k]==0xaa)
203:elevator.c **** {
204:elevator.c **** if(ok1!=1&&err1!=1)
205:elevator.c **** {
206:elevator.c **** byt1[0]=0xbb;
207:elevator.c **** if(d1==0)
208:elevator.c **** {
209:elevator.c **** if(led[1]==0xcc)
210:elevator.c **** {
211:elevator.c **** if(led[2]==0xbc)
212:elevator.c **** {
213:elevator.c **** floor=led[3];
214:elevator.c **** }
215:elevator.c **** else if(led[2]==0xcb)
216:elevator.c **** {
217:elevator.c **** shield[pin]=led[3];
218:elevator.c **** pin++;
219:elevator.c **** }
220:elevator.c **** else
221:elevator.c **** {
222:elevator.c **** if(state==0)
223:elevator.c **** {
224:elevator.c **** chain1(led[3]);
225:elevator.c **** instruction1++;
226:elevator.c **** }
227:elevator.c **** else
228:elevator.c **** {
229:elevator.c **** *(*putin1+0)=led[1];
230:elevator.c **** *(*putin1+1)=led[3];
231:elevator.c **** putin1++;
232:elevator.c **** r1++;
233:elevator.c **** if(r1>=50)
234:elevator.c **** {
235:elevator.c **** r1=0;
236:elevator.c **** putin1=store2;
237:elevator.c **** }
238:elevator.c **** }
239:elevator.c **** }
240:elevator.c **** }
241:elevator.c **** else
242:elevator.c **** {
243:elevator.c **** if(led[1]==0xdd)
244:elevator.c **** {send_buf0[1]=0xdd;}
245:elevator.c **** else
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s page 17
246:elevator.c **** {send_buf0[1]=led[1];}
247:elevator.c **** send_buf0[3]=led[3];
248:elevator.c **** byt0[0]=send_buf0[1];
249:elevator.c **** byt0[1]=send_buf0[2];
250:elevator.c **** byt0[2]=send_buf0[3];
251:elevator.c **** send_buf0[4]=crc_gen(byt0,3);
252:elevator.c **** USART_Transmit0(send_buf0,6);
253:elevator.c **** }
254:elevator.c ****
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -