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

📄 m16_horse.lst

📁 LED渐变演示程序
💻 LST
字号:
__start:
__text_start:
    0013 E5CF      LDI	R28,0x5F
    0014 E0D4      LDI	R29,4
    0015 BFCD      OUT	0x3D,R28
    0016 BFDE      OUT	0x3E,R29
    0017 51C0      SUBI	R28,0x10
    0018 40D0      SBCI	R29,0
    0019 EA0A      LDI	R16,0xAA
    001A 8308      STD	Y+0,R16
    001B 2400      CLR	R0
    001C E6E0      LDI	R30,0x60
    001D E0F0      LDI	R31,0
    001E E010      LDI	R17,0
    001F 36E0      CPI	R30,0x60
    0020 07F1      CPC	R31,R17
    0021 F011      BEQ	0x0024
    0022 9201      ST	R0,Z+
    0023 CFFB      RJMP	0x001F
    0024 8300      STD	Z+0,R16
    0025 E2E6      LDI	R30,0x26
    0026 E0F0      LDI	R31,0
    0027 E6A0      LDI	R26,0x60
    0028 E0B0      LDI	R27,0
    0029 E010      LDI	R17,0
    002A 32E6      CPI	R30,0x26
    002B 07F1      CPC	R31,R17
    002C F021      BEQ	0x0031
    002D 95C8      LPM
    002E 9631      ADIW	R30,1
    002F 920D      ST	R0,X+
    0030 CFF9      RJMP	0x002A
    0031 D050      RCALL	_main
_exit:
    0032 CFFF      RJMP	_exit
_Delay:
  j                    --> R20
  i                    --> R16
    0033 D072      RCALL	push_gset1
FILE: G:\M16_Horse\M16_Horse.c
(0001) #include<iom8.h>
(0002) #define uchar unsigned char
(0003) #define uint unsigned int
(0004) 
(0005) void Delay(uchar i)
(0006) {
(0007)  uchar j;
(0008)  for(;i!=0;i--)
    0034 C006      RJMP	0x003B
(0009)  {
(0010)   for(j=250;j!=0;j--);
    0035 EF4A      LDI	R20,0xFA
    0036 C001      RJMP	0x0038
    0037 954A      DEC	R20
    0038 2344      TST	R20
    0039 F7E9      BNE	0x0037
    003A 950A      DEC	R16
    003B 2300      TST	R16
    003C F7C1      BNE	0x0035
    003D D06B      RCALL	pop_gset1
    003E 9508      RET
_Horse:
  i                    --> R16
    003F D066      RCALL	push_gset1
(0011)  }
(0012) }
(0013) 
(0014) void Horse(uchar i)
(0015) {
(0016)  switch(i)
    0040 2F40      MOV	R20,R16
    0041 2755      CLR	R21
    0042 3040      CPI	R20,0
    0043 0745      CPC	R20,R21
    0044 F109      BEQ	0x0066
    0045 3041      CPI	R20,1
    0046 E0E0      LDI	R30,0
    0047 075E      CPC	R21,R30
    0048 F101      BEQ	0x0069
    0049 3042      CPI	R20,2
    004A E0E0      LDI	R30,0
    004B 075E      CPC	R21,R30
    004C F0F9      BEQ	0x006C
    004D 3043      CPI	R20,3
    004E E0E0      LDI	R30,0
    004F 075E      CPC	R21,R30
    0050 F0F1      BEQ	0x006F
    0051 3044      CPI	R20,4
    0052 E0E0      LDI	R30,0
    0053 075E      CPC	R21,R30
    0054 F0E9      BEQ	0x0072
    0055 3045      CPI	R20,5
    0056 E0E0      LDI	R30,0
    0057 075E      CPC	R21,R30
    0058 F0E1      BEQ	0x0075
    0059 3046      CPI	R20,6
    005A E0E0      LDI	R30,0
    005B 075E      CPC	R21,R30
    005C F0D9      BEQ	0x0078
    005D 3047      CPI	R20,7
    005E E0E0      LDI	R30,0
    005F 075E      CPC	R21,R30
    0060 F0D1      BEQ	0x007B
    0061 3048      CPI	R20,0x8
    0062 E0E0      LDI	R30,0
    0063 075E      CPC	R21,R30
    0064 F0C9      BEQ	0x007E
    0065 C01A      RJMP	0x0080
(0017)  {
(0018)   case 0:PORTB=0x00;break;
    0066 2422      CLR	R2
    0067 BA28      OUT	0x18,R2
    0068 C017      RJMP	0x0080
(0019)   case 1:PORTB=0x01;break;
    0069 E081      LDI	R24,1
    006A BB88      OUT	0x18,R24
    006B C014      RJMP	0x0080
(0020)   case 2:PORTB=0x03;break;
    006C E083      LDI	R24,3
    006D BB88      OUT	0x18,R24
    006E C011      RJMP	0x0080
(0021)   case 3:PORTB=0x07;break;
    006F E087      LDI	R24,7
    0070 BB88      OUT	0x18,R24
    0071 C00E      RJMP	0x0080
(0022)   case 4:PORTB=0x0f;break;
    0072 E08F      LDI	R24,0xF
    0073 BB88      OUT	0x18,R24
    0074 C00B      RJMP	0x0080
(0023)   case 5:PORTB=0x1f;break;
    0075 E18F      LDI	R24,0x1F
    0076 BB88      OUT	0x18,R24
    0077 C008      RJMP	0x0080
(0024)   case 6:PORTB=0x3f;break;
    0078 E38F      LDI	R24,0x3F
    0079 BB88      OUT	0x18,R24
    007A C005      RJMP	0x0080
(0025)   case 7:PORTB=0x7f;break;
    007B E78F      LDI	R24,0x7F
    007C BB88      OUT	0x18,R24
    007D C002      RJMP	0x0080
(0026)   case 8:PORTB=0xff;break;
    007E EF8F      LDI	R24,0xFF
    007F BB88      OUT	0x18,R24
(0027)   default:break;
    0080 D028      RCALL	pop_gset1
    0081 9508      RET
(0028)  }
(0029) }
(0030) 
(0031) void main()
(0032) {
(0033)  uchar i;
(0034)  DDRB=0xff;
_main:
  i                    --> R20
    0082 EF8F      LDI	R24,0xFF
    0083 BB87      OUT	0x17,R24
(0035)  PORTB=0xff;
    0084 BB88      OUT	0x18,R24
(0036)  Delay(10);
    0085 E00A      LDI	R16,0xA
    0086 DFAC      RCALL	_Delay
(0037)  PORTB=0x00;
    0087 2422      CLR	R2
    0088 BA28      OUT	0x18,R2
    0089 C012      RJMP	0x009C
(0038)  while(1)
(0039)  {
(0040)   for(i=0;i<9;i++)
    008A 2744      CLR	R20
    008B C005      RJMP	0x0091
(0041)   {
(0042)    Horse(i);
    008C 2F04      MOV	R16,R20
    008D DFB1      RCALL	_Horse
(0043)    Delay(100);
    008E E604      LDI	R16,0x64
    008F DFA3      RCALL	_Delay
    0090 9543      INC	R20
    0091 3049      CPI	R20,0x9
    0092 F3C8      BCS	0x008C
(0044)   }
(0045)   for(i=8;i!=0;i--)
    0093 E048      LDI	R20,0x8
    0094 C005      RJMP	0x009A
(0046)   {
(0047)    Horse(i);
    0095 2F04      MOV	R16,R20
    0096 DFA8      RCALL	_Horse
(0048)    Delay(100);
FILE: <library>
    0097 E604      LDI	R16,0x64
    0098 DF9A      RCALL	_Delay
    0099 954A      DEC	R20
    009A 2344      TST	R20
    009B F7C9      BNE	0x0095
    009C CFED      RJMP	0x008A
    009D 9508      RET
push_gset5:
    009E 92FA      ST	R15,-Y
    009F 92EA      ST	R14,-Y
push_gset4:
    00A0 92DA      ST	R13,-Y
    00A1 92CA      ST	R12,-Y
push_gset3:
    00A2 92BA      ST	R11,-Y
    00A3 92AA      ST	R10,-Y
push_gset2:
    00A4 937A      ST	R23,-Y
    00A5 936A      ST	R22,-Y
push_gset1:
    00A6 935A      ST	R21,-Y
    00A7 934A      ST	R20,-Y
    00A8 9508      RET
pop_gset1:
    00A9 E0E1      LDI	R30,1
pop:
    00AA 9149      LD	R20,Y+
    00AB 9159      LD	R21,Y+
    00AC FDE0      SBRC	R30,0
    00AD 9508      RET
    00AE 9169      LD	R22,Y+
    00AF 9179      LD	R23,Y+
    00B0 FDE1      SBRC	R30,1
    00B1 9508      RET
    00B2 90A9      LD	R10,Y+
    00B3 90B9      LD	R11,Y+
    00B4 FDE2      SBRC	R30,2
    00B5 9508      RET
    00B6 90C9      LD	R12,Y+
    00B7 90D9      LD	R13,Y+
    00B8 FDE3      SBRC	R30,3
    00B9 9508      RET
    00BA 90E9      LD	R14,Y+
    00BB 90F9      LD	R15,Y+
    00BC 9508      RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -