📄 cw1.lis
字号:
031A 40900C00 lds R4,_count+2
031E 50900D00 lds R5,_count+2+1
0322 20900A00 lds R2,_count
0326 30900B00 lds R3,_count+1
032A 4215 cp R20,R2
032C 5305 cpc R21,R3
032E 6405 cpc R22,R4
0330 7505 cpc R23,R5
0332 A0F4 brsh L67
0334 48E0 ldi R20,8
0336 50E0 ldi R21,0
0338 60E0 ldi R22,0
033A 70E0 ldi R23,0
033C 2416 cp R2,R20
033E 3506 cpc R3,R21
0340 4606 cpc R4,R22
0342 5706 cpc R5,R23
0344 58F4 brsh L67
0346 .dbline 162
0346 FE01 movw R30,R28
0348 2080 ldd R2,z+0
034A 3180 ldd R3,z+1
034C 4280 ldd R4,z+2
034E 5380 ldd R5,z+3
0350 FE01 movw R30,R28
0352 2082 std z+0,R2
0354 3182 std z+1,R3
0356 4282 std z+2,R4
0358 5382 std z+3,R5
035A 12C0 xjmp L68
035C L67:
035C .dbline 164
035C ; else //if(count>13&&count<15)
035C ; data|=1;
035C 41E0 ldi R20,1
035E 50E0 ldi R21,0
0360 60E0 ldi R22,0
0362 70E0 ldi R23,0
0364 FE01 movw R30,R28
0366 2080 ldd R2,z+0
0368 3180 ldd R3,z+1
036A 4280 ldd R4,z+2
036C 5380 ldd R5,z+3
036E 242A or R2,R20
0370 352A or R3,R21
0372 462A or R4,R22
0374 572A or R5,R23
0376 FE01 movw R30,R28
0378 2082 std z+0,R2
037A 3182 std z+1,R3
037C 4282 std z+2,R4
037E 5382 std z+3,R5
0380 L68:
0380 .dbline 166
0380 ;
0380 ; count=0;
0380 40E0 ldi R20,0
0382 50E0 ldi R21,0
0384 60E0 ldi R22,0
0386 70E0 ldi R23,0
0388 50930B00 sts _count+1,R21
038C 40930A00 sts _count,R20
0390 70930D00 sts _count+2+1,R23
0394 60930C00 sts _count+2,R22
0398 1AC0 xjmp L70
039A L69:
039A .dbline 168
039A ; while(1)
039A ; {
039A .dbline 169
039A ; WDR();
039A A895 wdr
039C .dbline 170
039C ; pin_var=PINA&(1<<wuxian_js);
039C 89B3 in R24,0x19
039E 8870 andi R24,8
03A0 E82E mov R14,R24
03A2 .dbline 171
03A2 ; if(pin_var!=0){break;}
03A2 8823 tst R24
03A4 09F0 breq L72
03A6 .dbline 171
03A6 .dbline 171
03A6 14C0 xjmp L71
03A8 L72:
03A8 .dbline 172
03A8 ; if(count>200)
03A8 48EC ldi R20,200
03AA 50E0 ldi R21,0
03AC 60E0 ldi R22,0
03AE 70E0 ldi R23,0
03B0 40900C00 lds R4,_count+2
03B4 50900D00 lds R5,_count+2+1
03B8 20900A00 lds R2,_count
03BC 30900B00 lds R3,_count+1
03C0 4215 cp R20,R2
03C2 5305 cpc R21,R3
03C4 6405 cpc R22,R4
03C6 7505 cpc R23,R5
03C8 10F4 brsh L74
03CA .dbline 173
03CA ; {
03CA .dbline 174
03CA ; return(0xff);
03CA 0FEF ldi R16,255
03CC 2FC0 xjmp L32
03CE L74:
03CE .dbline 176
03CE L70:
03CE .dbline 167
03CE E5CF xjmp L69
03D0 L71:
03D0 .dbline 177
03D0 L57:
03D0 .dbline 151
03D0 C394 inc R12
03D2 L59:
03D2 .dbline 151
03D2 8C2D mov R24,R12
03D4 8831 cpi R24,24
03D6 08F4 brsh X3
03D8 67CF xjmp L56
03DA X3:
03DA .dbline 178
03DA ; }
03DA ; }
03DA ; }
03DA ; if(i==24)
03DA 8831 cpi R24,24
03DC 31F5 brne L76
03DE .dbline 179
03DE ; {
03DE .dbline 180
03DE ; for(j=2;j>=0;j--)
03DE 82E0 ldi R24,2
03E0 A82E mov R10,R24
03E2 20C0 xjmp L81
03E4 L78:
03E4 .dbline 181
03E4 .dbline 182
03E4 80E0 ldi R24,<_code
03E6 90E0 ldi R25,>_code
03E8 EA2D mov R30,R10
03EA FF27 clr R31
03EC E7FD sbrc R30,7
03EE F095 com R31
03F0 E80F add R30,R24
03F2 F91F adc R31,R25
03F4 DE01 movw R26,R28
03F6 2D90 ld R2,x+
03F8 3D90 ld R3,x+
03FA 4D90 ld R4,x+
03FC 5C90 ld R5,x
03FE 2082 std z+0,R2
0400 .dbline 183
0400 88E0 ldi R24,8
0402 90E0 ldi R25,0
0404 FE01 movw R30,R28
0406 2080 ldd R2,z+0
0408 3180 ldd R3,z+1
040A 4280 ldd R4,z+2
040C 5380 ldd R5,z+3
040E 8A93 st -y,R24
0410 8101 movw R16,R2
0412 9201 movw R18,R4
0414 0E940000 xcall lsr32
0418 FE01 movw R30,R28
041A 0083 std z+0,R16
041C 1183 std z+1,R17
041E 2283 std z+2,R18
0420 3383 std z+3,R19
0422 .dbline 184
0422 L79:
0422 .dbline 180
0422 AA94 dec R10
0424 L81:
0424 .dbline 180
0424 8A2D mov R24,R10
0426 8030 cpi R24,0
0428 ECF6 brge L78
042A .dbline 185
042A ; {
042A ; code[j]=data;
042A ; data>>=8;
042A ; }
042A ; }
042A L76:
042A .dbline 186
042A ; return 1;
042A 01E0 ldi R16,1
042C .dbline -2
042C L32:
042C 2496 adiw R28,4
042E 0E940000 xcall pop_gset5
0432 .dbline 0 ; func end
0432 0895 ret
0434 .dbsym r j 10 C
0434 .dbsym r i 12 c
0434 .dbsym l data 0 l
0434 .dbsym r flag 10 c
0434 .dbsym r pin_var 14 c
0434 .dbend
0434 .dbfunc e ana_decode _ana_decode fV
0434 ; key_var -> R20
0434 ; code_buf -> y+0
0434 ; flag -> R22
0434 ; i -> R20
.even
0434 _ana_decode::
0434 0E940000 xcall push_gset2
0438 2797 sbiw R28,7
043A .dbline -1
043A .dbline 190
043A ; }
043A ;
043A ; void ana_decode(void)
043A ; {
043A .dbline 192
043A ; uchar key_var;
043A ; uchar i,flag=0;
043A 6627 clr R22
043C .dbline 194
043C ; uchar code_buf[7];
043C ; DDRC&=~(1<<study_key);PORTC|=(1<<study_key);
043C A198 cbi 0x14,1
043E .dbline 194
043E A99A sbi 0x15,1
0440 .dbline 195
0440 ; key_var=PINC&(1<<study_key);
0440 43B3 in R20,0x13
0442 4270 andi R20,2
0444 .dbline 196
0444 ; if(key_var==0)
0444 09F0 breq X6
0446 51C0 xjmp L83
0448 X6:
0448 .dbline 197
0448 ; {
0448 3CC0 xjmp L86
044A X4:
044A .dbline 199
044A ; while(1)
044A ; {
044A L88:
044A .dbline 201
044A ; while(1)
044A ; {
044A .dbline 202
044A ; flag=decode();
044A 95DE xcall _decode
044C 602F mov R22,R16
044E .dbline 203
044E ; if(flag==1) {flag=0;break;}
044E 0130 cpi R16,1
0450 11F4 brne L91
0452 .dbline 203
0452 .dbline 203
0452 6627 clr R22
0454 .dbline 203
0454 01C0 xjmp L90
0456 L91:
0456 .dbline 204
0456 L89:
0456 .dbline 200
0456 F9CF xjmp L88
0458 L90:
0458 .dbline 205
0458 4427 clr R20
045A 0FC0 xjmp L96
045C L93:
045C .dbline 205
045C .dbline 205
045C 80E0 ldi R24,<_code
045E 90E0 ldi R25,>_code
0460 E42F mov R30,R20
0462 FF27 clr R31
0464 E80F add R30,R24
0466 F91F adc R31,R25
0468 2080 ldd R2,z+0
046A 80E0 ldi R24,<_code1
046C 90E0 ldi R25,>_code1
046E E42F mov R30,R20
0470 FF27 clr R31
0472 E80F add R30,R24
0474 F91F adc R31,R25
0476 2082 std z+0,R2
0478 .dbline 205
0478 L94:
0478 .dbline 205
0478 4395 inc R20
047A L96:
047A .dbline 205
047A ; }
047A ; for(i=0;i<2;++i){code1[i]=code[i];}
047A 4230 cpi R20,2
047C 78F3 brlo L93
047E 06C0 xjmp L98
0480 L97:
0480 .dbline 207
0480 ; while(1)
0480 ; {
0480 .dbline 208
0480 ; flag=decode();
0480 7ADE xcall _decode
0482 602F mov R22,R16
0484 .dbline 209
0484 ; if(flag==1) {flag=0;break;}
0484 0130 cpi R16,1
0486 11F4 brne L100
0488 .dbline 209
0488 .dbline 209
0488 6627 clr R22
048A .dbline 209
048A 01C0 xjmp L99
048C L100:
048C .dbline 211
048C L98:
048C .dbline 206
048C F9CF xjmp L97
048E L99:
048E .dbline 212
048E 4427 clr R20
0490 12C0 xjmp L105
0492 L102:
0492 .dbline 212
0492 .dbline 212
0492 80E0 ldi R24,<_code
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -