?? lcd12232.s
字號:
xcall _wcodel
.dbline 162
ldi R16,160
xcall _wcoder
.dbline 163
; wcodel(0xEE);wcoder(0xEE);//display off
ldi R16,238
xcall _wcodel
.dbline 163
ldi R16,238
xcall _wcoder
.dbline 164
; wcodel(0xc0);wcoder(0xc0);//start line: 1
ldi R16,192
xcall _wcodel
.dbline 164
ldi R16,192
xcall _wcoder
.dbline 165
; wcodel(0x00);wcoder(0x00); //column address set:0
clr R16
xcall _wcodel
.dbline 165
clr R16
xcall _wcoder
.dbline 166
; clear(0X00);
clr R16
xcall _clear
.dbline 167
; wcodel(0xAF);wcoder(0xAF);//page address set:1
ldi R16,175
xcall _wcodel
.dbline 167
ldi R16,175
.dbline -2
.dbline 169
;
; }
L44:
.dbline 0 ; func end
xjmp _wcoder
.dbend
.dbfunc e displaystring _displaystring fV
; w -> R14
; j -> R22
; z -> R10
; i -> R20
; onechar -> y+16
; y -> y+14
; x -> y+12
.even
_displaystring::
xcall push_arg4
xcall push_gset5
sbiw R28,2
.dbline -1
.dbline 171
; void displaystring(uchar x,uchar y,uchar *onechar)
; {
.dbline 172
; uchar i=0,z=0,j=0,w;
clr R20
.dbline 172
clr R10
.dbline 172
clr R22
.dbline 173
; w=y;
ldd R14,y+14
.dbline 174
; if (y>60)
ldi R24,60
mov R0,R14
cp R24,R14
brlo X8
xjmp L46
X8:
.dbline 175
; {
.dbline 176
; y=y-61;
mov R24,R0
subi R24,61
std y+14,R24
.dbline 177
; addressr(x,y);
mov R18,R24
ldd R16,y+12
xcall _addressr
xjmp L49
L48:
.dbline 179
; while((*onechar)!='\n')
; {
.dbline 180
; for (i=0;i<16;i++)
clr R20
xjmp L54
L51:
.dbline 181
.dbline 181
lds R2,_b1
tst R2
brne L55
.dbline 181
.dbline 181
ldi R24,65
sts _pianyi,R24
.dbline 181
xjmp L56
L55:
.dbline 181
.dbline 181
mov R12,R10
clr R13
movw R24,R12
cpi R24,3
ldi R30,0
cpc R25,R30
breq L60
cpi R24,4
ldi R30,0
cpc R25,R30
breq L61
cpi R24,5
ldi R30,0
cpc R25,R30
breq L62
xjmp L57
X0:
.dbline 181
L60:
.dbline 181
lds R2,_sz3
sts _pianyi,R2
.dbline 181
xjmp L58
L61:
.dbline 181
lds R2,_sz4
sts _pianyi,R2
.dbline 181
xjmp L58
L62:
.dbline 181
; {if(b1==0){pianyi=0x41;}else{switch(z){case 3:pianyi=sz3;break;case 4:pianyi=sz4;break;case 5:pianyi=sz5;break;}}
lds R2,_sz5
sts _pianyi,R2
.dbline 181
L57:
L58:
.dbline 181
L56:
.dbline 182
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatar
.dbline 182
L52:
.dbline 180
inc R20
L54:
.dbline 180
cpi R20,16
brsh X9
xjmp L51
X9:
.dbline 183
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 184
inc R10
.dbline 185
L49:
.dbline 178
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X10
xjmp L48
X10:
.dbline 186
; wdatar(chartable[*onechar-pianyi][i]);}
; onechar++;
; z++;
; }
; }
xjmp L47
L46:
.dbline 188
; else
; {
.dbline 189
; addressl(x,y);
ldd R18,y+14
ldd R16,y+12
xcall _addressl
.dbline 190
; addressr(x,-3);
ldi R18,253
ldd R16,y+12
xcall _addressr
xjmp L64
L63:
.dbline 193
;
; while((*onechar)!='\n')
; {
.dbline 194
; for (i=0;i<16;i++)
clr R20
xjmp L69
L66:
.dbline 195
.dbline 195
lds R2,_b1
tst R2
brne L70
.dbline 195
.dbline 195
ldi R24,65
sts _pianyi,R24
.dbline 195
xjmp L71
L70:
.dbline 195
.dbline 195
mov R12,R10
clr R13
tst R12
brne X1
tst R13
breq L75
X1:
movw R24,R12
cpi R24,1
ldi R30,0
cpc R25,R30
breq L76
cpi R24,2
ldi R30,0
cpc R25,R30
breq L77
xjmp L72
X2:
.dbline 195
L75:
.dbline 195
lds R2,_sz0
sts _pianyi,R2
.dbline 195
xjmp L73
L76:
.dbline 195
lds R2,_sz1
sts _pianyi,R2
.dbline 195
xjmp L73
L77:
.dbline 195
; {if(b1==0){pianyi=0x41;}else{switch(z){case 0:pianyi=sz0;break;case 1:pianyi=sz1;break;case 2:pianyi=sz2;break;}}
lds R2,_sz2
sts _pianyi,R2
.dbline 195
L72:
L73:
.dbline 195
L71:
.dbline 196
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatal
.dbline 196
L67:
.dbline 194
inc R20
L69:
.dbline 194
cpi R20,16
brsh X11
xjmp L66
X11:
.dbline 197
; wdatal(chartable[*onechar-pianyi][i]);}
; onechar++;
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 198
; z++;
inc R10
.dbline 199
; j++;
inc R22
.dbline 200
; if (j>2) break;
ldi R24,2
cp R24,R22
brsh L78
.dbline 200
xjmp L81
L78:
.dbline 201
L64:
.dbline 192
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X12
xjmp L63
X12:
xjmp L81
L80:
.dbline 204
; }
;
; while((*onechar)!='\n')
; {
.dbline 205
; for (i=0;i<16;i++)
clr R20
xjmp L86
L83:
.dbline 206
.dbline 206
lds R2,_b1
tst R2
brne L87
.dbline 206
.dbline 206
ldi R24,65
sts _pianyi,R24
.dbline 206
xjmp L88
L87:
.dbline 206
.dbline 206
mov R12,R10
clr R13
movw R24,R12
cpi R24,3
ldi R30,0
cpc R25,R30
breq L92
cpi R24,4
ldi R30,0
cpc R25,R30
breq L93
cpi R24,5
ldi R30,0
cpc R25,R30
breq L94
xjmp L89
X3:
.dbline 206
L92:
.dbline 206
lds R2,_sz3
sts _pianyi,R2
.dbline 206
xjmp L90
L93:
.dbline 206
lds R2,_sz4
sts _pianyi,R2
.dbline 206
xjmp L90
L94:
.dbline 206
; {if(b1==0){pianyi=0x41;}else{switch(z){case 3:pianyi=sz3;break;case 4:pianyi=sz4;break;case 5:pianyi=sz5;break;}}
lds R2,_sz5
sts _pianyi,R2
.dbline 206
L89:
L90:
.dbline 206
L88:
.dbline 207
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatar
.dbline 207
L84:
.dbline 205
inc R20
L86:
.dbline 205
cpi R20,16
brsh X13
xjmp L83
X13:
.dbline 208
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 209
inc R10
.dbline 210
L81:
.dbline 203
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X14
xjmp L80
X14:
.dbline 211
; wdatar(chartable[*onechar-pianyi][i]);}
; onechar++;
; z++;
; }
; }
L47:
.dbline 213
; //
; onechar=onechar-z;
mov R2,R10
clr R3
ldd R0,y+16
ldd R1,y+17
sub R0,R2
sbc R1,R3
std y+17,R1
std y+16,R0
.dbline 214
; z=0;
clr R10
.dbline 215
; j=0;
clr R22
.dbline 216
; if (w>60)
ldi R24,60
cp R24,R14
brlo X15
xjmp L95
X15:
.dbline 217
; {
.dbline 218
; w=w-61;
mov R24,R14
subi R24,61
mov R14,R24
.dbline 219
; addressr(x+1,w);
mov R18,R24
ldd R16,y+12
subi R16,255 ; addi 1
xcall _addressr
xjmp L98
L97:
.dbline 221
; while((*onechar)!='\n')
; {
.dbline 222
; for (i=16;i<32;i++)
ldi R20,16
xjmp L103
L100:
.dbline 223
.dbline 223
lds R2,_b1
tst R2
brne L104
.dbline 223
.dbline 223
ldi R24,65
sts _pianyi,R24
.dbline 223
xjmp L105
L104:
.dbline 223
.dbline 223
mov R2,R10
clr R3
std y+1,R3
std y+0,R2
movw R24,R2
cpi R24,3
ldi R30,0
cpc R25,R30
breq L109
cpi R24,4
ldi R30,0
cpc R25,R30
breq L110
cpi R24,5
ldi R30,0
cpc R25,R30
breq L111
xjmp L106
X4:
.dbline 223
L109:
.dbline 223
lds R2,_sz3
sts _pianyi,R2
.dbline 223
xjmp L107
L110:
.dbline 223
lds R2,_sz4
sts _pianyi,R2
.dbline 223
xjmp L107
L111:
.dbline 223
; {if(b1==0){pianyi=0x41;}else{switch(z){case 3:pianyi=sz3;break;case 4:pianyi=sz4;break;case 5:pianyi=sz5;break;}}
lds R2,_sz5
sts _pianyi,R2
.dbline 223
L106:
L107:
.dbline 223
L105:
.dbline 224
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatar
.dbline 224
L101:
.dbline 222
inc R20
L103:
.dbline 222
cpi R20,32
brsh X16
xjmp L100
X16:
.dbline 225
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 226
inc R10
.dbline 227
L98:
.dbline 220
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X17
xjmp L97
X17:
.dbline 228
; wdatar(chartable[*onechar-pianyi][i]);}
; onechar++;
; z++;
; }
; }
xjmp L96
L95:
.dbline 230
; else
; {
.dbline 231
; addressl(x+1,w);
mov R18,R14
ldd R16,y+12
subi R16,255 ; addi 1
xcall _addressl
.dbline 232
; addressr(x+1,-3);
ldi R18,253
ldd R16,y+12
subi R16,255 ; addi 1
xcall _addressr
xjmp L113
L112:
.dbline 235
;
; while((*onechar)!='\n')
; {
.dbline 236
; for (i=16;i<32;i++)
ldi R20,16
xjmp L118
L115:
.dbline 237
.dbline 237
lds R2,_b1
tst R2
brne L119
.dbline 237
.dbline 237
ldi R24,65
sts _pianyi,R24
.dbline 237
xjmp L120
L119:
.dbline 237
.dbline 237
mov R2,R10
clr R3
std y+1,R3
std y+0,R2
tst R2
brne X5
tst R3
breq L124
X5:
ldd R24,y+0
ldd R25,y+1
cpi R24,1
ldi R30,0
cpc R25,R30
breq L125
cpi R24,2
ldi R30,0
cpc R25,R30
breq L126
xjmp L121
X6:
.dbline 237
L124:
.dbline 237
lds R2,_sz0
sts _pianyi,R2
.dbline 237
xjmp L122
L125:
.dbline 237
lds R2,_sz1
sts _pianyi,R2
.dbline 237
xjmp L122
L126:
.dbline 237
; {if(b1==0){pianyi=0x41;}else{switch(z){case 0:pianyi=sz0;break;case 1:pianyi=sz1;break;case 2:pianyi=sz2;break;}}
lds R2,_sz2
sts _pianyi,R2
.dbline 237
L121:
L122:
.dbline 237
L120:
.dbline 238
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatal
.dbline 238
L116:
.dbline 236
inc R20
L118:
.dbline 236
cpi R20,32
brsh X18
xjmp L115
X18:
.dbline 239
; wdatal(chartable[*onechar-pianyi][i]);}
; onechar++;
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 240
; z++;
inc R10
.dbline 241
; j++;
inc R22
.dbline 242
; if (j>2) break;
ldi R24,2
cp R24,R22
brsh L127
.dbline 242
xjmp L130
L127:
.dbline 243
L113:
.dbline 234
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X19
xjmp L112
X19:
xjmp L130
L129:
.dbline 246
; }
;
; while((*onechar)!='\n')
; {
.dbline 247
; for (i=16;i<32;i++)
ldi R20,16
xjmp L135
L132:
.dbline 248
.dbline 248
lds R2,_b1
tst R2
brne L136
.dbline 248
.dbline 248
ldi R24,65
sts _pianyi,R24
.dbline 248
xjmp L137
L136:
.dbline 248
.dbline 248
mov R2,R10
clr R3
std y+1,R3
std y+0,R2
movw R24,R2
cpi R24,3
ldi R30,0
cpc R25,R30
breq L141
cpi R24,4
ldi R30,0
cpc R25,R30
breq L142
cpi R24,5
ldi R30,0
cpc R25,R30
breq L143
xjmp L138
X7:
.dbline 248
L141:
.dbline 248
lds R2,_sz3
sts _pianyi,R2
.dbline 248
xjmp L139
L142:
.dbline 248
lds R2,_sz4
sts _pianyi,R2
.dbline 248
xjmp L139
L143:
.dbline 248
; {if(b1==0){pianyi=0x41;}else{switch(z){case 3:pianyi=sz3;break;case 4:pianyi=sz4;break;case 5:pianyi=sz5;break;}}
lds R2,_sz5
sts _pianyi,R2
.dbline 248
L138:
L139:
.dbline 248
L137:
.dbline 249
lds R2,_pianyi
ldd R30,y+16
ldd R31,y+17
ldd R3,z+0
sub R3,R2
ldi R24,32
mul R24,R3
movw R2,R0
ldi R24,<_chartable
ldi R25,>_chartable
add R2,R24
adc R3,R25
mov R30,R20
clr R31
add R30,R2
adc R31,R3
lpm R16,Z
xcall _wdatar
.dbline 249
L133:
.dbline 247
inc R20
L135:
.dbline 247
cpi R20,32
brsh X20
xjmp L132
X20:
.dbline 250
ldd R24,y+16
ldd R25,y+17
adiw R24,1
std y+17,R25
std y+16,R24
.dbline 251
inc R10
.dbline 252
L130:
.dbline 245
ldd R30,y+16
ldd R31,y+17
ldd R24,z+0
cpi R24,10
breq X21
xjmp L129
X21:
.dbline 253
L96:
.dbline -2
.dbline 255
; wdatar(chartable[*onechar-pianyi][i]);}
; onechar++;
; z++;
; }
; }
; //
; }
L45:
adiw R28,2
xcall pop_gset5
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r w 14 c
.dbsym r j 22 c
.dbsym r z 10 c
.dbsym r i 20 c
.dbsym l onechar 16 pc
.dbsym l y 14 c
.dbsym l x 12 c
.dbend
.area bss(ram, con, rel)
.dbfile F:\新建文件夾\LCD12232APP\LCD12232.C
_chartable::
.blkb 1120
.dbsym e chartable _chartable A[1120:35:32]kc
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -