📄 h4001.lis
字号:
03DC E80F add R30,R24
03DE F91F adc R31,R25
03E0 8081 ldd R24,z+0
03E2 8130 cpi R24,1
03E4 29F4 brne L89
03E6 81E0 ldi R24,1
03E8 90E0 ldi R25,0
03EA 9F83 std y+7,R25
03EC 8E83 std y+6,R24
03EE 04C0 xjmp L90
03F0 L89:
03F0 0024 clr R0
03F2 1124 clr R1
03F4 1F82 std y+7,R1
03F6 0E82 std y+6,R0
03F8 L90:
03F8 80E0 ldi R24,<_decode+3
03FA 90E0 ldi R25,>_decode+3
03FC E881 ldd R30,y+0
03FE FF27 clr R31
0400 E80F add R30,R24
0402 F91F adc R31,R25
0404 8081 ldd R24,z+0
0406 8130 cpi R24,1
0408 29F4 brne L91
040A 81E0 ldi R24,1
040C 90E0 ldi R25,0
040E 9987 std y+9,R25
0410 8887 std y+8,R24
0412 04C0 xjmp L92
0414 L91:
0414 0024 clr R0
0416 1124 clr R1
0418 1986 std y+9,R1
041A 0886 std y+8,R0
041C L92:
041C 80E0 ldi R24,<_decode+4
041E 90E0 ldi R25,>_decode+4
0420 E881 ldd R30,y+0
0422 FF27 clr R31
0424 E80F add R30,R24
0426 F91F adc R31,R25
0428 8081 ldd R24,z+0
042A 8130 cpi R24,1
042C 29F4 brne L93
042E 81E0 ldi R24,1
0430 90E0 ldi R25,0
0432 9B87 std y+11,R25
0434 8A87 std y+10,R24
0436 04C0 xjmp L94
0438 L93:
0438 0024 clr R0
043A 1124 clr R1
043C 1B86 std y+11,R1
043E 0A86 std y+10,R0
0440 L94:
0440 80E0 ldi R24,<_decode+5
0442 90E0 ldi R25,>_decode+5
0444 E881 ldd R30,y+0
0446 FF27 clr R31
0448 E80F add R30,R24
044A F91F adc R31,R25
044C 8081 ldd R24,z+0
044E 8130 cpi R24,1
0450 19F4 brne L95
0452 41E0 ldi R20,1
0454 50E0 ldi R21,0
0456 02C0 xjmp L96
0458 L95:
0458 4427 clr R20
045A 5527 clr R21
045C L96:
045C 80E0 ldi R24,<_decode+6
045E 90E0 ldi R25,>_decode+6
0460 E881 ldd R30,y+0
0462 FF27 clr R31
0464 E80F add R30,R24
0466 F91F adc R31,R25
0468 8081 ldd R24,z+0
046A 8130 cpi R24,1
046C 21F4 brne L97
046E 81E0 ldi R24,1
0470 90E0 ldi R25,0
0472 7C01 movw R14,R24
0474 02C0 xjmp L98
0476 L97:
0476 EE24 clr R14
0478 FF24 clr R15
047A L98:
047A 80E0 ldi R24,<_decode+7
047C 90E0 ldi R25,>_decode+7
047E E881 ldd R30,y+0
0480 FF27 clr R31
0482 E80F add R30,R24
0484 F91F adc R31,R25
0486 8081 ldd R24,z+0
0488 8130 cpi R24,1
048A 21F4 brne L99
048C 81E0 ldi R24,1
048E 90E0 ldi R25,0
0490 6C01 movw R12,R24
0492 02C0 xjmp L100
0494 L99:
0494 CC24 clr R12
0496 DD24 clr R13
0498 L100:
0498 80E0 ldi R24,<_decode+8
049A 90E0 ldi R25,>_decode+8
049C E881 ldd R30,y+0
049E FF27 clr R31
04A0 E80F add R30,R24
04A2 F91F adc R31,R25
04A4 8081 ldd R24,z+0
04A6 8130 cpi R24,1
04A8 21F4 brne L101
04AA 81E0 ldi R24,1
04AC 90E0 ldi R25,0
04AE 5C01 movw R10,R24
04B0 02C0 xjmp L102
04B2 L101:
04B2 AA24 clr R10
04B4 BB24 clr R11
04B6 L102:
04B6 80E0 ldi R24,<_decode+9
04B8 90E0 ldi R25,>_decode+9
04BA E881 ldd R30,y+0
04BC FF27 clr R31
04BE E80F add R30,R24
04C0 F91F adc R31,R25
04C2 8081 ldd R24,z+0
04C4 8130 cpi R24,1
04C6 19F4 brne L103
04C8 61E0 ldi R22,1
04CA 70E0 ldi R23,0
04CC 02C0 xjmp L104
04CE L103:
04CE 6627 clr R22
04D0 7727 clr R23
04D2 L104:
04D2 2C80 ldd R2,y+4
04D4 3D80 ldd R3,y+5
04D6 0A80 ldd R0,y+2
04D8 1B80 ldd R1,y+3
04DA 2020 and R2,R0
04DC 3120 and R3,R1
04DE 0E80 ldd R0,y+6
04E0 1F80 ldd R1,y+7
04E2 2020 and R2,R0
04E4 3120 and R3,R1
04E6 0884 ldd R0,y+8
04E8 1984 ldd R1,y+9
04EA 2020 and R2,R0
04EC 3120 and R3,R1
04EE 0A84 ldd R0,y+10
04F0 1B84 ldd R1,y+11
04F2 2020 and R2,R0
04F4 3120 and R3,R1
04F6 2422 and R2,R20
04F8 3522 and R3,R21
04FA 2E20 and R2,R14
04FC 3F20 and R3,R15
04FE 2C20 and R2,R12
0500 3D20 and R3,R13
0502 2A20 and R2,R10
0504 3B20 and R3,R11
0506 2622 and R2,R22
0508 3722 and R3,R23
050A 2220 tst R2
050C 11F4 brne X5
050E 3320 tst R3
0510 41F0 breq L74
0512 X5:
0512 .dbline 223
0512 .dbline 224
0512 ; head=1;
0512 81E0 ldi R24,1
0514 80930300 sts _head,R24
0518 .dbline 225
0518 ; post=i+10;
0518 8881 ldd R24,y+0
051A 865F subi R24,246 ; addi 10
051C 80930100 sts _post,R24
0520 .dbline 226
0520 ; break;
0520 07C0 xjmp L72
0522 L74:
0522 .dbline 228
0522 L71:
0522 .dbline 221
0522 0880 ldd R0,y+0
0524 0394 inc R0
0526 0882 std y+0,R0
0528 L73:
0528 .dbline 221
0528 8881 ldd R24,y+0
052A 8038 cpi R24,128
052C 08F4 brsh X10
052E 2ECF xjmp L70
0530 X10:
0530 L72:
0530 .dbline 229
0530 ; }
0530 ; }
0530 ; if (head==1) {
0530 80910300 lds R24,_head
0534 8130 cpi R24,1
0536 09F0 breq X11
0538 49C1 xjmp L105
053A X11:
053A .dbline 229
053A .dbline 230
053A 0024 clr R0
053C 0882 std y+0,R0
053E 29C0 xjmp L110
0540 L107:
0540 .dbline 230
0540 ; for (i=0;i<54;i++) {
0540 .dbline 231
0540 ; if (decode[post+i]==0x0e) error++;
0540 2880 ldd R2,y+0
0542 3324 clr R3
0544 E0910100 lds R30,_post
0548 FF27 clr R31
054A E20D add R30,R2
054C F31D adc R31,R3
054E 80E0 ldi R24,<_decode
0550 90E0 ldi R25,>_decode
0552 E80F add R30,R24
0554 F91F adc R31,R25
0556 8081 ldd R24,z+0
0558 8E30 cpi R24,14
055A 29F4 brne L111
055C .dbline 231
055C 80910000 lds R24,_error
0560 8F5F subi R24,255 ; addi 1
0562 80930000 sts _error,R24
0566 L111:
0566 .dbline 232
0566 2880 ldd R2,y+0
0568 3324 clr R3
056A E0910100 lds R30,_post
056E FF27 clr R31
0570 E20D add R30,R2
0572 F31D adc R31,R3
0574 80E0 ldi R24,<_decode
0576 90E0 ldi R25,>_decode
0578 E80F add R30,R24
057A F91F adc R31,R25
057C 2080 ldd R2,z+0
057E 80E0 ldi R24,<_rfiddata
0580 90E0 ldi R25,>_rfiddata
0582 E881 ldd R30,y+0
0584 FF27 clr R31
0586 E80F add R30,R24
0588 F91F adc R31,R25
058A 2082 std z+0,R2
058C .dbline 233
058C L108:
058C .dbline 230
058C 0880 ldd R0,y+0
058E 0394 inc R0
0590 0882 std y+0,R0
0592 L110:
0592 .dbline 230
0592 8881 ldd R24,y+0
0594 8633 cpi R24,54
0596 A0F2 brlo L107
0598 .dbline 234
0598 ; rfiddata[i]=decode[post+i];
0598 ; }
0598 ; if (error==0) { //H4001卡采用的二维行列偶校验码
0598 20900000 lds R2,_error
059C 2220 tst R2
059E 09F0 breq X12
05A0 15C1 xjmp L113
05A2 X12:
05A2 .dbline 234
05A2 .dbline 235
05A2 0024 clr R0
05A4 0882 std y+0,R0
05A6 3EC0 xjmp L118
05A8 L115:
05A8 .dbline 235
05A8 ; for (i=0;i<10;i++) { //先对10行数据进行校验
05A8 .dbline 236
05A8 ; if (!(rfiddata[i*5]^rfiddata[i*5+1]^rfiddata[i*5+2]^rfiddata[i*5+3]==rfiddata[i*5+4])) error++;
05A8 85E0 ldi R24,5
05AA 0880 ldd R0,y+0
05AC 809D mul R24,R0
05AE 1001 movw R2,R0
05B0 80E0 ldi R24,<_rfiddata+4
05B2 90E0 ldi R25,>_rfiddata+4
05B4 F101 movw R30,R2
05B6 E80F add R30,R24
05B8 F91F adc R31,R25
05BA 4080 ldd R4,z+0
05BC 80E0 ldi R24,<_rfiddata+3
05BE 90E0 ldi R25,>_rfiddata+3
05C0 F101 movw R30,R2
05C2 E80F add R30,R24
05C4 F91F adc R31,R25
05C6 5080 ldd R5,z+0
05C8 5414 cp R5,R4
05CA 19F4 brne L125
05CC 61E0 ldi R22,1
05CE 70E0 ldi R23,0
05D0 02C0 xjmp L126
05D2 L125:
05D2 6627 clr R22
05D4 7727 clr R23
05D6 L126:
05D6 80E0 ldi R24,<_rfiddata+1
05D8 90E0 ldi R25,>_rfiddata+1
05DA F101 movw R30,R2
05DC E80F add R30,R24
05DE F91F adc R31,R25
05E0 4080 ldd R4,z+0
05E2 5524 clr R5
05E4 80E0 ldi R24,<_rfiddata
05E6 90E0 ldi R25,>_rfiddata
05E8 F101 movw R30,R2
05EA E80F add R30,R24
05EC F91F adc R31,R25
05EE 6080 ldd R6,z+0
05F0 7724 clr R7
05F2 6424 eor R6,R4
05F4 7524 eor R7,R5
05F6 80E0 ldi R24,<_rfiddata+2
05F8 90E0 ldi R25,>_rfiddata+2
05FA F101 movw R30,R2
05FC E80F add R30,R24
05FE F91F adc R31,R25
0600 4080 ldd R4,z+0
0602 5524 clr R5
0604 6424 eor R6,R4
0606 7524 eor R7,R5
0608 6626 eor R6,R22
060A 7726 eor R7,R23
060C 6620 tst R6
060E 39F4 brne L119
0610 7720 tst R7
0612 29F4 brne L119
0614 X6:
0614 .dbline 236
0614 80910000 lds R24,_error
0618 8F5F subi R24,255 ; addi 1
061A 80930000 sts _error,R24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -