📄 main.lis
字号:
00F2 .dbline 99
00F2 ; R_command=LCD_Y;
00F2 80E4 ldi R24,64
00F4 80930420 sts 8196,R24
00F8 .dbline 100
00F8 ; }
00F8 0BC0 xjmp L21
00FA L20:
00FA .dbline 102
00FA .dbline 103
00FA 0027 clr R16
00FC 88DF xcall _check_busy
00FE .dbline 104
00FE 842F mov R24,R20
0100 8854 subi R24,72 ; addi 184
0102 80930820 sts 8200,R24
0106 .dbline 105
0106 0027 clr R16
0108 82DF xcall _check_busy
010A .dbline 106
010A 80E4 ldi R24,64
010C 80930820 sts 8200,R24
0110 .dbline 107
0110 L21:
0110 .dbline -2
0110 .dbline 108
0110 ; else
0110 ; {
0110 ; check_busy(0);
0110 ; L_command=LCD_PAGE+n; //设置LCD右半屏页地址
0110 ; check_busy(0);
0110 ; L_command=LCD_Y;
0110 ; }
0110 ; }
0110 L19:
0110 0E940000 xcall pop_gset2
0114 .dbline 0 ; func end
0114 0895 ret
0116 .dbsym r n 20 c
0116 .dbsym r cs 22 c
0116 .dbend
0116 .dbfunc e write_photo _write_photo fV
0116 ; j -> R20
0116 ; i -> R10
0116 ; cs -> R22
.even
0116 _write_photo::
0116 0E940000 xcall push_gset3
011A 602F mov R22,R16
011C .dbline -1
011C .dbline 110
011C ; void write_photo(unsigned char cs)
011C ; {
011C .dbline 112
011C ; uchar i,j;
011C ; for(j=0;j<3;j++)
011C 4427 clr R20
011E 73C0 xjmp L26
0120 L23:
0120 .dbline 113
0120 ; {
0120 .dbline 114
0120 ; if(cs) ch_pos(1,2*j); //右屏页码处理
0120 6623 tst R22
0122 31F0 breq L27
0124 .dbline 114
0124 82E0 ldi R24,2
0126 849F mul R24,R20
0128 202D mov R18,R0
012A 01E0 ldi R16,1
012C D4DF xcall _ch_pos
012E 05C0 xjmp L28
0130 L27:
0130 .dbline 115
0130 ; else ch_pos(0,2*j); //左屏页码处理
0130 82E0 ldi R24,2
0132 849F mul R24,R20
0134 202D mov R18,R0
0136 0027 clr R16
0138 CEDF xcall _ch_pos
013A L28:
013A .dbline 116
013A ; for(i=0;i<64;i++)
013A AA24 clr R10
013C 26C0 xjmp L32
013E L29:
013E .dbline 117
013E ; {
013E .dbline 119
013E ;
013E ; if(cs)
013E 6623 tst R22
0140 91F0 breq L33
0142 .dbline 120
0142 ; {
0142 .dbline 121
0142 ; R_data=p3[2*j][i]; //右半屏显示
0142 82E0 ldi R24,2
0144 849F mul R24,R20
0146 102D mov R17,R0
0148 00E4 ldi R16,64
014A 0102 muls R16,R17
014C 80E0 ldi R24,<_p3
014E 90E0 ldi R25,>_p3
0150 1001 movw R2,R0
0152 280E add R2,R24
0154 391E adc R3,R25
0156 EA2D mov R30,R10
0158 FF27 clr R31
015A E20D add R30,R2
015C F31D adc R31,R3
015E E491 lpm R30,Z
0160 E0930620 sts 8198,R30
0164 .dbline 122
0164 ; }
0164 11C0 xjmp L34
0166 L33:
0166 .dbline 124
0166 ; else
0166 ; {
0166 .dbline 125
0166 ; L_data=p3[2*j][i]; //左半屏显示
0166 82E0 ldi R24,2
0168 849F mul R24,R20
016A 102D mov R17,R0
016C 00E4 ldi R16,64
016E 0102 muls R16,R17
0170 80E0 ldi R24,<_p3
0172 90E0 ldi R25,>_p3
0174 1001 movw R2,R0
0176 280E add R2,R24
0178 391E adc R3,R25
017A EA2D mov R30,R10
017C FF27 clr R31
017E E20D add R30,R2
0180 F31D adc R31,R3
0182 E491 lpm R30,Z
0184 E0930A20 sts 8202,R30
0188 .dbline 126
0188 ; }
0188 L34:
0188 .dbline 127
0188 L30:
0188 .dbline 116
0188 A394 inc R10
018A L32:
018A .dbline 116
018A 8A2D mov R24,R10
018C 8034 cpi R24,64
018E B8F2 brlo L29
0190 .dbline 128
0190 ; }
0190 ; if(cs) ch_pos(1,2*j+1); //右屏页码处理
0190 6623 tst R22
0192 39F0 breq L35
0194 .dbline 128
0194 82E0 ldi R24,2
0196 849F mul R24,R20
0198 202D mov R18,R0
019A 2F5F subi R18,255 ; addi 1
019C 01E0 ldi R16,1
019E 9BDF xcall _ch_pos
01A0 06C0 xjmp L36
01A2 L35:
01A2 .dbline 129
01A2 ; else ch_pos(0,2*j+1); //左屏页码处理
01A2 82E0 ldi R24,2
01A4 849F mul R24,R20
01A6 202D mov R18,R0
01A8 2F5F subi R18,255 ; addi 1
01AA 0027 clr R16
01AC 94DF xcall _ch_pos
01AE L36:
01AE .dbline 130
01AE ; for(i=0;i<64;i++)
01AE AA24 clr R10
01B0 26C0 xjmp L40
01B2 L37:
01B2 .dbline 131
01B2 ; {
01B2 .dbline 132
01B2 ; if(cs)
01B2 6623 tst R22
01B4 91F0 breq L41
01B6 .dbline 133
01B6 ; {
01B6 .dbline 134
01B6 ; R_data=p3[2*j+1][i]; //右半屏显示
01B6 82E0 ldi R24,2
01B8 849F mul R24,R20
01BA 102D mov R17,R0
01BC 00E4 ldi R16,64
01BE 0102 muls R16,R17
01C0 80E0 ldi R24,<_p3+64
01C2 90E0 ldi R25,>_p3+64
01C4 1001 movw R2,R0
01C6 280E add R2,R24
01C8 391E adc R3,R25
01CA EA2D mov R30,R10
01CC FF27 clr R31
01CE E20D add R30,R2
01D0 F31D adc R31,R3
01D2 E491 lpm R30,Z
01D4 E0930620 sts 8198,R30
01D8 .dbline 135
01D8 ; }
01D8 11C0 xjmp L42
01DA L41:
01DA .dbline 137
01DA ; else
01DA ; {
01DA .dbline 139
01DA ;
01DA ; L_data=p3[2*j+1][i]; //左半屏显示
01DA 82E0 ldi R24,2
01DC 849F mul R24,R20
01DE 102D mov R17,R0
01E0 00E4 ldi R16,64
01E2 0102 muls R16,R17
01E4 80E0 ldi R24,<_p3+64
01E6 90E0 ldi R25,>_p3+64
01E8 1001 movw R2,R0
01EA 280E add R2,R24
01EC 391E adc R3,R25
01EE EA2D mov R30,R10
01F0 FF27 clr R31
01F2 E20D add R30,R2
01F4 F31D adc R31,R3
01F6 E491 lpm R30,Z
01F8 E0930A20 sts 8202,R30
01FC .dbline 140
01FC ; }
01FC L42:
01FC .dbline 141
01FC L38:
01FC .dbline 130
01FC A394 inc R10
01FE L40:
01FE .dbline 130
01FE 8A2D mov R24,R10
0200 8034 cpi R24,64
0202 B8F2 brlo L37
0204 .dbline 142
0204 L24:
0204 .dbline 112
0204 4395 inc R20
0206 L26:
0206 .dbline 112
0206 4330 cpi R20,3
0208 08F4 brsh X0
020A 8ACF xjmp L23
020C X0:
020C .dbline -2
020C .dbline 143
020C ; }
020C ; }
020C ; }
020C L22:
020C 0E940000 xcall pop_gset3
0210 .dbline 0 ; func end
0210 0895 ret
0212 .dbsym r j 20 c
0212 .dbsym r i 10 c
0212 .dbsym r cs 22 c
0212 .dbend
0212 .dbfunc e main _main fV
.even
0212 _main::
0212 .dbline -1
0212 .dbline 146
0212 ;
0212 ; void main(void)
0212 ; {
0212 .dbline 147
0212 ; init_devices();
0212 57DF xcall _init_devices
0214 .dbline 148
0214 ; LCD_Clean();
0214 0DDF xcall _LCD_Clean
0216 .dbline 149
0216 ; LCD_Init();
0216 36DF xcall _LCD_Init
0218 .dbline 150
0218 ; write_photo(0);
0218 0027 clr R16
021A 7DDF xcall _write_photo
021C .dbline 151
021C ; write_photo(1);
021C 01E0 ldi R16,1
021E .dbline -2
021E .dbline 152
021E ; }
021E L45:
021E .dbline 0 ; func end
021E 7BCF xjmp _write_photo
0220 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\zhuji\桌面\photo\main.c
0000 _flag::
0000 .blkb 1
0001 .dbsym e flag _flag c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -