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

📄 uarttest.lis

📁 AVR 128 单片机 串口 自定义指令处理程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0126                   .dbline 72
 0126 28E2              ldi R18,40
 0128 30E0              ldi R19,0
 012A 0C2D              mov R16,R12
 012C 1127              clr R17
 012E 0E940000          xcall mod16s
 0132 F801              movw R30,R16
 0134 80E0              ldi R24,<_buff
 0136 90E0              ldi R25,>_buff
 0138 E80F              add R30,R24
 013A F91F              adc R31,R25
 013C 2224              clr R2
 013E 2082              std z+0,R2
 0140                   .dbline 73
 0140           ;                                       cmd_buff[ccnt].cmd =buff[(i+1)%BUFFLEN];buff[(i+1)%BUFFLEN]=INVAIL;
 0140 28E2              ldi R18,40
 0142 30E0              ldi R19,0
 0144 0C2D              mov R16,R12
 0146 1127              clr R17
 0148 0F5F              subi R16,255  ; offset = 1
 014A 1F4F              sbci R17,255
 014C 0E940000          xcall mod16s
 0150 F801              movw R30,R16
 0152 80E0              ldi R24,<_buff
 0154 90E0              ldi R25,>_buff
 0156 E80F              add R30,R24
 0158 F91F              adc R31,R25
 015A 2080              ldd R2,z+0
 015C 30900300          lds R3,_ccnt
 0160 83E0              ldi R24,3
 0162 839D              mul R24,R3
 0164 F001              movw R30,R0
 0166 80E0              ldi R24,<_cmd_buff
 0168 90E0              ldi R25,>_cmd_buff
 016A E80F              add R30,R24
 016C F91F              adc R31,R25
 016E 2082              std z+0,R2
 0170                   .dbline 73
 0170 28E2              ldi R18,40
 0172 30E0              ldi R19,0
 0174 0C2D              mov R16,R12
 0176 1127              clr R17
 0178 0F5F              subi R16,255  ; offset = 1
 017A 1F4F              sbci R17,255
 017C 0E940000          xcall mod16s
 0180 F801              movw R30,R16
 0182 80E0              ldi R24,<_buff
 0184 90E0              ldi R25,>_buff
 0186 E80F              add R30,R24
 0188 F91F              adc R31,R25
 018A 2224              clr R2
 018C 2082              std z+0,R2
 018E                   .dbline 74
 018E           ;                                       cmd_buff[ccnt].dat1=buff[(i+2)%BUFFLEN];buff[(i+2)%BUFFLEN]=INVAIL;
 018E 28E2              ldi R18,40
 0190 30E0              ldi R19,0
 0192 0C2D              mov R16,R12
 0194 1127              clr R17
 0196 0E5F              subi R16,254  ; offset = 2
 0198 1F4F              sbci R17,255
 019A 0E940000          xcall mod16s
 019E F801              movw R30,R16
 01A0 80E0              ldi R24,<_buff
 01A2 90E0              ldi R25,>_buff
 01A4 E80F              add R30,R24
 01A6 F91F              adc R31,R25
 01A8 2080              ldd R2,z+0
 01AA 30900300          lds R3,_ccnt
 01AE 83E0              ldi R24,3
 01B0 839D              mul R24,R3
 01B2 F001              movw R30,R0
 01B4 80E0              ldi R24,<_cmd_buff+1
 01B6 90E0              ldi R25,>_cmd_buff+1
 01B8 E80F              add R30,R24
 01BA F91F              adc R31,R25
 01BC 2082              std z+0,R2
 01BE                   .dbline 74
 01BE 28E2              ldi R18,40
 01C0 30E0              ldi R19,0
 01C2 0C2D              mov R16,R12
 01C4 1127              clr R17
 01C6 0E5F              subi R16,254  ; offset = 2
 01C8 1F4F              sbci R17,255
 01CA 0E940000          xcall mod16s
 01CE F801              movw R30,R16
 01D0 80E0              ldi R24,<_buff
 01D2 90E0              ldi R25,>_buff
 01D4 E80F              add R30,R24
 01D6 F91F              adc R31,R25
 01D8 2224              clr R2
 01DA 2082              std z+0,R2
 01DC                   .dbline 75
 01DC           ;                                       cmd_buff[ccnt].dat2=buff[(i+3)%BUFFLEN];buff[(i+3)%BUFFLEN]=INVAIL;
 01DC 28E2              ldi R18,40
 01DE 30E0              ldi R19,0
 01E0 0C2D              mov R16,R12
 01E2 1127              clr R17
 01E4 0D5F              subi R16,253  ; offset = 3
 01E6 1F4F              sbci R17,255
 01E8 0E940000          xcall mod16s
 01EC F801              movw R30,R16
 01EE 80E0              ldi R24,<_buff
 01F0 90E0              ldi R25,>_buff
 01F2 E80F              add R30,R24
 01F4 F91F              adc R31,R25
 01F6 2080              ldd R2,z+0
 01F8 30900300          lds R3,_ccnt
 01FC 83E0              ldi R24,3
 01FE 839D              mul R24,R3
 0200 F001              movw R30,R0
 0202 80E0              ldi R24,<_cmd_buff+2
 0204 90E0              ldi R25,>_cmd_buff+2
 0206 E80F              add R30,R24
 0208 F91F              adc R31,R25
 020A 2082              std z+0,R2
 020C                   .dbline 75
 020C 28E2              ldi R18,40
 020E 30E0              ldi R19,0
 0210 0C2D              mov R16,R12
 0212 1127              clr R17
 0214 0D5F              subi R16,253  ; offset = 3
 0216 1F4F              sbci R17,255
 0218 0E940000          xcall mod16s
 021C F801              movw R30,R16
 021E 80E0              ldi R24,<_buff
 0220 90E0              ldi R25,>_buff
 0222 E80F              add R30,R24
 0224 F91F              adc R31,R25
 0226 2224              clr R2
 0228 2082              std z+0,R2
 022A                   .dbline 76
 022A           ;                                       buff[(i+4)%BUFFLEN]=INVAIL;
 022A 28E2              ldi R18,40
 022C 30E0              ldi R19,0
 022E 0C2D              mov R16,R12
 0230 1127              clr R17
 0232 0C5F              subi R16,252  ; offset = 4
 0234 1F4F              sbci R17,255
 0236 0E940000          xcall mod16s
 023A F801              movw R30,R16
 023C 80E0              ldi R24,<_buff
 023E 90E0              ldi R25,>_buff
 0240 E80F              add R30,R24
 0242 F91F              adc R31,R25
 0244 2224              clr R2
 0246 2082              std z+0,R2
 0248                   .dbline 78
 0248           ;                                
 0248           ;                                       bhead=((i+CMDLEN)%(BUFFLEN)); 
 0248 18E2              ldi R17,40
 024A 0C2D              mov R16,R12
 024C 0B5F              subi R16,251    ; addi 5
 024E 0E940000          xcall mod8u
 0252 00930100          sts _bhead,R16
 0256                   .dbline 79
 0256           ;                                       i=bhead; 
 0256 C02E              mov R12,R16
 0258                   .dbline 83
 0258 1CC0              xjmp L15
 025A           L25:
 025A                   .dbline 83
 025A           ;                                       
 025A           ;                                       //putchar('[');putchar(i/10+'0');putchar(i%10+'0');putchar(']');
 025A           ;                                       //putchar('[');putchar(tbend/10+'0');putchar(tbend%10+'0');putchar(']');
 025A           ;                                       }else {
 025A                   .dbline 84
 025A           ;                                                  f=0;buff[i]=INVAIL;
 025A 6627              clr R22
 025C                   .dbline 84
 025C 80E0              ldi R24,<_buff
 025E 90E0              ldi R25,>_buff
 0260 EC2D              mov R30,R12
 0262 FF27              clr R31
 0264 E80F              add R30,R24
 0266 F91F              adc R31,R25
 0268 2224              clr R2
 026A 2082              std z+0,R2
 026C                   .dbline 85
 026C           ;                                                 }
 026C                   .dbline 86
 026C           ;                               }
 026C                   .dbline 87
 026C 12C0              xjmp L15
 026E           L14:
 026E                   .dbline 87
 026E           ;                       }else{
 026E                   .dbline 88
 026E           ;                                 if(f==0)buff[i]=INVAIL;
 026E 6623              tst R22
 0270 41F4              brne L29
 0272                   .dbline 88
 0272 80E0              ldi R24,<_buff
 0274 90E0              ldi R25,>_buff
 0276 EC2D              mov R30,R12
 0278 FF27              clr R31
 027A E80F              add R30,R24
 027C F91F              adc R31,R25
 027E 2224              clr R2
 0280 2082              std z+0,R2
 0282           L29:
 0282                   .dbline 89
 0282           ;                                 i++;
 0282 C394              inc R12
 0284                   .dbline 90
 0284           ;                                 i=i%BUFFLEN;bhead=i;
 0284 18E2              ldi R17,40
 0286 0C2D              mov R16,R12
 0288 0E940000          xcall mod8u
 028C C02E              mov R12,R16
 028E                   .dbline 90
 028E C0920100          sts _bhead,R12
 0292                   .dbline 91
 0292           ;                                }
 0292           L15:
 0292                   .dbline 92
 0292           L12:
 0292                   .dbline 51
 0292 CA14              cp R12,R10
 0294 09F0              breq X3
 0296 E9CE              xjmp L11
 0298           X3:
 0298                   .dbline -2
 0298           L10:
 0298 0E940000          xcall pop_gset4
 029C                   .dbline 0 ; func end
 029C 0895              ret
 029E                   .dbsym r j 20 c
 029E                   .dbsym r t 20 c
 029E                   .dbsym r f 22 c
 029E                   .dbsym r tbend 10 c
 029E                   .dbsym r i 12 c
 029E                   .dbend
 029E                   .dbfunc e Cmd_pro _Cmd_pro fV
 029E           ;              i -> R22
                        .even
 029E           _Cmd_pro::
 029E 0E940000          xcall push_gset2
 02A2                   .dbline -1
 02A2                   .dbline 97
 02A2           ;               }
 02A2           ;        
 02A2           ;        }
 02A2           ;        
 02A2           ; void Cmd_pro(void)
 02A2           ;        {uchar i;
 02A2                   .dbline 99
 02A2           ;        
 02A2           ;        if(ccnt>0)
 02A2 2224              clr R2
 02A4 30900300          lds R3,_ccnt
 02A8 2314              cp R2,R3
 02AA 08F0              brlo X5
 02AC 7EC0              xjmp L32
 02AE           X5:
 02AE                   .dbline 100
 02AE           ;               {
 02AE                   .dbline 101
 02AE           ;               for(i=0;i<ccnt;i++)
 02AE 6627              clr R22
 02B0 3EC0              xjmp L37
 02B2           L34:
 02B2                   .dbline 102
 02B2                   .dbline 103
 02B2 83E0              ldi R24,3
 02B4 869F              mul R24,R22
 02B6 80E0              ldi R24,<_cmd_buff+3
 02B8 90E0              ldi R25,>_cmd_buff+3
 02BA F001              movw R30,R0
 02BC E80F              add R30,R24
 02BE F91F              adc R31,R25
 02C0 2080              ldd R2,z+0
 02C2 80E0              ldi R24,<_cmd_buff
 02C4 90E0              ldi R25,>_cmd_buff
 02C6 F001              movw R30,R0
 02C8 E80F              add R30,R24
 02CA F91F              adc R31,R25
 02CC 2082              std z+0,R2
 02CE                   .dbline 104
 02CE 83E0              ldi R24,3
 02D0 869F              mul R24,R22
 02D2 80E0              ldi R24,<_cmd_buff+3
 02D4 90E0              ldi R25,>_cmd_buff+3
 02D6 F001              movw R30,R0
 02D8 E80F              add R30,R24
 02DA F91F              adc R31,R25
 02DC 2080              ldd R2,z+0
 02DE 80E0              ldi R24,<_cmd_buff+1
 02E0 90E0              ldi R25,>_cmd_buff+1
 02E2 F001              movw R30,R0
 02E4 E80F              add R30,R24
 02E6 F91F              adc R31,R25
 02E8 2082              std z+0,R2
 02EA                   .dbline 105
 02EA 83E0              ldi R24,3
 02EC 869F              mul R24,R22
 02EE 80E0              ldi R24,<_cmd_buff+3
 02F0 90E0              ldi R25,>_cmd_buff+3
 02F2 F001              movw R30,R0
 02F4 E80F              add R30,R24
 02F6 F91F              adc R31,R25
 02F8 2080              ldd R2,z+0
 02FA 80E0              ldi R24,<_cmd_buff+2
 02FC 90E0              ldi R25,>_cmd_buff+2
 02FE F001              movw R30,R0
 0300 E80F              add R30,R24
 0302 F91F              adc R31,R25
 0304 2082              std z+0,R2
 0306                   .dbline 107
 0306 0BE5              ldi R16,91
 0308 10E0              ldi R17,0
 030A 0E940000          xcall _putchar
 030E                   .dbline 107
 030E 00910300          lds R16,_ccnt
 0312 1127              clr R17
 0314 005D              subi R16,208  ; offset = 48
 0316 1F4F              sbci R17,255
 0318 0E940000          xcall _putchar
 031C                   .dbline 108
 031C 00E0              ldi R16,<L43
 031E 10E0              ldi R17,>L43
 0320 61D0              xcall _Send_Str
 0322                   .dbline 109
 0322 00910400          lds R16,_cmd_buff
 0326 1127              clr R17
 0328 0E940000          xcall _putchar
 032C                   .dbline 111
 032C           L35:
 032C                   .dbline 101
 032C 6395              inc R22
 032E           L37:
 032E                   .dbline 101
 032E 20900300          lds R2,_ccnt
 0332 6215              cp R22,R2
 0334 08F4              brsh X6
 0336 BDCF              xjmp L34
 0338           X6:
 0338                   .dbline 112
 0338           ;                       {
 0338           ;                       cmd_buff[i].cmd=cmd_buff[i+1].cmd;

⌨️ 快捷键说明

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