📄 main.lis
字号:
00DA ; SPDR = 0x10+0x45;
00DA 85E5 ldi R24,85
00DC 8FB9 out 0xf,R24
00DE L31:
00DE .dbline 93
00DE ; while (!(SPSR &(1 << SPIF)))
00DE ; ;
00DE L32:
00DE .dbline 92
00DE 779B sbis 0xe,7
00E0 FECF rjmp L31
00E2 X7:
00E2 .dbline 94
00E2 ; SPDR = 0x40;
00E2 80E4 ldi R24,64
00E4 8FB9 out 0xf,R24
00E6 L34:
00E6 .dbline 96
00E6 ; while (!(SPSR &(1 << SPIF)))
00E6 ; ;
00E6 L35:
00E6 .dbline 95
00E6 779B sbis 0xe,7
00E8 FECF rjmp L34
00EA X8:
00EA .dbline 97
00EA ; SPDR = 0x0c;
00EA 8CE0 ldi R24,12
00EC 8FB9 out 0xf,R24
00EE L37:
00EE .dbline 99
00EE ; while (!(SPSR &(1 << SPIF)))
00EE ; ;
00EE L38:
00EE .dbline 98
00EE 779B sbis 0xe,7
00F0 FECF rjmp L37
00F2 X9:
00F2 .dbline 100
00F2 ; PORTB |= (1<<PB0); //SS=1
00F2 C09A sbi 0x18,0
00F4 .dbline 101
00F4 ; for(i=0;i<=100;i++);
00F4 0027 clr R16
00F6 1127 clr R17
00F8 L40:
00F8 .dbline 101
00F8 L41:
00F8 .dbline 101
00F8 0F5F subi R16,255 ; offset = 1
00FA 1F4F sbci R17,255
00FC .dbline 101
00FC 84E6 ldi R24,100
00FE 90E0 ldi R25,0
0100 8017 cp R24,R16
0102 9107 cpc R25,R17
0104 CCF7 brge L40
0106 X10:
0106 .dbline -2
0106 L4:
0106 .dbline 0 ; func end
0106 0895 ret
0108 .dbsym r i 16 I
0108 .dbend
0108 .dbfunc e Read_APC _Read_APC fV
0108 ; i -> R16,R17
.even
0108 _Read_APC::
0108 .dbline -1
0108 .dbline 105
0108 ; }
0108 ;
0108 ; void Read_APC(void)
0108 ; {
0108 .dbline 107
0108 ; int i;
0108 ; PORTB &= ~(1<<PB0); //SS=0
0108 C098 cbi 0x18,0
010A .dbline 108
010A ; for(i=0;i<100;i++)
010A 0027 clr R16
010C 1127 clr R17
010E L45:
010E .dbline 109
010E ; ;
010E L46:
010E .dbline 108
010E 0F5F subi R16,255 ; offset = 1
0110 1F4F sbci R17,255
0112 .dbline 108
0112 0436 cpi R16,100
0114 E0E0 ldi R30,0
0116 1E07 cpc R17,R30
0118 D4F3 brlt L45
011A X11:
011A .dbline 110
011A ; SPDR = 0x10+0x44;
011A 84E5 ldi R24,84
011C 8FB9 out 0xf,R24
011E L49:
011E .dbline 112
011E ; while (!(SPSR &(1 << SPIF)))
011E ; ;
011E L50:
011E .dbline 111
011E 779B sbis 0xe,7
0120 FECF rjmp L49
0122 X12:
0122 .dbline 113
0122 ; data1=SPDR;
0122 2FB0 in R2,0xf
0124 20920300 sts _data1,R2
0128 .dbline 114
0128 ; SPDR = 0x00;
0128 2224 clr R2
012A 2FB8 out 0xf,R2
012C L52:
012C .dbline 116
012C ; while (!(SPSR &(1 << SPIF)))
012C ; ;
012C L53:
012C .dbline 115
012C 779B sbis 0xe,7
012E FECF rjmp L52
0130 X13:
0130 .dbline 117
0130 ; data2=SPDR;
0130 2FB0 in R2,0xf
0132 20920200 sts _data2,R2
0136 .dbline 118
0136 ; SPDR = 0x00;
0136 2224 clr R2
0138 2FB8 out 0xf,R2
013A L55:
013A .dbline 120
013A ; while (!(SPSR &(1 << SPIF)))
013A ; ;
013A L56:
013A .dbline 119
013A 779B sbis 0xe,7
013C FECF rjmp L55
013E X14:
013E .dbline 121
013E ; data3=SPDR;
013E 2FB0 in R2,0xf
0140 20920100 sts _data3,R2
0144 .dbline 122
0144 ; SPDR = 0x00;
0144 2224 clr R2
0146 2FB8 out 0xf,R2
0148 L58:
0148 .dbline 124
0148 ; while (!(SPSR &(1 << SPIF)))
0148 ; ;
0148 L59:
0148 .dbline 123
0148 779B sbis 0xe,7
014A FECF rjmp L58
014C X15:
014C .dbline 125
014C ; data4=SPDR;
014C 2FB0 in R2,0xf
014E 20920000 sts _data4,R2
0152 .dbline 127
0152 ;
0152 ; if(data4==0x0c)
0152 822D mov R24,R2
0154 8C30 cpi R24,12
0156 09F4 brne L61
0158 X16:
0158 .dbline 128
0158 ; RUN2_ON();
0158 C69A sbi 0x18,6
015A L61:
015A .dbline 130
015A ;
015A ; for(i=0;i<100;i++)
015A 0027 clr R16
015C 1127 clr R17
015E L63:
015E .dbline 131
015E ; ;
015E L64:
015E .dbline 130
015E 0F5F subi R16,255 ; offset = 1
0160 1F4F sbci R17,255
0162 .dbline 130
0162 0436 cpi R16,100
0164 E0E0 ldi R30,0
0166 1E07 cpc R17,R30
0168 D4F3 brlt L63
016A X17:
016A .dbline 132
016A ; PORTB |= (1<<PB0); //SS=1
016A C09A sbi 0x18,0
016C .dbline -2
016C L44:
016C .dbline 0 ; func end
016C 0895 ret
016E .dbsym r i 16 I
016E .dbend
016E .dbfunc e Sound_Flay _Sound_Flay fV
016E ; i -> R16,R17
.even
016E _Sound_Flay::
016E .dbline -1
016E .dbline 136
016E ; }
016E ;
016E ; void Sound_Flay(void)
016E ; {
016E .dbline 138
016E ; int i;
016E ; PORTB &= ~(1<<PB0); //SS=0
016E C098 cbi 0x18,0
0170 .dbline 139
0170 ; for(i=0;i<100;i++)
0170 0027 clr R16
0172 1127 clr R17
0174 L68:
0174 .dbline 140
0174 ; ;
0174 L69:
0174 .dbline 139
0174 0F5F subi R16,255 ; offset = 1
0176 1F4F sbci R17,255
0178 .dbline 139
0178 0436 cpi R16,100
017A E0E0 ldi R30,0
017C 1E07 cpc R17,R30
017E D4F3 brlt L68
0180 X18:
0180 .dbline 141
0180 ; SPDR = 0x10+0x40;
0180 80E5 ldi R24,80
0182 8FB9 out 0xf,R24
0184 L72:
0184 .dbline 143
0184 ; while (!(SPSR &(1 << SPIF)))
0184 ; ;
0184 L73:
0184 .dbline 142
0184 779B sbis 0xe,7
0186 FECF rjmp L72
0188 X19:
0188 .dbline 144
0188 ; data1=SPDR;
0188 2FB0 in R2,0xf
018A 20920300 sts _data1,R2
018E .dbline 145
018E ; SPDR = 0x00;
018E 2224 clr R2
0190 2FB8 out 0xf,R2
0192 L75:
0192 .dbline 147
0192 ; while (!(SPSR &(1 << SPIF)))
0192 ; ;
0192 L76:
0192 .dbline 146
0192 779B sbis 0xe,7
0194 FECF rjmp L75
0196 X20:
0196 .dbline 148
0196 ; data2=SPDR;
0196 2FB0 in R2,0xf
0198 20920200 sts _data2,R2
019C .dbline 150
019C ;
019C ; for(i=0;i<100;i++)
019C 0027 clr R16
019E 1127 clr R17
01A0 L78:
01A0 .dbline 151
01A0 ; ;
01A0 L79:
01A0 .dbline 150
01A0 0F5F subi R16,255 ; offset = 1
01A2 1F4F sbci R17,255
01A4 .dbline 150
01A4 0436 cpi R16,100
01A6 E0E0 ldi R30,0
01A8 1E07 cpc R17,R30
01AA D4F3 brlt L78
01AC X21:
01AC .dbline 152
01AC ; PORTB |= (1<<PB0); //SS=1
01AC C09A sbi 0x18,0
01AE .dbline -2
01AE L67:
01AE .dbline 0 ; func end
01AE 0895 ret
01B0 .dbsym r i 16 I
01B0 .dbend
01B0 .dbfunc e Sound_SetFlay _Sound_SetFlay fV
01B0 ; i -> R20,R21
01B0 ; startAdd -> R16,R17
.even
01B0 _Sound_SetFlay::
01B0 4A93 st -y,R20
01B2 5A93 st -y,R21
01B4 .dbline -1
01B4 .dbline 156
01B4 ; }
01B4 ;
01B4 ; void Sound_SetFlay(unsigned int startAdd)
01B4 ; {
01B4 .dbline 158
01B4 ; int i;
01B4 ; PORTB &= ~(1<<PB0); //SS=0
01B4 C098 cbi 0x18,0
01B6 .dbline 159
01B6 ; for(i=0;i<100;i++)
01B6 4427 clr R20
01B8 5527 clr R21
01BA L83:
01BA .dbline 160
01BA ; ;
01BA L84:
01BA .dbline 159
01BA 4F5F subi R20,255 ; offset = 1
01BC 5F4F sbci R21,255
01BE .dbline 159
01BE 4436 cpi R20,100
01C0 E0E0 ldi R30,0
01C2 5E07 cpc R21,R30
01C4 D4F3 brlt L83
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -