📄 h4001.lis
字号:
061E L119:
061E .dbline 237
061E L116:
061E .dbline 235
061E 0880 ldd R0,y+0
0620 0394 inc R0
0622 0882 std y+0,R0
0624 L118:
0624 .dbline 235
0624 8881 ldd R24,y+0
0626 8A30 cpi R24,10
0628 08F4 brsh X13
062A BECF xjmp L115
062C X13:
062C .dbline 238
062C 0024 clr R0
062E 0882 std y+0,R0
0630 7BC0 xjmp L130
0632 L127:
0632 .dbline 238
0632 ; }
0632 ; for (i=0;i<4;i++) { //再对4列数据进行校验
0632 .dbline 239
0632 ; if (!(rfiddata[i]^rfiddata[i+5]^rfiddata[i+10]^rfiddata[i+15]^rfiddata[i+20]^rfiddata[i+25]^rfiddata[i+30]^rfiddata[i+35]^rfiddata[i+40]^rfiddata[i+45]==rfiddata[i+50])) error++;
0632 80E0 ldi R24,<_rfiddata+50
0634 90E0 ldi R25,>_rfiddata+50
0636 E881 ldd R30,y+0
0638 FF27 clr R31
063A E80F add R30,R24
063C F91F adc R31,R25
063E 4080 ldd R4,z+0
0640 80E0 ldi R24,<_rfiddata+45
0642 90E0 ldi R25,>_rfiddata+45
0644 E881 ldd R30,y+0
0646 FF27 clr R31
0648 E80F add R30,R24
064A F91F adc R31,R25
064C 5080 ldd R5,z+0
064E 5414 cp R5,R4
0650 19F4 brne L143
0652 61E0 ldi R22,1
0654 70E0 ldi R23,0
0656 02C0 xjmp L144
0658 L143:
0658 6627 clr R22
065A 7727 clr R23
065C L144:
065C 80E0 ldi R24,<_rfiddata+5
065E 90E0 ldi R25,>_rfiddata+5
0660 E881 ldd R30,y+0
0662 FF27 clr R31
0664 E80F add R30,R24
0666 F91F adc R31,R25
0668 4080 ldd R4,z+0
066A 5524 clr R5
066C 80E0 ldi R24,<_rfiddata
066E 90E0 ldi R25,>_rfiddata
0670 E881 ldd R30,y+0
0672 FF27 clr R31
0674 E80F add R30,R24
0676 F91F adc R31,R25
0678 6080 ldd R6,z+0
067A 7724 clr R7
067C 6424 eor R6,R4
067E 7524 eor R7,R5
0680 80E0 ldi R24,<_rfiddata+10
0682 90E0 ldi R25,>_rfiddata+10
0684 E881 ldd R30,y+0
0686 FF27 clr R31
0688 E80F add R30,R24
068A F91F adc R31,R25
068C 4080 ldd R4,z+0
068E 5524 clr R5
0690 6424 eor R6,R4
0692 7524 eor R7,R5
0694 80E0 ldi R24,<_rfiddata+15
0696 90E0 ldi R25,>_rfiddata+15
0698 E881 ldd R30,y+0
069A FF27 clr R31
069C E80F add R30,R24
069E F91F adc R31,R25
06A0 4080 ldd R4,z+0
06A2 5524 clr R5
06A4 6424 eor R6,R4
06A6 7524 eor R7,R5
06A8 80E0 ldi R24,<_rfiddata+20
06AA 90E0 ldi R25,>_rfiddata+20
06AC E881 ldd R30,y+0
06AE FF27 clr R31
06B0 E80F add R30,R24
06B2 F91F adc R31,R25
06B4 4080 ldd R4,z+0
06B6 5524 clr R5
06B8 6424 eor R6,R4
06BA 7524 eor R7,R5
06BC 80E0 ldi R24,<_rfiddata+25
06BE 90E0 ldi R25,>_rfiddata+25
06C0 E881 ldd R30,y+0
06C2 FF27 clr R31
06C4 E80F add R30,R24
06C6 F91F adc R31,R25
06C8 4080 ldd R4,z+0
06CA 5524 clr R5
06CC 6424 eor R6,R4
06CE 7524 eor R7,R5
06D0 80E0 ldi R24,<_rfiddata+30
06D2 90E0 ldi R25,>_rfiddata+30
06D4 E881 ldd R30,y+0
06D6 FF27 clr R31
06D8 E80F add R30,R24
06DA F91F adc R31,R25
06DC 4080 ldd R4,z+0
06DE 5524 clr R5
06E0 6424 eor R6,R4
06E2 7524 eor R7,R5
06E4 80E0 ldi R24,<_rfiddata+35
06E6 90E0 ldi R25,>_rfiddata+35
06E8 E881 ldd R30,y+0
06EA FF27 clr R31
06EC E80F add R30,R24
06EE F91F adc R31,R25
06F0 4080 ldd R4,z+0
06F2 5524 clr R5
06F4 6424 eor R6,R4
06F6 7524 eor R7,R5
06F8 80E0 ldi R24,<_rfiddata+40
06FA 90E0 ldi R25,>_rfiddata+40
06FC E881 ldd R30,y+0
06FE FF27 clr R31
0700 E80F add R30,R24
0702 F91F adc R31,R25
0704 4080 ldd R4,z+0
0706 5524 clr R5
0708 6424 eor R6,R4
070A 7524 eor R7,R5
070C 6626 eor R6,R22
070E 7726 eor R7,R23
0710 6620 tst R6
0712 39F4 brne L131
0714 7720 tst R7
0716 29F4 brne L131
0718 X7:
0718 .dbline 239
0718 80910000 lds R24,_error
071C 8F5F subi R24,255 ; addi 1
071E 80930000 sts _error,R24
0722 L131:
0722 .dbline 240
0722 L128:
0722 .dbline 238
0722 0880 ldd R0,y+0
0724 0394 inc R0
0726 0882 std y+0,R0
0728 L130:
0728 .dbline 238
0728 8881 ldd R24,y+0
072A 8430 cpi R24,4
072C 08F4 brsh X14
072E 81CF xjmp L127
0730 X14:
0730 .dbline 241
0730 ; }
0730 ; if (error==0) {
0730 40900000 lds R4,_error
0734 4420 tst R4
0736 09F0 breq X15
0738 49C0 xjmp L145
073A X15:
073A .dbline 241
073A .dbline 242
073A ; beeps(1);
073A 01E0 ldi R16,1
073C CDDC xcall _beeps
073E .dbline 243
073E ; UDR=10;
073E 8AE0 ldi R24,10
0740 8CB9 out 0xc,R24
0742 .dbline 244
0742 ; wait_tx();
0742 EADC xcall _wait_tx
0744 .dbline 245
0744 ; UDR=13;
0744 8DE0 ldi R24,13
0746 8CB9 out 0xc,R24
0748 .dbline 246
0748 ; wait_tx();
0748 E7DC xcall _wait_tx
074A .dbline 247
074A 0024 clr R0
074C 0882 std y+0,R0
074E 3AC0 xjmp L150
0750 L147:
0750 .dbline 247
0750 .dbline 248
0750 85E0 ldi R24,5
0752 0880 ldd R0,y+0
0754 809D mul R24,R0
0756 2001 movw R4,R0
0758 80E0 ldi R24,<_rfiddata+1
075A 90E0 ldi R25,>_rfiddata+1
075C F201 movw R30,R4
075E E80F add R30,R24
0760 F91F adc R31,R25
0762 6080 ldd R6,z+0
0764 84E0 ldi R24,4
0766 869D mul R24,R6
0768 3001 movw R6,R0
076A 80E0 ldi R24,<_rfiddata
076C 90E0 ldi R25,>_rfiddata
076E F201 movw R30,R4
0770 E80F add R30,R24
0772 F91F adc R31,R25
0774 8080 ldd R8,z+0
0776 88E0 ldi R24,8
0778 889D mul R24,R8
077A 802C mov R8,R0
077C 860C add R8,R6
077E 80E0 ldi R24,<_rfiddata+2
0780 90E0 ldi R25,>_rfiddata+2
0782 F201 movw R30,R4
0784 E80F add R30,R24
0786 F91F adc R31,R25
0788 6080 ldd R6,z+0
078A 82E0 ldi R24,2
078C 869D mul R24,R6
078E 800C add R8,R0
0790 80E0 ldi R24,<_rfiddata+3
0792 90E0 ldi R25,>_rfiddata+3
0794 F201 movw R30,R4
0796 E80F add R30,R24
0798 F91F adc R31,R25
079A 4080 ldd R4,z+0
079C 840C add R8,R4
079E 8092F700 sts _data1,R8
07A2 .dbline 249
07A2 20E1 ldi R18,16
07A4 30E0 ldi R19,0
07A6 082D mov R16,R8
07A8 1127 clr R17
07AA 0E940000 xcall mod16s
07AE F801 movw R30,R16
07B0 80E0 ldi R24,<_ascii
07B2 90E0 ldi R25,>_ascii
07B4 E80F add R30,R24
07B6 F91F adc R31,R25
07B8 E491 lpm R30,Z
07BA ECB9 out 0xc,R30
07BC .dbline 250
07BC ADDC xcall _wait_tx
07BE .dbline 251
07BE L148:
07BE .dbline 247
07BE 0880 ldd R0,y+0
07C0 0394 inc R0
07C2 0882 std y+0,R0
07C4 L150:
07C4 .dbline 247
07C4 ; for (i=0;i<10;i++) { //对10行数据进行校验
07C4 8881 ldd R24,y+0
07C6 8A30 cpi R24,10
07C8 08F4 brsh X16
07CA C2CF xjmp L147
07CC X16:
07CC .dbline 252
07CC ; data1=(rfiddata[i*5]*8)+(rfiddata[i*5+1]*4)+(rfiddata[i*5+2]*2)+rfiddata[i*5+3];
07CC ; UDR=ascii[data1%16];
07CC ; wait_tx();
07CC ; }
07CC ; }
07CC L145:
07CC .dbline 253
07CC ; }
07CC L113:
07CC .dbline 254
07CC L105:
07CC .dbline -2
07CC L22:
07CC 2C96 adiw R28,12
07CE 0E940000 xcall pop_gset5
07D2 .dbline 0 ; func end
07D2 0895 ret
07D4 .dbsym l j 1 c
07D4 .dbsym r bits 22 i
07D4 .dbsym l i 0 c
07D4 .dbend
07D4 .dbfunc e int0_isr _int0_isr fV
.even
07D4 _int0_isr::
07D4 .dbline -1
07D4 .dbline 259
07D4 ; }
07D4 ; }
07D4 ;
07D4 ;
07D4 ; void int0_isr(void)
07D4 ; {
07D4 .dbline -2
07D4 L154:
07D4 .dbline 0 ; func end
07D4 0895 ret
07D6 .dbend
07D6 .dbfunc e main _main fV
07D6 ; t_i -> <dead>
07D6 ; j -> <dead>
07D6 ; i -> <dead>
.even
07D6 _main::
07D6 .dbline -1
07D6 .dbline 265
07D6 ; //external interupt on INT0
07D6 ; }
07D6 ;
07D6 ;
07D6 ; void main(void)
07D6 ; {
07D6 .dbline 267
07D6 ; unsigned char i,j,t_i;
07D6 ; init_devices();
07D6 6BDC xcall _init_devices
07D8 .dbline 268
07D8 ; RFW_1();
07D8 AE9A sbi 0x15,6
07DA .dbline 269
07DA ; okled0();
07DA A898 cbi 0x15,0
07DC 0FC0 xjmp L157
07DE L156:
07DE .dbline 270
07DE ; while (1) {
07DE .dbline 271
07DE ; if (run==1) {
07DE 80910200 lds R24,_run
07E2 8130 cpi R24,1
07E4 59F4 brne L159
07E6 .dbline 271
07E6 .dbline 272
07E6 ; R_H4001();
07E6 9CDC xcall _R_H4001
07E8 .dbline 273
07E8 ; led();
07E8 80E8 ldi R24,128
07EA 90E0 ldi R25,0
07EC 22B2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -