📄 main.s
字号:
rjmp L185
X13:
.dbline 311
.dbline 312
; glcdn_WriteData(0x0B);
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 313
; glcdn_WriteData(0x0D);
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+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 314
; glcdn_WriteData(0x0F);
movw R24,R12
adiw R24,1
movw R12,R24
.dbline 315
;
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 316
; glcdn_WriteData(0x00);
clr R0
inc R0
std y+19,R0
.dbline 317
; glcdn_WriteData(0x04);
L185:
.dbline 318
ldd R24,y+17
ldd R25,y+18
sbiw R24,1
std y+18,R25
std y+17,R24
.dbline 319
movw R24,R14
adiw R24,1
movw R14,R24
.dbline 320
L181:
.dbline 303
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+7
ldd R7,z+8
ldd R8,z+9
ldd R9,z+10
cp R2,R6
cpc R3,R7
cpc R4,R8
cpc R5,R9
brlt X14
rjmp L180
X14:
.dbline -2
.dbline 321
; glcdn_WriteData(0x0B);
; glcdn_WriteData(0x0F);
;
; glcdn_ClearLcd();
L158:
adiw R28,22
rcall pop_gset5
adiw R28,4
.dbline 0 ; func end
ret
.dbsym l bb 15 I
.dbsym l aa 20 I
.dbsym l fill 19 c
.dbsym r xe 14 I
.dbsym l xs 17 I
.dbsym r ye 10 I
.dbsym l er 11 L
.dbsym r ys 12 I
.dbsym l ir 7 L
.dbsym l cr 3 L
.dbsym l b 38 c
.dbsym r a 10 c
.dbsym l y 34 c
.dbsym l x 32 c
.dbend
.dbfunc e RoundRect _RoundRect fV
; zy1 -> <dead>
; rs -> R20
; zx1 -> R22
; Oy -> y+5
; Ox -> y+4
; xt -> R12
; rr -> R14
; xx -> R10,R11
; yt -> y+3
; r -> y+24
; h -> y+22
; w -> y+20
; y -> y+18
; x -> y+16
.even
_RoundRect::
rcall push_arg4
rcall push_gset5
sbiw R28,6
.dbline -1
.dbline 324
;
;
; }
.dbline 330
;
; void glcdn_InitDisplay(void)
; {int i;
; glcdn_Delay(20000);
; PORTB=0x00;
; GLCD_SER_DDR = 0xff;
lds R2,_cbk
lds R3,_cbk+1
sbrs R3,7
rjmp L188
.dbline 331
; PORTD=0x00;
.dbline 331
movw R16,R2
rcall _RGBToChar
.dbline 333
; DDRD=0xff;
; //csl;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
ldd R2,y+16
ldd R0,y+24
add R2,R0
std y+4,R2
.dbline 333
ldd R2,y+18
ldd R0,y+24
add R2,R0
std y+5,R2
.dbline 334
;
ldd R0,y+24
std y+3,R0
.dbline 335
; /*
ldd R0,y+24
mov R16,R0
mul R0,R16
mov R24,R0
subi R24,255 ; addi 1
mov R14,R24
.dbline 336
; resth;
ldd R2,y+3
lsr R2
ldd R20,y+3
add R20,R2
lsr R20
.dbline 338
; glcdn_Delay(50);
; restl;
clr R12
rjmp L193
L190:
.dbline 339
; glcdn_Delay(100);
.dbline 340
; resth;//sbi(GLCD_CTRL_PORT, GLCD_RES_);
mul R12,R12
movw R10,R0
rjmp L195
L194:
.dbline 341
ldd R0,y+3
dec R0
std y+3,R0
L195:
.dbline 341
mov R2,R14
clr R3
sub R2,R10
sbc R3,R11
ldd R0,y+3
mov R16,R0
mul R0,R16
cp R2,R0
cpc R3,R1
brlt L194
.dbline 343
ldd R2,y+4
add R2,R12
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 344
mov R22,R2
.dbline 345
ldd R2,y+5
sub R2,R16
sts _zy,R2
.dbline 349
ldd R2,y+4
sub R2,R12
sts _zx,R2
.dbline 352
.dbline 353
lds R2,_zy
std y+2,R2
lds R24,_zx
subi R24,255 ; addi 1
std y+0,R24
mov R18,R2
mov R16,R22
subi R16,1
rcall _glcdFillRect
.dbline 354
.dbline 356
lds R22,_zx
.dbline 358
ldd R2,y+5
ldd R0,y+3
add R2,R0
ldd R0,y+22
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zy,R2
.dbline 361
ldd R2,y+4
add R2,R12
ldd R0,y+20
add R2,R0
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 362
.dbline 363
lds R2,_zy
std y+2,R2
lds R24,_zx
subi R24,1
std y+0,R24
mov R18,R2
mov R16,R22
subi R16,255 ; addi 1
rcall _glcdFillRect
.dbline 364
.dbline 366
ldd R2,y+4
ldd R0,y+3
add R2,R0
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 367
ldd R2,y+5
sub R2,R12
sts _zy,R2
.dbline 370
lds R22,_zx
.dbline 372
ldd R2,y+4
ldd R0,y+3
sub R2,R0
sts _zx,R2
.dbline 376
lds R2,_zy
std y+2,R2
lds R24,_zx
subi R24,255 ; addi 1
std y+0,R24
mov R18,R2
mov R16,R22
subi R16,1
rcall _glcdFillRect
.dbline 379
lds R22,_zx
.dbline 380
ldd R2,y+5
add R2,R12
ldd R0,y+22
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zy,R2
.dbline 383
ldd R2,y+4
ldd R0,y+3
add R2,R0
ldd R0,y+20
add R2,R0
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 386
lds R2,_zy
std y+2,R2
lds R24,_zx
subi R24,1
std y+0,R24
mov R18,R2
mov R16,R22
subi R16,255 ; addi 1
rcall _glcdFillRect
.dbline 388
L191:
.dbline 338
inc R12
L193:
.dbline 338
cp R20,R12
brlo X15
rjmp L190
X15:
.dbline 392
; csl;
; glcdn_Delay(50000);
; sclkh;//sbi(GLCD_SER_PORT, GLCD_SCLK);
; sdatah;//sbi(GLCD_SER_PORT, GLCD_MOSI);
; csh;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
; */
; csh;
; NOP();
; csl;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
; restl;
; glcdn_Delay(60000);
; resth;//sbi(GLCD_CTRL_PORT, GLCD_RES_);
; glcdn_Delay(60000);
; sclkh;//sbi(GLCD_SER_PORT, GLCD_SCLK);
; sdatah;//sbi(GLCD_SER_PORT, GLCD_MOSI);
; csh;
; //NOP();
; //csl;//sbi(GLCD_CTRL_PORT, GLCD_CE_);
;
;
; //SPCR = (1<<CPHA) | (0x01 << SPE) | (0x01 << MSTR) | (0x01 << CPOL);
; //SPSR = (1<<SPI2X);
;
; /*
; while(1)
; {
; glcdn_WriteCommand(GLCD_SWRESET);
; glcdn_WriteCommand(GLCD_SLEEPOUT);
; glcdn_WriteCommand(GLCD_DISPLAYON);
; glcdn_WriteCommand(GLCD_BSTRON);
;
; while(!(SPSR & 0x80));
; glcdn_Delay(8);
; }*/
; //glcdn_WriteCommand(0xAE);
; //glcdn_WriteCommand(GLCD_SWRESET);
; glcdn_WriteCommand(0x94);
;
; glcdn_WriteCommand(0xAF);
; glcdn_WriteCommand(0xA6);
; glcdn_WriteCommand(0xBB);
; glcdn_WriteCommand(0xBC);
;
; glcdn_WriteCommand(0xCA);
; glcdn_WriteData(0xFF);
; glcdn_WriteData(0xFF);
; glcdn_WriteData(0xFF);
; glcdn_WriteData(0xFF);
; //glcdn_WriteCommand(0x12);
; //glcdn_WriteCommand(GLCD_BSTRON);
; glcdn_Delay(50000);
;
ldd R24,y+18
ldd R0,y+22
add R24,R0
ldd R0,y+24
sub R24,R0
subi R24,1
std y+2,R24
ldd R24,y+16
ldd R0,y+20
add R24,R0
subi R24,1
std y+0,R24
ldd R18,y+18
ldd R0,y+24
add R18,R0
subi R18,255 ; addi 1
ldd R16,y+16
subi R16,255 ; addi 1
rcall _glcdFillRect
.dbline 395
; //glcdn_WriteCommand(0xBC);
; glcdn_WriteData(GLCD_8BITCOLOR);
;
L188:
.dbline 398
; glcdn_WriteCommand(0xBC);
; glcdn_WriteData(0x00);
; glcdn_WriteData(0x02);
lds R2,_cfg
lds R3,_cfg+1
sbrs R3,7
rjmp L197
.dbline 399
; glcdn_WriteData(0x04);
.dbline 400
; glcdn_WriteData(0x06);
movw R16,R2
rcall _RGBToChar
.dbline 401
; glcdn_WriteData(0x09);
ldd R0,y+18
std y+2,R0
ldd R2,y+16
ldd R0,y+20
add R2,R0
ldd R0,y+24
sub R2,R0
std y+0,R2
ldd R18,y+18
ldd R16,y+16
add R16,R0
rcall _glcdLine
.dbline 402
; glcdn_WriteData(0x0B);
ldd R2,y+18
ldd R0,y+22
add R2,R0
ldd R0,y+24
sub R2,R0
std y+2,R2
ldd R0,y+16
std y+0,R0
ldd R18,y+18
ldd R0,y+24
add R18,R0
ldd R16,y+16
rcall _glcdLine
.dbline 403
; glcdn_WriteData(0x0D);
ldd R2,y+18
ldd R0,y+22
add R2,R0
ldd R0,y+24
sub R2,R0
std y+2,R2
ldd R2,y+16
ldd R0,y+20
add R2,R0
std y+0,R2
ldd R18,y+18
ldd R0,y+24
add R18,R0
mov R16,R2
rcall _glcdLine
.dbline 404
; glcdn_WriteData(0x0F);
ldd R2,y+18
ldd R0,y+22
add R2,R0
std y+2,R2
ldd R4,y+16
ldd R0,y+20
add R4,R0
ldd R0,y+24
sub R4,R0
std y+0,R4
mov R18,R2
ldd R16,y+16
add R16,R0
rcall _glcdLine
.dbline 407
;
; glcdn_WriteData(0x00);
; glcdn_WriteData(0x02);
ldd R2,y+16
ldd R0,y+24
add R2,R0
std y+4,R2
.dbline 407
ldd R2,y+18
ldd R0,y+24
add R2,R0
std y+5,R2
.dbline 408
; glcdn_WriteData(0x04);
ldd R0,y+24
std y+3,R0
.dbline 409
; glcdn_WriteData(0x06);
ldd R0,y+24
mov R16,R0
mul R0,R16
mov R24,R0
subi R24,255 ; addi 1
mov R14,R24
.dbline 410
; glcdn_WriteData(0x09);
ldd R2,y+3
lsr R2
ldd R20,y+3
add R20,R2
lsr R20
.dbline 412
; glcdn_WriteData(0x0B);
; glcdn_WriteData(0x0D);
clr R12
rjmp L202
L199:
.dbline 413
; glcdn_WriteData(0x0F);
.dbline 414
;
mul R12,R12
movw R10,R0
rjmp L204
L203:
.dbline 415
ldd R0,y+3
dec R0
std y+3,R0
L204:
.dbline 415
mov R2,R14
clr R3
sub R2,R10
sbc R3,R11
ldd R0,y+3
mov R16,R0
mul R0,R16
cp R2,R0
cpc R3,R1
brlt L203
.dbline 417
ldd R2,y+4
add R2,R12
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 418
ldd R2,y+5
sub R2,R16
sts _zy,R2
.dbline 419
rcall _point2
.dbline 422
ldd R2,y+4
sub R2,R12
sts _zx,R2
.dbline 423
rcall _point2
.dbline 425
ldd R2,y+5
ldd R0,y+3
add R2,R0
ldd R0,y+22
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zy,R2
.dbline 426
rcall _point2
.dbline 428
ldd R2,y+4
add R2,R12
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 429
rcall _point2
.dbline 432
ldd R2,y+4
ldd R0,y+3
add R2,R0
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 433
ldd R2,y+5
sub R2,R12
sts _zy,R2
.dbline 434
rcall _point2
.dbline 437
ldd R2,y+4
ldd R0,y+3
sub R2,R0
sts _zx,R2
.dbline 438
rcall _point2
.dbline 440
ldd R2,y+5
add R2,R12
ldd R0,y+22
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zy,R2
.dbline 441
rcall _point2
.dbline 443
ldd R2,y+4
ldd R0,y+3
add R2,R0
ldd R0,y+20
add R2,R0
ldi R24,2
ldd R0,y+24
mul R24,R0
sub R2,R0
sts _zx,R2
.dbline 444
rcall _point2
.dbline 446
L200:
.dbline 412
inc R12
L202:
.dbline 412
cp R20,R12
brlo X16
rjmp L199
X16:
.dbline 447
L197:
.dbline -2
.dbline 448
; glcdn_WriteData(0x00);
; glcdn_WriteData(0x04);
; glcdn_WriteData(0x0B);
; glcdn_WriteData(0x0F);
;
; //glcdn_WriteCommand(MEM_ACCESS_CTRL);
; //memAccessCtrl = (0x01 << MIRROR_X) | (0x01 << RGB);
; //glcdn_WriteData(memAccessCtrl);
;
; glcdn_WriteCommand(MEM_ACCESS_CTRL);
; memAccessCtrl = (1 << MEM_MX) | (0 << MEM_MY) | (1 << MEM_RGB) | (0 << MEM_VW) | (0 << MEM_LAO);
; glcdn_WriteData(memAccessCtrl);
; glcdn_ClearLcd();
;
; //glcdn_WriteCommand(GLCD_DISPLAYON);
; }
;
; void glcdn_SetPageArea(char x1, char x2, char y1, char y2)
; {
; glcdn_WriteCommand(ADDRX);
; glcdn_WriteData(x1+1);
; glcdn_WriteData(x2+1);
; glcdn_WriteCommand(ADDRY);
; glcdn_WriteData(y1+1);
; glcdn_WriteData(y2+1);
; }
;
; void glcdn_ClearLcd(void)
; {unsigned long i;
; unsigned char r=0,g=0,b=0;
;
; //glcdn_WriteCommand(GLCD_MADCTL);
; //glcdn_WriteData((1 << GLCD_MX) | (1 << RGB));
;
L187:
adiw R28,6
rcall pop_gset5
adiw R28,4
.dbline 0 ; func end
ret
.dbsym l zy1 4 c
.dbsym r rs 20 c
.dbsym r zx1 22 c
.dbsym l Oy 5 c
.dbsym l Ox 4 c
.dbsym r xt 12 c
.dbsym r rr 14 c
.dbsym r xx 10 I
.dbsym l yt 3 c
.dbsym l r 24 c
.dbsym l h 22 c
.dbsym l w 20 c
.dbsym l y 18 c
.dbsym l x 16 c
.dbend
.dbfile E:\电子\ICCAVR\6610ME~1\MAIN.C
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 24
.dbline 25
clr R2
out 0x18,R2
.dbline 26
ldi R24,255
out 0x17,R24
.dbline 27
ldi R24,127
out 0x15,R24
.dbline 28
out 0x14,R2
.dbline 29
out 0x12,R2
.dbline 30
ldi R24,255
out 0x11,R24
.dbline -2
.dbline 31
L206:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 35
.dbline 37
cli
.dbline 38
rcall _port_init
.dbline 40
clr R2
out 0x35,R2
.dbline 41
out 0x3b,R2
.dbline 42
out 0x39,R2
.dbline -2
.dbline 45
L207:
.dbline 0 ; func end
ret
.dbend
.dbfunc e glcdn_Delay _glcdn_Delay fV
; d -> y+0
; ld -> y+8
.even
_glcdn_Delay::
rcall push_arg4
rcall push_gset2
sbiw R28,4
.dbline -1
.dbline 48
.dbline 50
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
std z+0,R20
std z+1,R21
std z+2,R22
std z+3,R23
rjmp L212
L209:
.dbline 51
.dbline 52
nop
.dbline 53
nop
.dbline 54
nop
.dbline 55
nop
.dbline 56
nop
.dbline 57
nop
.dbline 59
L210:
.dbline 50
ldi R20,1
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
add R2,R20
adc R3,R21
adc R4,R22
adc R5,R23
movw R30,R28
std z+0,R2
std z+1,R3
std z+2,R4
std z+3,R5
L212:
.dbline 50
movw R30,R28
ldd R2,z+8
ldd R3,z+9
ldd R4,z+10
ldd R5,z+11
movw R30,R28
ldd R6,z+0
ldd R7,z+1
ldd R8,z+2
ldd R9,z+3
cp R6,R2
cpc R7,R3
cpc R8,R4
cpc R9,R5
brge X17
rjmp L209
X17:
.dbline -2
.dbline 60
L208:
adiw R28,4
rcall pop_gset2
adiw R28,4
.dbline 0 ; func end
ret
.dbsym l d 0 L
.dbsym l ld 8 L
.dbend
.dbfunc e main _main fV
.even
_main::
sbiw R28,5
.dbline -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -