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

📄 main.lis

📁 这个是个航模产品的锂电测试器
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .even
 00CA           _bubble_sort::
 00CA 00D0              rcall push_arg4
 00CC 00D0              rcall push_gset5
 00CE C22E              mov R12,R18
 00D0                   .dbline -1
 00D0                   .dbline 131
 00D0           ; }
 00D0           ; 
 00D0           ; 
 00D0           ; 
 00D0           ; 
 00D0           ; 
 00D0           ; 
 00D0           ; void bubble_sort(uint *a,uchar len)
 00D0           ; {
 00D0                   .dbline 134
 00D0           ;      int j,k;
 00D0           ;      int temp;
 00D0           ;      int change=1;
 00D0 61E0              ldi R22,1
 00D2 70E0              ldi R23,0
 00D4                   .dbline 136
 00D4           ;      
 00D4           ;      for (j=0;(j<len-1)&&change;j++)
 00D4 4427              clr R20
 00D6 5527              clr R21
 00D8 52C0              rjmp L21
 00DA           L18:
 00DA                   .dbline 137
 00DA           ;      {
 00DA                   .dbline 138
 00DA           ;          change=0;
 00DA 6627              clr R22
 00DC 7727              clr R23
 00DE                   .dbline 139
 00DE           ;          for (k=j+1;k<len;k++)
 00DE CA01              movw R24,R20
 00E0 0196              adiw R24,1
 00E2 7C01              movw R14,R24
 00E4 44C0              rjmp L25
 00E6           L22:
 00E6                   .dbline 140
 00E6           ;          {
 00E6                   .dbline 141
 00E6           ;              if (a[k-1]>a[k])
 00E6 02E0              ldi R16,2
 00E8 10E0              ldi R17,0
 00EA 9701              movw R18,R14
 00EC 00D0              rcall empy16s
 00EE 1801              movw R2,R16
 00F0 F101              movw R30,R2
 00F2 0A84              ldd R0,y+10
 00F4 1B84              ldd R1,y+11
 00F6 E00D              add R30,R0
 00F8 F11D              adc R31,R1
 00FA 4080              ldd R4,z+0
 00FC 5180              ldd R5,z+1
 00FE F101              movw R30,R2
 0100 3297              sbiw R30,2
 0102 E00D              add R30,R0
 0104 F11D              adc R31,R1
 0106 2080              ldd R2,z+0
 0108 3180              ldd R3,z+1
 010A 4214              cp R4,R2
 010C 5304              cpc R5,R3
 010E 08F0              brlo X1
 0110 2BC0              rjmp L26
 0112           X1:
 0112                   .dbline 142
 0112           ;              {
 0112                   .dbline 143
 0112           ;                 change=1;
 0112 61E0              ldi R22,1
 0114 70E0              ldi R23,0
 0116                   .dbline 144
 0116           ;                 temp=a[k-1];
 0116 02E0              ldi R16,2
 0118 10E0              ldi R17,0
 011A 9701              movw R18,R14
 011C 00D0              rcall empy16s
 011E F801              movw R30,R16
 0120 3297              sbiw R30,2
 0122 0A84              ldd R0,y+10
 0124 1B84              ldd R1,y+11
 0126 E00D              add R30,R0
 0128 F11D              adc R31,R1
 012A A080              ldd R10,z+0
 012C B180              ldd R11,z+1
 012E                   .dbline 145
 012E           ;                 a[k-1]=a[k];
 012E 02E0              ldi R16,2
 0130 10E0              ldi R17,0
 0132 9701              movw R18,R14
 0134 00D0              rcall empy16s
 0136 1801              movw R2,R16
 0138 F101              movw R30,R2
 013A 0A84              ldd R0,y+10
 013C 1B84              ldd R1,y+11
 013E E00D              add R30,R0
 0140 F11D              adc R31,R1
 0142 4080              ldd R4,z+0
 0144 5180              ldd R5,z+1
 0146 F101              movw R30,R2
 0148 3297              sbiw R30,2
 014A E00D              add R30,R0
 014C F11D              adc R31,R1
 014E 5182              std z+1,R5
 0150 4082              std z+0,R4
 0152                   .dbline 146
 0152           ;                 a[k]=temp;
 0152 02E0              ldi R16,2
 0154 10E0              ldi R17,0
 0156 9701              movw R18,R14
 0158 00D0              rcall empy16s
 015A F801              movw R30,R16
 015C 0A84              ldd R0,y+10
 015E 1B84              ldd R1,y+11
 0160 E00D              add R30,R0
 0162 F11D              adc R31,R1
 0164 B182              std z+1,R11
 0166 A082              std z+0,R10
 0168                   .dbline 147
 0168           ;              }
 0168           L26:
 0168                   .dbline 148
 0168           L23:
 0168                   .dbline 139
 0168 C701              movw R24,R14
 016A 0196              adiw R24,1
 016C 7C01              movw R14,R24
 016E           L25:
 016E                   .dbline 139
 016E 2C2C              mov R2,R12
 0170 3324              clr R3
 0172 E214              cp R14,R2
 0174 F304              cpc R15,R3
 0176 0CF4              brge X2
 0178 B6CF              rjmp L22
 017A           X2:
 017A                   .dbline 149
 017A           L19:
 017A                   .dbline 136
 017A 4F5F              subi R20,255  ; offset = 1
 017C 5F4F              sbci R21,255
 017E           L21:
 017E                   .dbline 136
 017E 8C2D              mov R24,R12
 0180 9927              clr R25
 0182 0197              sbiw R24,1
 0184 4817              cp R20,R24
 0186 5907              cpc R21,R25
 0188 24F4              brge L28
 018A 6030              cpi R22,0
 018C 6707              cpc R22,R23
 018E 09F0              breq X3
 0190 A4CF              rjmp L18
 0192           X3:
 0192           X0:
 0192           L28:
 0192                   .dbline -2
 0192           L17:
 0192 00D0              rcall pop_gset5
 0194 2496              adiw R28,4
 0196                   .dbline 0 ; func end
 0196 0895              ret
 0198                   .dbsym r j 20 I
 0198                   .dbsym r change 22 I
 0198                   .dbsym r temp 10 I
 0198                   .dbsym r k 14 I
 0198                   .dbsym r len 12 c
 0198                   .dbsym l a 10 pi
 0198                   .dbend
 0198                   .dbfunc e abcd _abcd fV
 0198           ;           temp -> y+0
                        .even
 0198           _abcd::
 0198 2897              sbiw R28,8
 019A                   .dbline -1
 019A                   .dbline 156
 019A           ;          }
 019A           ;      }
 019A           ; }
 019A           ; 
 019A           ; 
 019A           ; 
 019A           ; 
 019A           ; void abcd(void)
 019A           ; {
 019A                   .dbline 159
 019A           ;       uint  temp[4];
 019A           ;       
 019A           ;       if(batt==4) 
 019A 80911400          lds R24,_batt
 019E 8430              cpi R24,4
 01A0 39F5              brne L30
 01A2                   .dbline 160
 01A2           ;       {
 01A2                   .dbline 161
 01A2           ;               temp[0] = V[0];
 01A2 20901A00          lds R2,_V
 01A6 30901B00          lds R3,_V+1
 01AA 3982              std y+1,R3
 01AC 2882              std y+0,R2
 01AE                   .dbline 162
 01AE           ;               temp[1] = V[1]-V[0];
 01AE 40901C00          lds R4,_V+2
 01B2 50901D00          lds R5,_V+2+1
 01B6 4218              sub R4,R2
 01B8 5308              sbc R5,R3
 01BA 5B82              std y+3,R5
 01BC 4A82              std y+2,R4
 01BE                   .dbline 163
 01BE           ;               temp[2] = V[2]-V[1];
 01BE 20901C00          lds R2,_V+2
 01C2 30901D00          lds R3,_V+2+1
 01C6 40901E00          lds R4,_V+4
 01CA 50901F00          lds R5,_V+4+1
 01CE 4218              sub R4,R2
 01D0 5308              sbc R5,R3
 01D2 5D82              std y+5,R5
 01D4 4C82              std y+4,R4
 01D6                   .dbline 164
 01D6           ;               temp[3] = V[3]-V[2];
 01D6 20901E00          lds R2,_V+4
 01DA 30901F00          lds R3,_V+4+1
 01DE 40902000          lds R4,_V+6
 01E2 50902100          lds R5,_V+6+1
 01E6 4218              sub R4,R2
 01E8 5308              sbc R5,R3
 01EA 5F82              std y+7,R5
 01EC 4E82              std y+6,R4
 01EE                   .dbline 165
 01EE           ;       }
 01EE 3DC0              rjmp L31
 01F0           L30:
 01F0                   .dbline 166
 01F0           ;       else if(batt==3)
 01F0 80911400          lds R24,_batt
 01F4 8330              cpi R24,3
 01F6 D9F4              brne L40
 01F8                   .dbline 167
 01F8           ;       {
 01F8                   .dbline 168
 01F8           ;               temp[0] = V[0];
 01F8 20901A00          lds R2,_V
 01FC 30901B00          lds R3,_V+1
 0200 3982              std y+1,R3
 0202 2882              std y+0,R2
 0204                   .dbline 169
 0204           ;               temp[1] = V[1]-V[0];
 0204 40901C00          lds R4,_V+2
 0208 50901D00          lds R5,_V+2+1
 020C 4218              sub R4,R2
 020E 5308              sbc R5,R3
 0210 5B82              std y+3,R5
 0212 4A82              std y+2,R4
 0214                   .dbline 170
 0214           ;               temp[2] = V[2]-V[1];
 0214 20901C00          lds R2,_V+2
 0218 30901D00          lds R3,_V+2+1
 021C 40901E00          lds R4,_V+4
 0220 50901F00          lds R5,_V+4+1
 0224 4218              sub R4,R2
 0226 5308              sbc R5,R3
 0228 5D82              std y+5,R5
 022A 4C82              std y+4,R4
 022C                   .dbline 171
 022C           ;       }
 022C 1EC0              rjmp L41
 022E           L40:
 022E                   .dbline 172
 022E           ;       else if(batt==2)
 022E 80911400          lds R24,_batt
 0232 8230              cpi R24,2
 0234 79F4              brne L47
 0236                   .dbline 173
 0236           ;       {
 0236                   .dbline 174
 0236           ;               temp[0] = V[0];
 0236 20901A00          lds R2,_V
 023A 30901B00          lds R3,_V+1
 023E 3982              std y+1,R3
 0240 2882              std y+0,R2
 0242                   .dbline 175
 0242           ;               temp[1] = V[1]-V[0];
 0242 40901C00          lds R4,_V+2
 0246 50901D00          lds R5,_V+2+1
 024A 4218              sub R4,R2
 024C 5308              sbc R5,R3
 024E 5B82              std y+3,R5
 0250 4A82              std y+2,R4
 0252                   .dbline 176
 0252           ;       }
 0252 0BC0              rjmp L48
 0254           L47:
 0254                   .dbline 177
 0254           ;       else if(batt==1)
 0254 80911400          lds R24,_batt
 0258 8130              cpi R24,1
 025A 09F0              breq X4
 025C 66C0              rjmp L29
 025E           X4:
 025E                   .dbline 178
 025E           ;       {
 025E                   .dbline 179
 025E           ;               temp[0] = V[0];
 025E 20901A00          lds R2,_V
 0262 30901B00          lds R3,_V+1
 0266 3982              std y+1,R3
 0268 2882              std y+0,R2
 026A                   .dbline 180
 026A           ;       } 
 026A                   .dbline 181
 026A           ;       else return;
 026A           L52:
 026A           L48:
 026A           L41:
 026A           L31:
 026A                   .dbline 184
 026A           ;       
 026A           ;       
 026A           ;       if(temp[1]<131) flas2 = 1;
 026A 8A81              ldd R24,y+2
 026C 9B81              ldd R25,y+3
 026E 8338              cpi R24,131
 0270 E0E0              ldi R30,0
 0272 9E07              cpc R25,R30
 0274 18F4              brsh L53
 0276                   .dbline 184
 0276 81E0              ldi R24,1
 0278 80930200          sts _flas2,R24
 027C           L53:
 027C                   .dbline 185
 027C           ;       if(temp[2]<131) flas3 = 1;
 027C 8C81              ldd R24,y+4
 027E 9D81              ldd R25,y+5
 0280 8338              cpi R24,131
 0282 E0E0              ldi R30,0
 0284 9E07              cpc R25,R30
 0286 18F4              brsh L56
 0288                   .dbline 185
 0288 81E0              ldi R24,1
 028A 80930100          sts _flas3,R24
 028E           L56:
 028E                   .dbline 186
 028E           ;       if(temp[3]<131) flas4 = 1;
 028E 8E81              ldd R24,y+6

⌨️ 快捷键说明

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