📄 uarttest.lis
字号:
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 + -