📄 h4001.lst
字号:
0124 0553 CPC R21,R3
0125 F421 BNE 0x012A
0126 E081 LDI R24,1
0127 E090 LDI R25,0
0128 015C MOVW R10,R24
0129 C002 RJMP 0x012C
012A 24AA CLR R10
012B 24BB CLR R11
012C B58C IN R24,0x2C
012D B59D IN R25,0x2D
012E 3280 CPI R24,0x20
012F E4EE LDI R30,0x4E
0130 079E CPC R25,R30
0131 F418 BCC 0x0135
0132 E041 LDI R20,1
0133 E050 LDI R21,0
0134 C002 RJMP 0x0137
0135 2744 CLR R20
0136 2755 CLR R21
0137 0115 MOVW R2,R10
0138 2224 AND R2,R20
0139 2235 AND R3,R21
013A 2022 TST R2
013B F6E9 BNE 0x0119
013C 2033 TST R3
013D F6D9 BNE 0x0119
(0175) tcomp=TCNT1;
013E B42C IN R2,0x2C
013F B43D IN R3,0x2D
0140 92300065 STS tcomp+1,R3
0142 92200064 STS tcomp,R2
(0176) TCNT1=0;
0144 2422 CLR R2
0145 2433 CLR R3
0146 BC3D OUT 0x2D,R3
0147 BC2C OUT 0x2C,R2
(0177) if ((tcomp>1500 & tcomp<2500)|(tcomp>3000 & tcomp<5000)) { //判断是否为合法跳变
0148 ED8C LDI R24,0xDC
0149 E095 LDI R25,5
014A 940E0425 CALL 0x425
014C F420 BCC 0x0151
014D E081 LDI R24,1
014E E090 LDI R25,0
014F 016C MOVW R12,R24
0150 C002 RJMP 0x0153
0151 24CC CLR R12
0152 24DD CLR R13
0153 940E0437 CALL 0x437
0155 3C84 CPI R24,0xC4
0156 E0E9 LDI R30,0x9
0157 079E CPC R25,R30
0158 F420 BCC 0x015D
0159 E081 LDI R24,1
015A E090 LDI R25,0
015B 015C MOVW R10,R24
015C C002 RJMP 0x015F
015D 24AA CLR R10
015E 24BB CLR R11
015F EB88 LDI R24,0xB8
0160 E09B LDI R25,0xB
0161 940E0425 CALL 0x425
0163 F418 BCC 0x0167
0164 E041 LDI R20,1
0165 E050 LDI R21,0
0166 C002 RJMP 0x0169
0167 2744 CLR R20
0168 2755 CLR R21
0169 940E0437 CALL 0x437
016B 3888 CPI R24,0x88
016C E1E3 LDI R30,0x13
016D 079E CPC R25,R30
016E F420 BCC 0x0173
016F E081 LDI R24,1
0170 E090 LDI R25,0
0171 017C MOVW R14,R24
0172 C002 RJMP 0x0175
0173 24EE CLR R14
0174 24FF CLR R15
0175 011A MOVW R2,R20
0176 202E AND R2,R14
0177 203F AND R3,R15
0178 0126 MOVW R4,R12
0179 204A AND R4,R10
017A 205B AND R5,R11
017B 2842 OR R4,R2
017C 2853 OR R5,R3
017D 2044 TST R4
017E F419 BNE 0x0182
017F 2055 TST R5
0180 F409 BNE 0x0182
0181 C057 RJMP 0x01D9
(0178) if (tcomp>1500 & tcomp<2500) {
0182 ED8C LDI R24,0xDC
0183 E095 LDI R25,5
0184 940E0425 CALL 0x425
0186 F420 BCC 0x018B
0187 E081 LDI R24,1
0188 E090 LDI R25,0
0189 016C MOVW R12,R24
018A C002 RJMP 0x018D
018B 24CC CLR R12
018C 24DD CLR R13
018D 940E0437 CALL 0x437
018F 3C84 CPI R24,0xC4
0190 E0E9 LDI R30,0x9
0191 079E CPC R25,R30
0192 F420 BCC 0x0197
0193 E081 LDI R24,1
0194 E090 LDI R25,0
0195 015C MOVW R10,R24
0196 C002 RJMP 0x0199
0197 24AA CLR R10
0198 24BB CLR R11
0199 0116 MOVW R2,R12
019A 202A AND R2,R10
019B 203B AND R3,R11
019C 2022 TST R2
019D F411 BNE 0x01A0
019E 2033 TST R3
019F F0A1 BEQ 0x01B4
(0179) if (half==1) {
01A0 91800067 LDS R24,half
01A2 3081 CPI R24,1
01A3 F461 BNE 0x01B0
(0180) half=0;
01A4 2422 CLR R2
01A5 92200067 STS half,R2
01A7 940E040D CALL 0x40D
(0181) decode[j]=lastbit;
01A9 90200066 LDS R2,lastbit
01AB 8220 STD Z+0,R2
(0182) j++;
01AC 8009 LDD R0,Y+1
01AD 9403 INC R0
01AE 8209 STD Y+1,R0
(0183) }
01AF C029 RJMP 0x01D9
(0184) else
(0185) half=1;
01B0 E081 LDI R24,1
01B1 93800067 STS half,R24
(0186) }
01B3 C025 RJMP 0x01D9
(0187) else
(0188) { // (tcomp>3000 & tcomp<5000)
(0189) if (half==1)
01B4 91800067 LDS R24,half
01B6 3081 CPI R24,1
01B7 F491 BNE 0x01CA
(0190) {
(0191) if (lastbit==0) {
01B8 90200066 LDS R2,lastbit
01BA 2022 TST R2
01BB F429 BNE 0x01C1
01BC 940E040D CALL 0x40D
(0192) decode[j]=1;
01BE E081 LDI R24,1
01BF 8380 STD Z+0,R24
(0193) }
01C0 C012 RJMP 0x01D3
(0194) else
(0195) {
(0196) if (lastbit==1) {
01C1 91800066 LDS R24,lastbit
01C3 3081 CPI R24,1
01C4 F471 BNE 0x01D3
01C5 940E040D CALL 0x40D
(0197) decode[j]=0;
01C7 2422 CLR R2
01C8 8220 STD Z+0,R2
(0198) }
(0199) }
(0200) }
01C9 C009 RJMP 0x01D3
(0201) else
(0202) {
(0203) decode[j]=0x0E;
01CA 940E040D CALL 0x40D
01CC E08E LDI R24,0xE
01CD 8380 STD Z+0,R24
(0204) if (j<127) {
01CE 8189 LDD R24,Y+1
01CF 378F CPI R24,0x7F
01D0 F4A8 BCC 0x01E6
(0205) bits=0;
01D1 2766 CLR R22
01D2 2777 CLR R23
(0206) }
(0207) else
(0208) break;
(0209) }
(0210) j++;
01D3 8009 LDD R0,Y+1
01D4 9403 INC R0
01D5 8209 STD Y+1,R0
(0211) half=1;
01D6 E081 LDI R24,1
01D7 93800067 STS half,R24
(0212) }
(0213) }
(0214) lastbit^=0x01;
01D9 E081 LDI R24,1
01DA 90200066 LDS R2,lastbit
01DC 2628 EOR R2,R24
01DD 92200066 STS lastbit,R2
01DF 5F6F SUBI R22,0xFF
01E0 4F7F SBCI R23,0xFF
01E1 3060 CPI R22,0
01E2 E0E1 LDI R30,1
01E3 077E CPC R23,R30
01E4 F408 BCC 0x01E6
01E5 CF33 RJMP 0x0119
(0215) }
(0216)
(0217) j=0;
01E6 2400 CLR R0
01E7 8209 STD Y+1,R0
(0218) head=0;
01E8 2422 CLR R2
01E9 92200063 STS head,R2
(0219) post=0;
01EB 92200061 STS post,R2
(0220) error=0;
01ED 92200060 STS error,R2
(0221) for (i=0;i<128;i++)
01EF 8208 STD Y+0,R0
01F0 C0B0 RJMP 0x02A1
(0222) { //查找最后一个终止位(0),及9位(1)引导位
(0223) if ((decode[i]==0)&(decode[i+1]==1)&(decode[i+2]==1)&(decode[i+3]==1)&(decode[i+4]==1)&(decode[i+5]==1)&(decode[i+6]==1)&(decode[i+7]==1)&(decode[i+8]==1)&(decode[i+9]==1)) {
01F1 E98E LDI R24,0x9E
01F2 940E0402 CALL <created procedures>
01F4 8020 LDD R2,Z+0
01F5 2022 TST R2
01F6 F429 BNE 0x01FC
01F7 E081 LDI R24,1
01F8 E090 LDI R25,0
01F9 839D STD Y+5,R25
01FA 838C STD Y+4,R24
01FB C004 RJMP 0x0200
01FC 2400 CLR R0
01FD 2411 CLR R1
01FE 821D STD Y+5,R1
01FF 820C STD Y+4,R0
0200 E98F LDI R24,0x9F
0201 940E0402 CALL <created procedures>
0203 8180 LDD R24,Z+0
0204 3081 CPI R24,1
0205 F429 BNE 0x020B
0206 E081 LDI R24,1
0207 E090 LDI R25,0
0208 839B STD Y+3,R25
0209 838A STD Y+2,R24
020A C004 RJMP 0x020F
020B 2400 CLR R0
020C 2411 CLR R1
020D 821B STD Y+3,R1
020E 820A STD Y+2,R0
020F EA80 LDI R24,0xA0
0210 940E0402 CALL <created procedures>
0212 8180 LDD R24,Z+0
0213 3081 CPI R24,1
0214 F429 BNE 0x021A
0215 E081 LDI R24,1
0216 E090 LDI R25,0
0217 839F STD Y+7,R25
0218 838E STD Y+6,R24
0219 C004 RJMP 0x021E
021A 2400 CLR R0
021B 2411 CLR R1
021C 821F STD Y+7,R1
021D 820E STD Y+6,R0
021E EA81 LDI R24,0xA1
021F 940E0402 CALL <created procedures>
0221 8180 LDD R24,Z+0
0222 3081 CPI R24,1
0223 F429 BNE 0x0229
0224 E081 LDI R24,1
0225 E090 LDI R25,0
0226 8799 STD Y+9,R25
0227 8788 STD Y+8,R24
0228 C004 RJMP 0x022D
0229 2400 CLR R0
022A 2411 CLR R1
022B 8619 STD Y+9,R1
022C 8608 STD Y+8,R0
022D EA82 LDI R24,0xA2
022E 940E0402 CALL <created procedures>
0230 8180 LDD R24,Z+0
0231 3081 CPI R24,1
0232 F429 BNE 0x0238
0233 E081 LDI R24,1
0234 E090 LDI R25,0
0235 879B STD Y+11,R25
0236 878A STD Y+10,R24
0237 C004 RJMP 0x023C
0238 2400 CLR R0
0239 2411 CLR R1
023A 861B STD Y+11,R1
023B 860A STD Y+10,R0
023C EA83 LDI R24,0xA3
023D 940E0402 CALL <created procedures>
023F 8180 LDD R24,Z+0
0240 3081 CPI R24,1
0241 F419 BNE 0x0245
0242 E041 LDI R20,1
0243 E050 LDI R21,0
0244 C002 RJMP 0x0247
0245 2744 CLR R20
0246 2755 CLR R21
0247 EA84 LDI R24,0xA4
0248 940E0402 CALL <created procedures>
024A 8180 LDD R24,Z+0
024B 3081 CPI R24,1
024C F421 BNE 0x0251
024D E081 LDI R24,1
024E E090 LDI R25,0
024F 017C MOVW R14,R24
0250 C002 RJMP 0x0253
0251 24EE CLR R14
0252 24FF CLR R15
0253 EA85 LDI R24,0xA5
0254 940E0402 CALL <created procedures>
0256 8180 LDD R24,Z+0
0257 3081 CPI R24,1
0258 F421 BNE 0x025D
0259 E081 LDI R24,1
025A E090 LDI R25,0
025B 016C MOVW R12,R24
025C C002 RJMP 0x025F
025D 24CC CLR R12
025E 24DD CLR R13
025F EA86 LDI R24,0xA6
0260 940E0402 CALL <created procedures>
0262 8180 LDD R24,Z+0
0263 3081 CPI R24,1
0264 F421 BNE 0x0269
0265 E081 LDI R24,1
0266 E090 LDI R25,0
0267 015C MOVW R10,R24
0268 C002 RJMP 0x026B
0269 24AA CLR R10
026A 24BB CLR R11
026B EA87 LDI R24,0xA7
026C 940E0402 CALL <created procedures>
026E 8180 LDD R24,Z+0
026F 3081 CPI R24,1
0270 F419 BNE 0x0274
0271 E061 LDI R22,1
0272 E070 LDI R23,0
0273 C002 RJMP 0x0276
0274 2766 CLR R22
0275 2777 CLR R23
0276 802C LDD R2,Y+4
0277 803D LDD R3,Y+5
0278 800A LDD R0,Y+2
0279 801B LDD R1,Y+3
027A 2020 AND R2,R0
027B 2031 AND R3,R1
027C 800E LDD R0,Y+6
027D 801F LDD R1,Y+7
027E 2020 AND R2,R0
027F 2031 AND R3,R1
0280 8408 LDD R0,Y+8
0281 8419 LDD R1,Y+9
0282 2020 AND R2,R0
0283 2031 AND R3,R1
0284 840A LDD R0,Y+10
0285 841B LDD R1,Y+11
0286 2020 AND R2,R0
0287 2031 AND R3,R1
0288 2224 AND R2,R20
0289 2235 AND R3,R21
028A 202E AND R2,R14
028B 203F AND R3,R15
028C 202C AND R2,R12
028D 203D AND R3,R13
028E 202A AND R2,R10
028F 203B AND R3,R11
0290 2226 AND R2,R22
0291 2237 AND R3,R23
0292 2022 TST R2
0293 F411 BNE 0x0296
0294 2033 TST R3
0295 F041 BEQ 0x029E
(0224) head=1;
0296 E081 LDI R24,1
0297 93800063 STS head,R24
(0225) post=i+10;
0299 8188 LDD R24,Y+0
029A 5F86 SUBI R24,0xF6
029B 93800061 STS post,R24
(0226) break;
029D C007 RJMP 0x02A5
029E 8008 LDD R0,Y+0
029F 9403 INC R0
02A0 8208 STD Y+0,R0
02A1 8188 LDD R24,Y+0
02A2 3880 CPI R24,0x80
02A3 F408 BCC 0x02A5
02A4 CF4C RJMP 0x01F1
(0227) }
(0228) }
(0229) if (head==1) {
02A5 91800063 LDS R24,head
02A7 3081 CPI R24,1
02A8 F009 BEQ 0x02AA
02A9 C0E9 RJMP 0x0393
(0230) for (i=0;i<54;i++) {
02AA 2400 CLR R0
02AB 8208 STD Y+0,R0
02AC C011 RJMP 0x02BE
(0231) if (decode[post+i]==0x0e) error++;
02AD 940E0414 CALL 0x414
02AF 8180 LDD R24,Z+0
02B0 308E CPI R24,0xE
02B1 F411 BNE 0x02B4
02B2 940E0431 CALL 0x431
(0232) rfiddata[i]=decode[post+i];
02B4 940E0414 CALL 0x414
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -