📄 display.lis
字号:
05FC 08F4 brsh X5
05FE 3CCF xjmp L50
0600 X5:
0600 .dbline 172
0600 ; Y_ADDR = y;
0600 ; X_ADDR = x;
0600 ; CMD = ( x/256)<<2;//TFT板为CMD = ( x/256)<<2;,CSTN板为CMD = (( x/256)<<6)|0x04;
0600 ; DAT = color;
0600 ; Y_ADDR = y+1;
0600 ; X_ADDR = x;
0600 ; CMD = ( x/256)<<2;//TFT板为CMD = ( x/256)<<2;,CSTN板为CMD = (( x/256)<<6)|0x04;
0600 ; DAT = color;
0600 ; }
0600 ; }
0600 A8C0 xjmp L47
0602 L46:
0602 .dbline 174
0602 ; else
0602 ; {
0602 .dbline 175
0602 ; if(y1>y2)//交换两者数据,保证y1<y2
0602 0AA0 ldd R0,y+34
0604 0E8D ldd R16,y+30
0606 0016 cp R0,R16
0608 18F4 brsh L57
060A .dbline 176
060A ; {
060A .dbline 177
060A ; y = y1;
060A A02E mov R10,R16
060C .dbline 178
060C ; y1 = y2;
060C 0E8E std y+30,R0
060E .dbline 179
060E ; y2 = y;
060E AAA2 std y+34,R10
0610 .dbline 180
0610 ; }
0610 L57:
0610 .dbline 181
0610 ; for(y=y1;y<y2;y++)
0610 AE8C ldd R10,y+30
0612 9BC0 xjmp L62
0614 L59:
0614 .dbline 182
0614 ; {
0614 .dbline 183
0614 ; x = (ex-sx)*(y-sy)/(ey-sy)+sx;
0614 FE01 movw R30,R28
0616 2084 ldd R2,z+8
0618 3184 ldd R3,z+9
061A 4284 ldd R4,z+10
061C 5384 ldd R5,z+11
061E 5A92 st -y,R5
0620 4A92 st -y,R4
0622 3A92 st -y,R3
0624 2A92 st -y,R2
0626 FE01 movw R30,R28
0628 ; stack offset 4
0628 2480 ldd R2,z+4
062A 3580 ldd R3,z+5
062C 4680 ldd R4,z+6
062E 5780 ldd R5,z+7
0630 5A92 st -y,R5
0632 4A92 st -y,R4
0634 3A92 st -y,R3
0636 2A92 st -y,R2
0638 0E940000 xcall sub32fs
063C 0A2D mov R16,R10
063E 1127 clr R17
0640 0E940000 xcall int2fp
0644 3A93 st -y,R19
0646 2A93 st -y,R18
0648 1A93 st -y,R17
064A 0A93 st -y,R16
064C FE01 movw R30,R28
064E ; stack offset 8
064E 2484 ldd R2,z+12
0650 3584 ldd R3,z+13
0652 4684 ldd R4,z+14
0654 5784 ldd R5,z+15
0656 5A92 st -y,R5
0658 4A92 st -y,R4
065A 3A92 st -y,R3
065C 2A92 st -y,R2
065E 0E940000 xcall sub32fs
0662 0E940000 xcall empy32fs
0666 FE01 movw R30,R28
0668 ; stack offset 4
0668 2088 ldd R2,z+16
066A 3188 ldd R3,z+17
066C 4288 ldd R4,z+18
066E 5388 ldd R5,z+19
0670 5A92 st -y,R5
0672 4A92 st -y,R4
0674 3A92 st -y,R3
0676 2A92 st -y,R2
0678 FE01 movw R30,R28
067A ; stack offset 8
067A 2484 ldd R2,z+12
067C 3584 ldd R3,z+13
067E 4684 ldd R4,z+14
0680 5784 ldd R5,z+15
0682 5A92 st -y,R5
0684 4A92 st -y,R4
0686 3A92 st -y,R3
0688 2A92 st -y,R2
068A 0E940000 xcall sub32fs
068E 0E940000 xcall div32fs
0692 FE01 movw R30,R28
0694 ; stack offset 4
0694 2480 ldd R2,z+4
0696 3580 ldd R3,z+5
0698 4680 ldd R4,z+6
069A 5780 ldd R5,z+7
069C 5A92 st -y,R5
069E 4A92 st -y,R4
06A0 3A92 st -y,R3
06A2 2A92 st -y,R2
06A4 0E940000 xcall add32f
06A8 FE01 movw R30,R28
06AA 008B std z+16,R16
06AC 118B std z+17,R17
06AE 228B std z+18,R18
06B0 338B std z+19,R19
06B2 FE01 movw R30,R28
06B4 2088 ldd R2,z+16
06B6 3188 ldd R3,z+17
06B8 4288 ldd R4,z+18
06BA 5388 ldd R5,z+19
06BC 5A92 st -y,R5
06BE 4A92 st -y,R4
06C0 3A92 st -y,R3
06C2 2A92 st -y,R2
06C4 00E0 ldi R16,<L56
06C6 10E0 ldi R17,>L56
06C8 0E940000 xcall elpm32
06CC 3A93 st -y,R19
06CE 2A93 st -y,R18
06D0 1A93 st -y,R17
06D2 0A93 st -y,R16
06D4 0E940000 xcall cmp32f
06D8 D4F0 brlt L63
06DA FE01 movw R30,R28
06DC 2088 ldd R2,z+16
06DE 3188 ldd R3,z+17
06E0 4288 ldd R4,z+18
06E2 5388 ldd R5,z+19
06E4 5A92 st -y,R5
06E6 4A92 st -y,R4
06E8 3A92 st -y,R3
06EA 2A92 st -y,R2
06EC 00E0 ldi R16,<L56
06EE 10E0 ldi R17,>L56
06F0 0E940000 xcall elpm32
06F4 3A93 st -y,R19
06F6 2A93 st -y,R18
06F8 1A93 st -y,R17
06FA 0A93 st -y,R16
06FC 0E940000 xcall sub32f
0700 0E940000 xcall fp2int
0704 C801 movw R24,R16
0706 8050 subi R24,0 ; offset = 32768
0708 9048 sbci R25,128
070A 7C01 movw R14,R24
070C 08C0 xjmp L64
070E L63:
070E FE01 movw R30,R28
0710 0089 ldd R16,z+16
0712 1189 ldd R17,z+17
0714 2289 ldd R18,z+18
0716 3389 ldd R19,z+19
0718 0E940000 xcall fp2int
071C 7801 movw R14,R16
071E L64:
071E 6701 movw R12,R14
0720 .dbline 184
0720 A0920180 sts 32769,R10
0724 .dbline 185
0724 C0920080 sts 32768,R12
0728 .dbline 186
0728 1601 movw R2,R12
072A 232C mov R2,R3
072C 3324 clr R3
072E 220C lsl R2
0730 331C rol R3
0732 220C lsl R2
0734 331C rol R3
0736 20920280 sts 32770,R2
073A .dbline 187
073A 0CA0 ldd R0,y+36
073C 00920380 sts 32771,R0
0740 .dbline 188
0740 0000 nop
0742 .dbline 189
0742 0000 nop
0744 .dbline 190
0744 00920380 sts 32771,R0
0748 .dbline 195
0748 L60:
0748 .dbline 181
0748 A394 inc R10
074A L62:
074A .dbline 181
074A 0AA0 ldd R0,y+34
074C A014 cp R10,R0
074E 08F4 brsh X6
0750 61CF xjmp L59
0752 X6:
0752 .dbline 196
0752 L47:
0752 .dbline -2
0752 L44:
0752 6496 adiw R28,20
0754 0E940000 xcall pop_gset5
0758 2296 adiw R28,2
075A .dbline 0 ; func end
075A 0895 ret
075C .dbsym l ey 12 D
075C .dbsym l ex 8 D
075C .dbsym l sy 4 D
075C .dbsym l sx 0 D
075C .dbsym r y 10 c
075C .dbsym r x 12 i
075C .dbsym l color 36 c
075C .dbsym l y2 34 c
075C .dbsym r x2 20 i
075C .dbsym l y1 30 c
075C .dbsym r x1 10 i
075C .dbend
075C .dbfunc e Dis_Command _Dis_Command fV
075C .dbstruct 0 17 Command
075C .dbfield 0 x i
075C .dbfield 2 y c
075C .dbfield 3 width i
075C .dbfield 5 width_e i
075C .dbfield 7 lenth c
075C .dbfield 8 lenth_e c
075C .dbfield 9 color c
075C .dbfield 10 str pc
075C .dbfield 12 english pc
075C .dbfield 14 string_color c
075C .dbfield 15 font c
075C .dbfield 16 cursor_color c
075C .dbend
075C ; cmd -> R20,R21
.even
075C _Dis_Command::
075C 0E940000 xcall push_gset1
0760 A801 movw R20,R16
0762 2797 sbiw R28,7
0764 .dbline -1
0764 .dbline 205
0764 ; Y_ADDR = y;
0764 ; X_ADDR = x;
0764 ; CMD = ( x/256)<<2;//TFT板为CMD = ( x/256)<<2;,CSTN板为CMD = (( x/256)<<6)|0x04;
0764 ; DAT = color;
0764 ; _NOP();
0764 ; _NOP();
0764 ; DAT = color;
0764 ; //Y_ADDR = y;
0764 ; //X_ADDR = x+1;
0764 ; //CMD = ( x/256)<<2;//TFT板为CMD = ( x/256)<<2;,CSTN板为CMD = (( x/256)<<6)|0x04;
0764 ; //DAT = color;
0764 ; }
0764 ; }
0764 ; }
0764 ;
0764 ; /*
0764 ; 功能:显示命令按键
0764 ; 参数:struct Command
0764 ;
0764 ; */
0764 ; void Dis_Command(struct Command cmd)
0764 ; {
0764 .dbline 206
0764 ; if((cursor.x >cmd.x)&&(cursor.y >cmd.y)&&((cursor.x-cmd.x)<cmd.width)&&((cursor.y - cmd.y) < cmd.lenth))
0764 FA01 movw R30,R20
0766 2080 ldd R2,z+0
0768 3180 ldd R3,z+1
076A 40900000 lds R4,_cursor
076E 50900100 lds R5,_cursor+1
0772 2414 cp R2,R4
0774 3504 cpc R3,R5
0776 08F0 brlo X9
0778 77C0 xjmp L66
077A X9:
077A 4280 ldd R4,z+2
077C 5524 clr R5
077E 60900200 lds R6,_cursor+2
0782 7724 clr R7
0784 4614 cp R4,R6
0786 5704 cpc R5,R7
0788 0CF0 brlt X10
078A 6EC0 xjmp L66
078C X10:
078C 60900000 lds R6,_cursor
0790 70900100 lds R7,_cursor+1
0794 6218 sub R6,R2
0796 7308 sbc R7,R3
0798 FA01 movw R30,R20
079A 2380 ldd R2,z+3
079C 3480 ldd R3,z+4
079E 6214 cp R6,R2
07A0 7304 cpc R7,R3
07A2 08F0 brlo X11
07A4 61C0 xjmp L66
07A6 X11:
07A6 20900200 lds R2,_cursor+2
07AA 3324 clr R3
07AC 2418 sub R2,R4
07AE 3508 sbc R3,R5
07B0 FA01 movw R30,R20
07B2 4780 ldd R4,z+7
07B4 5524 clr R5
07B6 2414 cp R2,R4
07B8 3504 cpc R3,R5
07BA 0CF0 brlt X12
07BC 55C0 xjmp L66
07BE X12:
07BE .dbline 207
07BE ; {
07BE .dbline 208
07BE ; if((cmd.width >0)&&(cmd.lenth>0))
07BE FA01 movw R30,R20
07C0 2380 ldd R2,z+3
07C2 3480 ldd R3,z+4
07C4 2220 tst R2
07C6 11F4 brne X7
07C8 3320 tst R3
07CA B9F0 breq L70
07CC X7:
07CC 2224 clr R2
07CE FA01 movw R30,R20
07D0 3780 ldd R3,z+7
07D2 2314 cp R2,R3
07D4 90F4 brsh L70
07D6 .dbline 209
07D6 ; {
07D6 .dbline 210
07D6 ; Dis_Rect(cmd.x,cmd.y,cmd.width,cmd.lenth,cmd.cursor_color);
07D6 FA01 movw R30,R20
07D8 2088 ldd R2,z+16
07DA 2C82 std y+4,R2
07DC FA01 movw R30,R20
07DE 2780 ldd R2,z+7
07E0 2A82 std y+2,R2
07E2 FA01 movw R30,R20
07E4 2380 ldd R2,z+3
07E6 3480 ldd R3,z+4
07E8 3982 std y+1,R3
07EA 2882 std y+0,R2
07EC FA01 movw R30,R20
07EE 2281 ldd R18,z+2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -