⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led-8-2.lst

📁 16个单片机c语言实验程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
     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 + -