📄 main.s
字号:
sbrs R3,7
rjmp L143
.dbline 214
.dbline 215
; DDRD=0xff;
movw R16,R2
rcall _RGBToChar
.dbline 216
;
movw R18,R22
movw R16,R20
rcall _point
.dbline 217
;
L143:
.dbline 218
; csh;
subi R20,255 ; offset = 1
sbci R21,255
.dbline 219
; NOP();
.dbline 220
; csl;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
L139:
.dbline 221
lds R2,_glcd_Clip
clr R3
cp R10,R2
cpc R11,R3
brsh L145
.dbline 221
.dbline 221
rjmp L129
L145:
.dbline 221
; restl;
.dbline 222
lds R2,_glcd_Clip+2
clr R3
cp R2,R10
cpc R3,R11
brsh L147
.dbline 222
.dbline 222
mov R10,R2
clr R11
.dbline 222
rjmp L148
L147:
.dbline 222
; glcdn_Delay(60000);
.dbline 223
; resth;//sbi(GLCD_CTRL_PORT, GLCD_RES_);
lds R2,_cfg
lds R3,_cfg+1
sbrs R3,7
rjmp L151
.dbline 223
.dbline 224
; glcdn_Delay(60000);
movw R16,R2
rcall _RGBToChar
.dbline 225
; sclkh;//sbi(GLCD_SER_PORT, GLCD_SCLK);
movw R18,R22
movw R16,R10
rcall _point
.dbline 226
; sdatah;//sbi(GLCD_SER_PORT, GLCD_MOSI);
L151:
.dbline 227
; csh;
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 228
; glcdn_Delay(60000);
L148:
.dbline 229
;
.dbline 230
;
cp R10,R20
cpc R11,R21
brlo L155
ldi R24,1
ldi R25,0
movw R12,R24
rjmp L156
L155:
clr R12
clr R13
L156:
lds R24,_cbk
lds R25,_cbk+1
andi R24,0
andi R25,128
ldd R2,y+15
clr R3
and R2,R24
and R3,R25
and R2,R12
and R3,R13
tst R2
brne X7
tst R3
breq L153
X7:
.dbline 230
.dbline 231
; glcdn_WriteCommand(0x82);
lds R16,_cbk
lds R17,_cbk+1
rcall _RGBToChar
.dbline 232
; glcdn_WriteData(1);
std y+2,R22
std y+0,R10
mov R18,R22
mov R16,R20
rcall _glcdDoFillRect
.dbline 233
; glcdn_WriteData(0);
L153:
.dbline 234
L130:
.dbline -2
.dbline 235
; glcdn_WriteData(0);
; glcdn_WriteData(0);
L129:
adiw R28,3
rcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l fill 15 c
.dbsym r y 22 i
.dbsym r x2 10 i
.dbsym r x1 20 i
.dbend
.dbfunc e glcdCircle _glcdCircle fV
; r -> y+8
; y -> R22
; x -> R20
.even
_glcdCircle::
rcall push_gset2
mov R22,R18
mov R20,R16
sbiw R28,4
.dbline -1
.dbline 237
; glcdn_WriteData(0);
; glcdn_WriteData(0);
.dbline 239
; glcdn_WriteData(0);
; glcdn_WriteData(0);
ldd R2,y+8
clr R3
std y+3,R3
std y+2,R2
clr R3
std y+1,R3
std y+0,R2
mov R18,R22
clr R19
mov R16,R20
clr R17
rcall _glcdEllipse
.dbline -2
.dbline 240
; glcdn_WriteData(0);
L157:
adiw R28,4
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym l r 8 c
.dbsym r y 22 c
.dbsym r x 20 c
.dbend
.dbfunc e glcdEllipse _glcdEllipse fV
; bb -> y+15
; aa -> y+20
; fill -> y+19
; xe -> R14,R15
; xs -> y+17
; ye -> R10,R11
; er -> y+11
; ys -> R12,R13
; ir -> y+7
; cr -> y+3
; b -> y+38
; a -> R10
; y -> y+34
; x -> y+32
.even
_glcdEllipse::
rcall push_arg4
rcall push_gset5
sbiw R28,22
ldd R10,y+36
.dbline -1
.dbline 242
; glcdn_WriteData(0);
; glcdn_WriteData(0);
.dbline 247
; glcdn_WriteData(0);
; glcdn_WriteData(0);
; glcdn_WriteData(0);
; glcdn_WriteData(0);
;
clr R0
inc R0
std y+19,R0
.dbline 248
; glcdn_WriteCommand(0xD1);
tst R10
brne L161
ldi R24,1
ldi R25,0
movw R14,R24
rjmp L162
L161:
clr R14
clr R15
L162:
ldd R0,y+38
tst R0
brne L163
ldi R24,1
ldi R25,0
movw R12,R24
rjmp L164
L163:
clr R12
clr R13
L164:
movw R2,R14
or R2,R12
or R3,R13
tst R2
brne X9
tst R3
breq L159
X9:
.dbline 248
.dbline 248
rjmp L158
L159:
.dbline 249
; glcdn_WriteCommand(0x94);
ldi R24,180
cp R24,R10
brsh L167
ldi R24,1
ldi R25,0
movw R14,R24
rjmp L168
L167:
clr R14
clr R15
L168:
ldi R24,180
ldd R0,y+38
cp R24,R0
brsh L169
ldi R24,1
ldi R25,0
movw R12,R24
rjmp L170
L169:
clr R12
clr R13
L170:
movw R2,R14
or R2,R12
or R3,R13
tst R2
brne X10
tst R3
breq L165
X10:
.dbline 249
.dbline 250
;
lds R2,_cbk
lds R3,_cbk+1
sbrs R3,7
rjmp L158
.dbline 250
.dbline 251
;
movw R16,R2
rcall _RGBToChar
.dbline 252
;
ldi R24,131
std y+2,R24
std y+0,R24
clr R18
clr R16
rcall _glcdFillRect
.dbline 253
; glcdn_WriteCommand(0xA9);
.dbline 254
;
rjmp L158
L165:
.dbline 257
; glcdn_WriteCommand(0xCA);
; glcdn_WriteData(0b00001111);
; glcdn_WriteData(0b00100000);
mul R10,R10
std y+21,R1
std y+20,R0
.dbline 258
; glcdn_WriteData(0b00001111);
ldd R0,y+38
mov R16,R0
mul R0,R16
std y+16,R1
std y+15,R0
.dbline 261
; glcdn_WriteData(0b00000001);
;
; glcdn_WriteCommand(0x20);
movw R2,R0
asr R3
ror R2
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
std z+3,R2
std z+4,R3
std z+5,R4
std z+6,R5
.dbline 262
; glcdn_WriteData(0b00001111);
mov R2,R10
clr R3
mov R24,R2
clr R25
add R24,R2
adc R25,R3
sbiw R24,1
movw R2,R24
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
ldd R6,z+3
ldd R7,z+4
ldd R8,z+5
ldd R9,z+6
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R6
movw R18,R8
rcall empy32s
movw R30,R28
std z+3,R16
std z+4,R17
std z+5,R18
std z+6,R19
.dbline 263
;
ldd R2,y+20
ldd R3,y+21
asr R3
ror R2
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
std z+7,R2
std z+8,R3
std z+9,R4
std z+10,R5
.dbline 264
; glcdn_WriteCommand(0x81);
movw R30,R28
ldd R16,z+7
ldd R17,z+8
ldd R18,z+9
ldd R19,z+10
rcall neg32
movw R30,R28
std z+7,R16
std z+8,R17
std z+9,R18
std z+10,R19
.dbline 265
; glcdn_WriteData(0b00001111);
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
std z+11,R20
std z+12,R21
std z+13,R22
std z+14,R23
.dbline 267
; glcdn_WriteData(0b00000101);
;
ldd R2,y+32
clr R3
std y+18,R3
std y+17,R2
.dbline 268
;
mov R2,R10
clr R3
ldd R0,y+17
ldd R1,y+18
sub R0,R2
sbc R1,R3
std y+18,R1
std y+17,R0
.dbline 269
; glcdn_WriteCommand(0xA7);
ldd R14,y+32
clr R15
.dbline 270
; glcdn_WriteCommand(0xBC);
clr R3
add R14,R2
adc R15,R3
.dbline 271
; glcdn_WriteData(0b00000101);
ldd R12,y+34
clr R13
.dbline 272
; glcdn_WriteData(0x00);
mov R10,R12
clr R11
rjmp L174
L173:
.dbline 273
; glcdn_WriteData(0b00000100);
.dbline 274
; //glcdn_WriteCommand(0x12);
ldi R24,1
std y+2,R24
std y+1,R13
std y+0,R12
movw R18,R14
ldd R16,y+17
ldd R17,y+18
rcall _glcdDoPixelLine
.dbline 275
; //glcdn_WriteCommand(GLCD_BSTRON);
cp R12,R10
cpc R13,R11
breq L176
.dbline 275
.dbline 276
; glcdn_Delay(50000);
ldi R24,1
std y+2,R24
std y+1,R11
std y+0,R10
movw R18,R14
ldd R16,y+17
ldd R17,y+18
rcall _glcdDoPixelLine
.dbline 277
;
L176:
.dbline 278
; /*
movw R24,R12
sbiw R24,1
movw R12,R24
.dbline 279
; glcdn_WriteCommand(0x75);
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 280
; glcdn_WriteData(1);
ldd R2,y+20
ldd R3,y+21
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
ldd R6,z+7
ldd R7,z+8
ldd R8,z+9
ldd R9,z+10
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+7,R6
std z+8,R7
std z+9,R8
std z+10,R9
.dbline 281
; glcdn_WriteData(129);
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
movw R30,R28
ldd R6,z+11
ldd R7,z+12
ldd R8,z+13
ldd R9,z+14
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+11,R6
std z+12,R7
std z+13,R8
std z+14,R9
.dbline 282
; glcdn_WriteCommand(0x15);
movw R30,R28
ldd R2,z+11
ldd R3,z+12
ldd R4,z+13
ldd R5,z+14
ldi R20,2
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
rcall empy32s
movw R30,R28
ldd R2,z+3
ldd R3,z+4
ldd R4,z+5
ldd R5,z+6
cp R2,R16
cpc R3,R17
cpc R4,R18
cpc R5,R19
brlt X11
rjmp L178
X11:
.dbline 282
.dbline 283
; glcdn_WriteData(1);
movw R30,R28
ldd R2,z+3
ldd R3,z+4
ldd R4,z+5
ldd R5,z+6
movw R30,R28
ldd R6,z+11
ldd R7,z+12
ldd R8,z+13
ldd R9,z+14
sub R6,R2
sbc R7,R3
sbc R8,R4
sbc R9,R5
movw R30,R28
std z+11,R6
std z+12,R7
std z+13,R8
std z+14,R9
.dbline 284
; glcdn_WriteData(129);
ldd R2,y+15
ldd R3,y+16
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
ldd R6,z+3
ldd R7,z+4
ldd R8,z+5
ldd R9,z+6
sub R6,R2
sbc R7,R3
sbc R8,R4
sbc R9,R5
movw R30,R28
std z+3,R6
std z+4,R7
std z+5,R8
std z+6,R9
.dbline 285
; */
ldd R24,y+17
ldd R25,y+18
adiw R24,1
std y+18,R25
std y+17,R24
.dbline 286
;
movw R24,R14
sbiw R24,1
movw R14,R24
.dbline 287
; glcdn_WriteCommand(0xBB);
L178:
.dbline 288
L174:
.dbline 273
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
movw R30,R28
ldd R6,z+3
ldd R7,z+4
ldd R8,z+5
ldd R9,z+6
cp R6,R2
cpc R7,R3
cpc R8,R4
cpc R9,R5
brlt X12
rjmp L173
X12:
.dbline 290
; glcdn_WriteData(0b00000001);
; glcdn_WriteCommand(0xAF);
;
ldd R2,y+20
ldd R3,y+21
asr R3
ror R2
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
std z+3,R2
std z+4,R3
std z+5,R4
std z+6,R5
.dbline 291
; glcdn_WriteCommand(0xCE);
ldd R2,y+38
clr R3
mov R24,R2
clr R25
add R24,R2
adc R25,R3
sbiw R24,1
movw R2,R24
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
ldd R6,z+3
ldd R7,z+4
ldd R8,z+5
ldd R9,z+6
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R6
movw R18,R8
rcall empy32s
movw R30,R28
std z+3,R16
std z+4,R17
std z+5,R18
std z+6,R19
.dbline 292
;
ldd R2,y+15
ldd R3,y+16
asr R3
ror R2
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
std z+7,R2
std z+8,R3
std z+9,R4
std z+10,R5
.dbline 293
;
movw R30,R28
ldd R16,z+7
ldd R17,z+8
ldd R18,z+9
ldd R19,z+10
rcall neg32
movw R30,R28
std z+7,R16
std z+8,R17
std z+9,R18
std z+10,R19
.dbline 294
;
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
std z+11,R20
std z+12,R21
std z+13,R22
std z+14,R23
.dbline 296
;
; //glcdn_WriteCommand(0xBC);
ldd R2,y+32
clr R3
std y+18,R3
std y+17,R2
.dbline 297
;
ldd R14,y+32
clr R15
.dbline 298
; glcdn_WriteData(0x00);
ldd R12,y+34
clr R13
.dbline 299
; glcdn_WriteData(0x02);
ldd R2,y+38
clr R3
sub R12,R2
sbc R13,R3
.dbline 300
; glcdn_WriteData(0x04);
ldd R10,y+34
clr R11
.dbline 301
; glcdn_WriteData(0x06);
clr R3
add R10,R2
adc R11,R3
.dbline 302
; glcdn_WriteData(0x09);
clr R0
inc R0
std y+19,R0
rjmp L181
L180:
.dbline 303
; glcdn_WriteData(0x0B);
.dbline 304
; glcdn_WriteData(0x0D);
ldd R0,y+19
std y+2,R0
std y+1,R13
std y+0,R12
movw R18,R14
ldd R16,y+17
ldd R17,y+18
rcall _glcdDoPixelLine
.dbline 305
; glcdn_WriteData(0x0F);
cp R12,R10
cpc R13,R11
breq L183
.dbline 305
.dbline 306
;
ldd R0,y+19
std y+2,R0
std y+1,R11
std y+0,R10
movw R18,R14
ldd R16,y+17
ldd R17,y+18
rcall _glcdDoPixelLine
.dbline 307
; glcdn_WriteData(0x00);
L183:
.dbline 308
; glcdn_WriteData(0x02);
clr R0
std y+19,R0
.dbline 309
; glcdn_WriteData(0x04);
ldd R2,y+15
ldd R3,y+16
clr R4
sbrc R3,7
com R4
clr R5
sbrc R4,7
com R5
movw R30,R28
ldd R6,z+7
ldd R7,z+8
ldd R8,z+9
ldd R9,z+10
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+7,R6
std z+8,R7
std z+9,R8
std z+10,R9
.dbline 310
; glcdn_WriteData(0x06);
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
movw R30,R28
ldd R6,z+11
ldd R7,z+12
ldd R8,z+13
ldd R9,z+14
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+11,R6
std z+12,R7
std z+13,R8
std z+14,R9
.dbline 311
; glcdn_WriteData(0x09);
movw R30,R28
ldd R2,z+11
ldd R3,z+12
ldd R4,z+13
ldd R5,z+14
ldi R20,2
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
rcall empy32s
movw R30,R28
ldd R2,z+3
ldd R3,z+4
ldd R4,z+5
ldd R5,z+6
cp R2,R16
cpc R3,R17
cpc R4,R18
cpc R5,R19
brlt X13
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -