📄 main.lis
字号:
012C ; {
012C .dbline 106
012C ; unsigned char i;
012C ; for(i=0;i<6;i++)
012C 4427 clr R20
012E 20C0 xjmp L30
0130 L27:
0130 .dbline 107
0130 ; {
0130 .dbline 108
0130 ; if(cs) R_data=small_char[n][i]; //右半屏显示
0130 0023 tst R16
0132 79F0 breq L31
0134 .dbline 108
0134 86E0 ldi R24,6
0136 829F mul R24,R18
0138 1001 movw R2,R0
013A 80E0 ldi R24,<_small_char
013C 90E0 ldi R25,>_small_char
013E 280E add R2,R24
0140 391E adc R3,R25
0142 E42F mov R30,R20
0144 FF27 clr R31
0146 E20D add R30,R2
0148 F31D adc R31,R3
014A E491 lpm R30,Z
014C E0930620 sts 8198,R30
0150 0EC0 xjmp L32
0152 L31:
0152 .dbline 109
0152 ; else L_data=small_char[n][i]; //左半屏显示
0152 86E0 ldi R24,6
0154 829F mul R24,R18
0156 1001 movw R2,R0
0158 80E0 ldi R24,<_small_char
015A 90E0 ldi R25,>_small_char
015C 280E add R2,R24
015E 391E adc R3,R25
0160 E42F mov R30,R20
0162 FF27 clr R31
0164 E20D add R30,R2
0166 F31D adc R31,R3
0168 E491 lpm R30,Z
016A E0930A20 sts 8202,R30
016E L32:
016E .dbline 110
016E L28:
016E .dbline 106
016E 4395 inc R20
0170 L30:
0170 .dbline 106
0170 4630 cpi R20,6
0172 F0F2 brlo L27
0174 .dbline -2
0174 .dbline 111
0174 ; }
0174 ; }
0174 L26:
0174 0E940000 xcall pop_gset1
0178 .dbline 0 ; func end
0178 0895 ret
017A .dbsym r i 20 c
017A .dbsym r n 18 c
017A .dbsym r cs 16 c
017A .dbend
017A .dbfunc e write_Nchar _write_Nchar fV
017A ; i -> R20
017A ; n -> R18
017A ; cs -> R16
.even
017A _write_Nchar::
017A 0E940000 xcall push_gset1
017E .dbline -1
017E .dbline 114
017E ;
017E ; void write_Nchar(unsigned char cs,unsigned char n) //数字显示函数
017E ; {
017E .dbline 116
017E ; unsigned char i;
017E ; for(i=0;i<6;i++)
017E 4427 clr R20
0180 20C0 xjmp L37
0182 L34:
0182 .dbline 117
0182 ; {
0182 .dbline 118
0182 ; if(cs) R_data=num[n][i]; //右半屏显示
0182 0023 tst R16
0184 79F0 breq L38
0186 .dbline 118
0186 86E0 ldi R24,6
0188 829F mul R24,R18
018A 1001 movw R2,R0
018C 80E0 ldi R24,<_num
018E 90E0 ldi R25,>_num
0190 280E add R2,R24
0192 391E adc R3,R25
0194 E42F mov R30,R20
0196 FF27 clr R31
0198 E20D add R30,R2
019A F31D adc R31,R3
019C E491 lpm R30,Z
019E E0930620 sts 8198,R30
01A2 0EC0 xjmp L39
01A4 L38:
01A4 .dbline 119
01A4 ; else L_data=num[n][i]; //左半屏显示
01A4 86E0 ldi R24,6
01A6 829F mul R24,R18
01A8 1001 movw R2,R0
01AA 80E0 ldi R24,<_num
01AC 90E0 ldi R25,>_num
01AE 280E add R2,R24
01B0 391E adc R3,R25
01B2 E42F mov R30,R20
01B4 FF27 clr R31
01B6 E20D add R30,R2
01B8 F31D adc R31,R3
01BA E491 lpm R30,Z
01BC E0930A20 sts 8202,R30
01C0 L39:
01C0 .dbline 120
01C0 L35:
01C0 .dbline 116
01C0 4395 inc R20
01C2 L37:
01C2 .dbline 116
01C2 4630 cpi R20,6
01C4 F0F2 brlo L34
01C6 .dbline -2
01C6 .dbline 121
01C6 ; }
01C6 ; }
01C6 L33:
01C6 0E940000 xcall pop_gset1
01CA .dbline 0 ; func end
01CA 0895 ret
01CC .dbsym r i 20 c
01CC .dbsym r n 18 c
01CC .dbsym r cs 16 c
01CC .dbend
.area data(ram, con, rel)
0000 .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
0000 L41:
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
.area text(rom, con, rel)
01CC .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
01CC .dbfunc e display_char _display_char fV
01CC .dbsym s adder L41 c
01CC ; i -> R20
.even
01CC _display_char::
01CC 0E940000 xcall push_gset1
01D0 .dbline -1
01D0 .dbline 124
01D0 ;
01D0 ; void display_char(void) //字符显示函数
01D0 ; {
01D0 .dbline 127
01D0 ; unsigned char i;
01D0 ; static unsigned char adder=0;
01D0 ; write_Bchar(0, 24);
01D0 28E1 ldi R18,24
01D2 0027 clr R16
01D4 80DF xcall _write_Bchar
01D6 .dbline 128
01D6 ; write_Schar(0, 14);
01D6 2EE0 ldi R18,14
01D8 0027 clr R16
01DA A6DF xcall _write_Schar
01DC .dbline 129
01DC ; write_Schar(0, 20);
01DC 24E1 ldi R18,20
01DE 0027 clr R16
01E0 A3DF xcall _write_Schar
01E2 .dbline 130
01E2 4427 clr R20
01E4 04C0 xjmp L45
01E6 L42:
01E6 .dbline 130
01E6 .dbline 130
01E6 2224 clr R2
01E8 20920A20 sts 8202,R2
01EC .dbline 130
01EC L43:
01EC .dbline 130
01EC 4395 inc R20
01EE L45:
01EE .dbline 130
01EE 4430 cpi R20,4
01F0 D0F3 brlo L42
01F2 .dbline 131
01F2 27E0 ldi R18,7
01F4 0027 clr R16
01F6 6FDF xcall _write_Bchar
01F8 .dbline 132
01F8 24E1 ldi R18,20
01FA 0027 clr R16
01FC 95DF xcall _write_Schar
01FE .dbline 133
01FE 80910000 lds R24,L41
0202 8F5F subi R24,255 ; addi 1
0204 80930000 sts L41,R24
0208 .dbline 134
0208 8FE0 ldi R24,15
020A 20900000 lds R2,L41
020E 8215 cp R24,R2
0210 30F4 brsh L46
0212 .dbline 134
0212 .dbline 134
0212 81E0 ldi R24,1
0214 80930000 sts _flag,R24
0218 .dbline 134
0218 2224 clr R2
021A 20920000 sts L41,R2
021E .dbline 134
021E L46:
021E .dbline -2
021E .dbline 135
021E ; for(i=0;i<4;i++){L_data=0x00;}
021E ; write_Bchar(0, 7);
021E ; write_Schar(0, 20);
021E ; adder++;
021E ; if(adder>15){flag=1;adder=0;}
021E ; }
021E L40:
021E 0E940000 xcall pop_gset1
0222 .dbline 0 ; func end
0222 0895 ret
0224 .dbsym r i 20 c
0224 .dbend
0224 .dbfunc e main _main fV
0224 ; i -> <dead>
.even
0224 _main::
0224 .dbline -1
0224 .dbline 139
0224 ;
0224 ;
0224 ; void main(void)
0224 ; {
0224 .dbline 141
0224 ; unsigned char i;
0224 ; init_devices();
0224 4EDF xcall _init_devices
0226 .dbline 142
0226 ; LCD_Clean();
0226 04DF xcall _LCD_Clean
0228 .dbline 143
0228 ; LCD_Init();
0228 2DDF xcall _LCD_Init
022A 03C0 xjmp L50
022C L49:
022C .dbline 146
022C .dbline 148
022C 23E0 ldi R18,3
022E 0027 clr R16
0230 7BDF xcall _write_Schar
0232 .dbline 149
0232 L50:
0232 .dbline 145
0232 FCCF xjmp L49
0234 X0:
0234 .dbline -2
0234 .dbline 150
0234 ; //display_char();
0234 ; while(1)
0234 ; {
0234 ; //write_Bchar(0,1);
0234 ; write_Schar(0,3);
0234 ; }
0234 ; }
0234 L48:
0234 .dbline 0 ; func end
0234 0895 ret
0236 .dbsym l i 1 c
0236 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
0000 _flag::
0000 .blkb 1
0001 .dbsym e flag _flag c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -