📄 led-8-2.lst
字号:
424 019B MOVW R18,R22
425 940E 052A CALL empy32s
427 1A20 SUB R2,R16
428 0A31 SBC R3,R17
429 0A42 SBC R4,R18
42A 0A53 SBC R5,R19
42B 9080 021A LDS R8,a2+2
42D 9090 021B LDS R9,a2+3
42F 9060 0218 LDS R6,a2
431 9070 0219 LDS R7,a2+1
433 E04A LDI R20,0xA
434 E050 LDI R21,0
435 E060 LDI R22,0
436 E070 LDI R23,0
437 929A ST R9,-Y
438 928A ST R8,-Y
439 927A ST R7,-Y
43A 926A ST R6,-Y
43B 018A MOVW R16,R20
43C 019B MOVW R18,R22
43D 940E 052A CALL empy32s
43F 1A20 SUB R2,R16
440 0A31 SBC R3,R17
441 0A42 SBC R4,R18
442 0A53 SBC R5,R19
443 9230 021D STS a1+1,R3
445 9220 021C STS a1,R2
447 9250 021F STS a1+3,R5
449 9240 021E STS a1+2,R4
44B 940E 056F CALL pop_xgsetF00C
44D 9624 ADIW R28,4
44E 9508 RET
_main:
bb --> R10
aa --> Y,+0
44F 9724 SBIW R28,4
(0027) }
(0028)
(0029)
(0030) //主函数
(0031) main()
(0032) {
(0033) unsigned long aa=10000;
450 E180 LDI R24,0x10
451 E297 LDI R25,0x27
452 E0A0 LDI R26,0
453 E0B0 LDI R27,0
454 8388 STD Y+0,R24
455 8399 STD Y+1,R25
456 83AA STD Y+2,R26
457 83BB STD Y+3,R27
(0034) uint bb=0;
458 24AA CLR R10
459 24BB CLR R11
(0035) DDRA=0xff; //初始化端口A
45A EF8F LDI R24,0xFF
45B BB8A OUT 0x1A,R24
(0036) PORTA=0xff;
45C BB8B OUT 0x1B,R24
45D C05A RJMP 0x04B8
(0037) while(1)
(0038) {
(0039) disa(aa); //提取aa的各位
45E 8108 LDD R16,Y+0
45F 8119 LDD R17,Y+1
460 812A LDD R18,Y+2
461 813B LDD R19,Y+3
462 DC9A RCALL _disa
(0040) sendbyte(a1);//数码管1
463 9100 021C LDS R16,a1
465 DC7A RCALL _sendbyte
(0041) PORTA&=~(1<<ls138a);
466 98DF CBI 0x1B,7
(0042) PORTA&=~(1<<ls138b);
467 98DE CBI 0x1B,6
(0043) PORTA&=~(1<<ls138c);
468 98DD CBI 0x1B,5
(0044) s_ms(600);
469 E508 LDI R16,0x58
46A E012 LDI R17,2
46B DC6B RCALL _s_ms
(0045) sendbyte(a2);//数码管2
46C 9100 0218 LDS R16,a2
46E DC71 RCALL _sendbyte
(0046) PORTA|=(1<<ls138a);
46F 9ADF SBI 0x1B,7
(0047) PORTA&=~(1<<ls138b);
470 98DE CBI 0x1B,6
(0048) PORTA&=~(1<<ls138c);
471 98DD CBI 0x1B,5
(0049) s_ms(600);
472 E508 LDI R16,0x58
473 E012 LDI R17,2
474 DC62 RCALL _s_ms
(0050) sendbyte(a3);//数码管3
475 9100 0214 LDS R16,a3
477 DC68 RCALL _sendbyte
(0051) PORTA&=~(1<<ls138a);
478 98DF CBI 0x1B,7
(0052) PORTA|=(1<<ls138b);
479 9ADE SBI 0x1B,6
(0053) PORTA&=~(1<<ls138c);
47A 98DD CBI 0x1B,5
(0054) s_ms(600);
47B E508 LDI R16,0x58
47C E012 LDI R17,2
47D DC59 RCALL _s_ms
(0055) sendbyte(a4);//数码管4
47E 9100 0210 LDS R16,a4
480 DC5F RCALL _sendbyte
(0056) PORTA|=(1<<ls138a);
481 9ADF SBI 0x1B,7
(0057) PORTA|=(1<<ls138b);
482 9ADE SBI 0x1B,6
(0058) PORTA&=~(1<<ls138c);
483 98DD CBI 0x1B,5
(0059) s_ms(600);
484 E508 LDI R16,0x58
485 E012 LDI R17,2
486 DC50 RCALL _s_ms
(0060) sendbyte(a5);//数码管5
487 9100 020C LDS R16,a5
489 DC56 RCALL _sendbyte
(0061) PORTA&=~(1<<ls138a);
48A 98DF CBI 0x1B,7
(0062) PORTA&=~(1<<ls138b);
48B 98DE CBI 0x1B,6
(0063) PORTA|=(1<<ls138c);
48C 9ADD SBI 0x1B,5
(0064) s_ms(600);
48D E508 LDI R16,0x58
48E E012 LDI R17,2
48F DC47 RCALL _s_ms
(0065) sendbyte(a6);//数码管6
490 9100 0208 LDS R16,a6
492 DC4D RCALL _sendbyte
(0066) PORTA|=(1<<ls138a);
493 9ADF SBI 0x1B,7
(0067) PORTA&=~(1<<ls138b);
494 98DE CBI 0x1B,6
(0068) PORTA|=(1<<ls138c);
495 9ADD SBI 0x1B,5
(0069) s_ms(600);
496 E508 LDI R16,0x58
497 E012 LDI R17,2
498 DC3E RCALL _s_ms
(0070) sendbyte(a7);//数码管7
499 9100 0204 LDS R16,a7
49B DC44 RCALL _sendbyte
(0071) PORTA&=~(1<<ls138a);
49C 98DF CBI 0x1B,7
(0072) PORTA|=(1<<ls138b);
49D 9ADE SBI 0x1B,6
(0073) PORTA|=(1<<ls138c);
49E 9ADD SBI 0x1B,5
(0074) s_ms(600);
49F E508 LDI R16,0x58
4A0 E012 LDI R17,2
4A1 DC35 RCALL _s_ms
(0075) sendbyte(a8);//数码管8
4A2 9100 0200 LDS R16,a8
4A4 DC3B RCALL _sendbyte
(0076) PORTA|=(1<<ls138a);
4A5 9ADF SBI 0x1B,7
(0077) PORTA|=(1<<ls138b);
4A6 9ADE SBI 0x1B,6
(0078) PORTA|=(1<<ls138c);
4A7 9ADD SBI 0x1B,5
(0079) aa++;
FILE: <library>
4A8 E081 LDI R24,1
4A9 E090 LDI R25,0
4AA E0A0 LDI R26,0
4AB E0B0 LDI R27,0
4AC 8028 LDD R2,Y+0
4AD 8039 LDD R3,Y+1
4AE 804A LDD R4,Y+2
4AF 805B LDD R5,Y+3
4B0 0E28 ADD R2,R24
4B1 1E39 ADC R3,R25
4B2 1E4A ADC R4,R26
4B3 1E5B ADC R5,R27
4B4 8228 STD Y+0,R2
4B5 8239 STD Y+1,R3
4B6 824A STD Y+2,R4
4B7 825B STD Y+3,R5
4B8 CFA5 RJMP 0x045E
4B9 9624 ADIW R28,4
4BA 9508 RET
push_arg4:
4BB 933A ST R19,-Y
4BC 932A ST R18,-Y
push_arg2:
4BD 931A ST R17,-Y
4BE 930A ST R16,-Y
4BF 9508 RET
div32u:
4C0 94E8 BCLR 6
4C1 C001 RJMP 0x04C3
mod32u:
4C2 9468 BSET 6
4C3 D030 RCALL long_div_prolog
4C4 24CC CLR R12
4C5 C009 RJMP 0x04CF
div32s:
4C6 94E8 BCLR 6
4C7 C001 RJMP 0x04C9
mod32s:
4C8 9468 BSET 6
4C9 D02A RCALL long_div_prolog
4CA FD37 SBRC R19,7
4CB 940E 0576 CALL neg32
4CD FDB7 SBRC R27,7
4CE D052 RCALL neg_R24_R27
4CF 2477 CLR R7
4D0 2488 CLR R8
4D1 2499 CLR R9
4D2 24AA CLR R10
4D3 24BB CLR R11
4D4 D042 RCALL tst_R16_R19
4D5 F0C1 BEQ 0x04EE
4D6 D045 RCALL tst_R24_R27
4D7 F0B1 BEQ 0x04EE
4D8 E2E8 LDI R30,0x28
4D9 0F00 LSL R16
4DA 1F11 ROL R17
4DB 1F22 ROL R18
4DC 1F33 ROL R19
4DD 1C77 ROL R7
4DE 1C88 ROL R8
4DF 1C99 ROL R9
4E0 1CAA ROL R10
4E1 1CBB ROL R11
4E2 1688 CP R8,R24
4E3 0699 CPC R9,R25
4E4 06AA CPC R10,R26
4E5 06BB CPC R11,R27
4E6 F028 BCS 0x04EC
4E7 1A88 SUB R8,R24
4E8 0A99 SBC R9,R25
4E9 0AAA SBC R10,R26
4EA 0ABB SBC R11,R27
4EB 9503 INC R16
4EC 95EA DEC R30
4ED F759 BNE 0x04D9
4EE F426 BRTC 0x04F3
4EF 2D08 MOV R16,R8
4F0 2D19 MOV R17,R9
4F1 2D2A MOV R18,R10
4F2 2D3B MOV R19,R11
4F3 C013 RJMP long_div_epilog
long_div_prolog:
4F4 927A ST R7,-Y
4F5 928A ST R8,-Y
4F6 929A ST R9,-Y
4F7 92AA ST R10,-Y
4F8 92BA ST R11,-Y
4F9 92CA ST R12,-Y
4FA 93EA ST R30,-Y
4FB 938A ST R24,-Y
4FC 939A ST R25,-Y
4FD 93AA ST R26,-Y
4FE 93BA ST R27,-Y
4FF 858B LDD R24,Y+11
500 859C LDD R25,Y+12
501 85AD LDD R26,Y+13
502 85BE LDD R27,Y+14
503 2EC3 MOV R12,R19
504 F00E BRTS 0x0506
505 26CB EOR R12,R27
506 9508 RET
long_div_epilog:
507 FCC7 SBRC R12,7
508 940E 0576 CALL neg32
50A 91B9 LD R27,Y+
50B 91A9 LD R26,Y+
50C 9199 LD R25,Y+
50D 9189 LD R24,Y+
50E 91E9 LD R30,Y+
50F 90C9 LD R12,Y+
510 90B9 LD R11,Y+
511 90A9 LD R10,Y+
512 9099 LD R9,Y+
513 9089 LD R8,Y+
514 9079 LD R7,Y+
515 9624 ADIW R28,4
516 9508 RET
tst_R16_R19:
517 2FE0 MOV R30,R16
518 2BE1 OR R30,R17
519 2BE2 OR R30,R18
51A 2BE3 OR R30,R19
51B 9508 RET
tst_R24_R27:
51C 2FE8 MOV R30,R24
51D 2BE9 OR R30,R25
51E 2BEA OR R30,R26
51F 2BEB OR R30,R27
520 9508 RET
neg_R24_R27:
521 9580 COM R24
522 9590 COM R25
523 95A0 COM R26
524 95B0 COM R27
525 5F8F SUBI R24,0xFF
526 4F9F SBCI R25,0xFF
527 4FAF SBCI R26,0xFF
528 4FBF SBCI R27,0xFF
529 9508 RET
empy32s:
empy32u:
52A 940E 057F CALL long_prolog
52C 927A ST R7,-Y
52D 940E 0598 CALL tstzero1
52F F159 BEQ 0x055B
530 2477 CLR R7
531 940E 059E CALL tstzero2
533 F419 BNE 0x0537
534 018C MOVW R16,R24
535 019D MOVW R18,R26
536 C024 RJMP 0x055B
537 920A ST R0,-Y
538 921A ST R1,-Y
539 9F08 MUL R16,R24
53A 2CB0 MOV R11,R0
53B 2CA1 MOV R10,R1
53C 9F28 MUL R18,R24
53D 2C90 MOV R9,R0
53E 2C81 MOV R8,R1
53F 9F18 MUL R17,R24
540 0CA0 ADD R10,R0
541 1C91 ADC R9,R1
542 1C87 ADC R8,R7
543 9F09 MUL R16,R25
544 0CA0 ADD R10,R0
545 1C91 ADC R9,R1
546 1C87 ADC R8,R7
547 9F19 MUL R17,R25
548 0C90 ADD R9,R0
549 1C81 ADC R8,R1
54A 9F0A MUL R16,R26
54B 0C90 ADD R9,R0
54C 1C81 ADC R8,R1
54D 9F38 MUL R19,R24
54E 0C80 ADD R8,R0
54F 9F29 MUL R18,R25
550 0C80 ADD R8,R0
551 9F1A MUL R17,R26
552 0C80 ADD R8,R0
553 9F0B MUL R16,R27
554 0C80 ADD R8,R0
555 9019 LD R1,Y+
556 9009 LD R0,Y+
557 2D0B MOV R16,R11
558 2D1A MOV R17,R10
559 2D29 MOV R18,R9
55A 2D38 MOV R19,R8
55B 9079 LD R7,Y+
55C 940C 058D JMP long_epilog
push_xgsetF000:
55E 937A ST R23,-Y
55F 936A ST R22,-Y
560 935A ST R21,-Y
561 934A ST R20,-Y
562 9508 RET
pop_xgsetF000:
563 9149 LD R20,Y+
564 9159 LD R21,Y+
565 9169 LD R22,Y+
566 9179 LD R23,Y+
567 9508 RET
push_xgsetF00C:
568 937A ST R23,-Y
569 936A ST R22,-Y
56A 935A ST R21,-Y
56B 934A ST R20,-Y
56C 92BA ST R11,-Y
56D 92AA ST R10,-Y
56E 9508 RET
pop_xgsetF00C:
56F 90A9 LD R10,Y+
570 90B9 LD R11,Y+
571 9149 LD R20,Y+
572 9159 LD R21,Y+
573 9169 LD R22,Y+
574 9179 LD R23,Y+
575 9508 RET
neg32:
576 9500 COM R16
577 9510 COM R17
578 9520 COM R18
579 9530 COM R19
57A 5F0F SUBI R16,0xFF
57B 4F1F SBCI R17,0xFF
57C 4F2F SBCI R18,0xFF
57D 4F3F SBCI R19,0xFF
57E 9508 RET
long_prolog:
57F 928A ST R8,-Y
580 929A ST R9,-Y
581 92AA ST R10,-Y
582 92BA ST R11,-Y
583 93EA ST R30,-Y
584 938A ST R24,-Y
585 939A ST R25,-Y
586 93AA ST R26,-Y
587 93BA ST R27,-Y
588 8589 LDD R24,Y+9
589 859A LDD R25,Y+10
58A 85AB LDD R26,Y+11
58B 85BC LDD R27,Y+12
58C 9508 RET
long_epilog:
58D 91B9 LD R27,Y+
58E 91A9 LD R26,Y+
58F 9199 LD R25,Y+
590 9189 LD R24,Y+
591 91E9 LD R30,Y+
592 90B9 LD R11,Y+
593 90A9 LD R10,Y+
594 9099 LD R9,Y+
595 9089 LD R8,Y+
596 9624 ADIW R28,4
597 9508 RET
tstzero1:
598 27EE CLR R30
599 2BE0 OR R30,R16
59A 2BE1 OR R30,R17
59B 2BE2 OR R30,R18
59C 2BE3 OR R30,R19
59D 9508 RET
tstzero2:
59E 27EE CLR R30
59F 2BE8 OR R30,R24
5A0 2BE9 OR R30,R25
5A1 2BEA OR R30,R26
5A2 2BEB OR R30,R27
5A3 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -