📄 main.lis
字号:
00EC 807F andi R24,240
00EE 85BB out 0x15,R24
00F0 .dbline 116
00F0 ; switch (i)
00F0 842F mov R24,R20
00F2 8F70 andi R24,15
00F4 25B2 in R2,0x15
00F6 282A or R2,R24
00F8 25BA out 0x15,R2
00FA .dbline 117
00FA ; {
00FA C1DF xcall _LCD_en_write
00FC .dbline -2
00FC L20:
00FC 0E940000 xcall pop_gset1
0100 .dbline 0 ; func end
0100 0895 ret
0102 .dbsym r data 20 c
0102 .dbend
0102 .dbfunc e LCD_set_xy _LCD_set_xy fV
0102 ; address -> R20
0102 ; y -> R20
0102 ; x -> R22
.even
0102 _LCD_set_xy::
0102 0E940000 xcall push_gset2
0106 422F mov R20,R18
0108 602F mov R22,R16
010A .dbline -1
010A .dbline 124
010A ; case 'A':{address=2;LCD_write_string(4,0,"2>>");}
010A ; break;
010A ; case 'B':{address=3;LCD_write_string(4,0,"3>>");}
010A ; break;
010A ; case 'D':
010A ; {out_485(address,key);
010A ; LCD_write_string(4,0,send);
010A .dbline 126
010A ; LCD_write_string(12,1," ");//数组没有结束符,所以要修正液晶后面多余的乱码
010A ; }
010A 4423 tst R20
010C 19F4 brne L22
010E .dbline 126
010E 462F mov R20,R22
0110 4058 subi R20,128 ; addi 128
0112 02C0 xjmp L23
0114 L22:
0114 .dbline 127
0114 ; break;
0114 462F mov R20,R22
0116 4054 subi R20,64 ; addi 192
0118 L23:
0118 .dbline 128
0118 ; case 'C':{j=0;LCD_write_string(7,0," ");}
0118 042F mov R16,R20
011A B7DF xcall _LCD_write_command
011C .dbline -2
011C L21:
011C 0E940000 xcall pop_gset2
0120 .dbline 0 ; func end
0120 0895 ret
0122 .dbsym r address 20 c
0122 .dbsym r y 20 c
0122 .dbsym r x 22 c
0122 .dbend
0122 .dbfunc e LCD_write_string _LCD_write_string fV
0122 ; s -> R20,R21
0122 ; Y -> R10
0122 ; X -> R22
.even
0122 _LCD_write_string::
0122 0E940000 xcall push_gset3
0126 A22E mov R10,R18
0128 602F mov R22,R16
012A 4E81 ldd R20,y+6
012C 5F81 ldd R21,y+7
012E .dbline -1
012E .dbline 132
012E ; break;
012E ; default:
012E ; if(j<8&&i<='9'&&i>='0'){key[j]=i;LCD_write_char(j+7,0,i);j++;}
012E ; //-------------以下为测试语句------------------------------------
012E .dbline 133
012E ; }
012E 2A2D mov R18,R10
0130 062F mov R16,R22
0132 E7DF xcall _LCD_set_xy
0134 05C0 xjmp L26
0136 L25:
0136 .dbline 135
0136 .dbline 136
0136 FA01 movw R30,R20
0138 0081 ldd R16,z+0
013A C5DF xcall _LCD_write_data
013C .dbline 137
013C 4F5F subi R20,255 ; offset = 1
013E 5F4F sbci R21,255
0140 .dbline 138
0140 L26:
0140 .dbline 134
0140 ;
0140 FA01 movw R30,R20
0142 2080 ldd R2,z+0
0144 2220 tst R2
0146 B9F7 brne L25
0148 .dbline -2
0148 L24:
0148 0E940000 xcall pop_gset3
014C .dbline 0 ; func end
014C 0895 ret
014E .dbsym r s 20 pc
014E .dbsym r Y 10 c
014E .dbsym r X 22 c
014E .dbend
014E .dbfunc e LCD_write_char _LCD_write_char fV
014E ; data -> y+4
014E ; Y -> R22
014E ; X -> R20
.even
014E _LCD_write_char::
014E 0E940000 xcall push_gset2
0152 622F mov R22,R18
0154 402F mov R20,R16
0156 .dbline -1
0156 .dbline 143
0156 ;
0156 ;
0156 ; //------------------------------------------------------------
0156 ;
0156 ; }
0156 ; }
0156 ; }
0156 ; }
0156 ; }
0156 .dbline 144
0156 ; }
0156 262F mov R18,R22
0158 042F mov R16,R20
015A D3DF xcall _LCD_set_xy
015C .dbline 145
015C ; }
015C 0C81 ldd R16,y+4
015E B3DF xcall _LCD_write_data
0160 .dbline -2
0160 L28:
0160 0E940000 xcall pop_gset2
0164 .dbline 0 ; func end
0164 0895 ret
0166 .dbsym l data 4 c
0166 .dbsym r Y 22 c
0166 .dbsym r X 20 c
0166 .dbend
0166 .dbfile D:\mojinpan\485\485_master/usart.h
0166 .dbfunc e usart_init _usart_init fV
.even
0166 _usart_init::
0166 .dbline -1
0166 .dbline 7
0166 .dbline 8
0166 81E0 ldi R24,1
0168 80939B00 sts 155,R24
016C .dbline 9
016C 8CE9 ldi R24,156
016E 80939A00 sts 154,R24
0172 .dbline 10
0172 86E3 ldi R24,54
0174 80939D00 sts 157,R24
0178 .dbline 11
0178 83E3 ldi R24,51
017A 80939900 sts 153,R24
017E .dbline 12
017E 2224 clr R2
0180 20929800 sts 152,R2
0184 .dbline 13
0184 1F98 cbi 0x3,7
0186 .dbline 14
0186 179A sbi 0x2,7
0188 .dbline -2
0188 L29:
0188 .dbline 0 ; func end
0188 0895 ret
018A .dbend
018A .dbfunc e usart_out _usart_out fV
018A ; i -> R20
018A ; n -> R18
018A ; datas -> R16,R17
.even
018A _usart_out::
018A 0E940000 xcall push_gset1
018E .dbline -1
018E .dbline 20
018E .dbline 21
018E 4427 clr R20
0190 .dbline 22
0190 1F9A sbi 0x3,7
0192 1EC0 xjmp L32
0194 L31:
0194 .dbline 25
0194 .dbline 26
0194 4423 tst R20
0196 31F4 brne L34
0198 .dbline 26
0198 80919A00 lds R24,154
019C 8160 ori R24,1
019E 80939A00 sts 154,R24
01A2 05C0 xjmp L35
01A4 L34:
01A4 .dbline 27
01A4 80919A00 lds R24,154
01A8 8E7F andi R24,254
01AA 80939A00 sts 154,R24
01AE L35:
01AE .dbline 28
01AE E42F mov R30,R20
01B0 FF27 clr R31
01B2 E00F add R30,R16
01B4 F11F adc R31,R17
01B6 2080 ldd R2,z+0
01B8 20929C00 sts 156,R2
01BC L36:
01BC .dbline 29
01BC L37:
01BC .dbline 29
01BC 20909B00 lds R2,155
01C0 26FE sbrs R2,6
01C2 FCCF rjmp L36
01C4 .dbline 30
01C4 80919B00 lds R24,155
01C8 8064 ori R24,64
01CA 80939B00 sts 155,R24
01CE .dbline 31
01CE 4395 inc R20
01D0 .dbline 33
01D0 L32:
01D0 .dbline 24
01D0 4217 cp R20,R18
01D2 00F3 brlo L31
01D4 .dbline 35
01D4 1F98 cbi 0x3,7
01D6 .dbline -2
01D6 L30:
01D6 0E940000 xcall pop_gset1
01DA .dbline 0 ; func end
01DA 0895 ret
01DC .dbsym r i 20 c
01DC .dbsym r n 18 c
01DC .dbsym r datas 16 pc
01DC .dbend
01DC .dbfile D:\mojinpan\485\485_master/crc8.h
01DC .dbfunc e crc8 _crc8 fc
01DC ; crc -> R20
01DC ; i -> R22
01DC ; len -> R18
01DC ; ptr -> R16,R17
.even
01DC _crc8::
01DC 0E940000 xcall push_gset2
01E0 .dbline -1
01E0 .dbline 5
01E0 .dbline 7
01E0 4427 clr R20
01E2 20C0 xjmp L41
01E4 L40:
01E4 .dbline 9
01E4 .dbline 10
01E4 61E0 ldi R22,1
01E6 1AC0 xjmp L46
01E8 L43:
01E8 .dbline 11
01E8 .dbline 12
01E8 40FF sbrs R20,0
01EA 09C0 rjmp L47
01EC .dbline 12
01EC .dbline 12
01EC 4695 lsr R20
01EE .dbline 12
01EE 8CE8 ldi R24,140
01F0 90E0 ldi R25,0
01F2 242E mov R2,R20
01F4 3324 clr R3
01F6 2826 eor R2,R24
01F8 3926 eor R3,R25
01FA 422D mov R20,R2
01FC .dbline 12
01FC 01C0 xjmp L48
01FE L47:
01FE .dbline 13
01FE 4695 lsr R20
0200 L48:
0200 .dbline 14
0200 F801 movw R30,R16
0202 2080 ldd R2,z+0
0204 2622 and R2,R22
0206 39F0 breq L49
0208 .dbline 14
0208 8CE8 ldi R24,140
020A 90E0 ldi R25,0
020C 242E mov R2,R20
020E 3324 clr R3
0210 2826 eor R2,R24
0212 3926 eor R3,R25
0214 422D mov R20,R2
0216 L49:
0216 .dbline 15
0216 L44:
0216 .dbline 10
0216 82E0 ldi R24,2
0218 869F mul R24,R22
021A 602D mov R22,R0
021C L46:
021C .dbline 10
021C 6623 tst R22
021E 21F7 brne L43
0220 .dbline 16
0220 0F5F subi R16,255 ; offset = 1
0222 1F4F sbci R17,255
0224 .dbline 17
0224 L41:
0224 .dbline 8
0224 222E mov R2,R18
0226 3324 clr R3
0228 2150 subi R18,1
022A 2220 tst R2
022C D9F6 brne L40
022E .dbline 18
022E 042F mov R16,R20
0230 .dbline -2
0230 L39:
0230 0E940000 xcall pop_gset2
0234 .dbline 0 ; func end
0234 0895 ret
0236 .dbsym r crc 20 c
0236 .dbsym r i 22 c
0236 .dbsym r len 18 c
0236 .dbsym r ptr 16 pc
0236 .dbend
0236 .dbfile D:\mojinpan\485\485_master/key.h
0236 .dbfunc e key_read _key_read fc
0236 ; i -> R20
.even
0236 _key_read::
0236 0E940000 xcall push_gset1
023A .dbline -1
023A .dbline 7
023A .dbline 10
023A 80EF ldi R24,240
023C 87BB out 0x17,R24
023E .dbline 11
023E 8FE0 ldi R24,15
0240 88BB out 0x18,R24
0242 .dbline 12
0242 01E0 ldi R16,1
0244 10E0 ldi R17,0
0246 F7DE xcall _delay_nms
0248 .dbline 14
0248 46B3 in R20,0x16
024A 4F70 andi R20,15
024C .dbline 17
024C 8FE0 ldi R24,15
024E 87BB out 0x17,R24
0250 .dbline 18
0250 80EF ldi R24,240
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -