📄 lcd.lis
字号:
00DE ; //j=j<<n;
00DE ; m=j&0x000f;
00DE B501 movw R22,R10
00E0 6F70 andi R22,15
00E2 7070 andi R23,0
00E4 .dbline 109
00E4 ; LCDDR0=m;
00E4 6093EC00 sts 236,R22
00E8 .dbline 110
00E8 ; m=(j>>4)&0x000f;
00E8 B501 movw R22,R10
00EA 7695 lsr R23
00EC 6795 ror R22
00EE 7695 lsr R23
00F0 6795 ror R22
00F2 7695 lsr R23
00F4 6795 ror R22
00F6 7695 lsr R23
00F8 6795 ror R22
00FA 6F70 andi R22,15
00FC 7070 andi R23,0
00FE .dbline 111
00FE ; LCDDR5=m;
00FE 6093F100 sts 241,R22
0102 .dbline 112
0102 ; m=(j>>8)&0x000f;
0102 B501 movw R22,R10
0104 672F mov R22,R23
0106 7727 clr R23
0108 6F70 andi R22,15
010A 7070 andi R23,0
010C .dbline 113
010C ; LCDDR10=m;
010C 6093F600 sts 246,R22
0110 .dbline 114
0110 ; m=(j>>12)&0x000f;
0110 2CE0 ldi R18,12
0112 30E0 ldi R19,0
0114 8501 movw R16,R10
0116 0E940000 xcall lsr16
011A B801 movw R22,R16
011C 6F70 andi R22,15
011E 7070 andi R23,0
0120 .dbline 115
0120 ; LCDDR15=m;
0120 6093FB00 sts 251,R22
0124 .dbline 118
0124 ;
0124 ;
0124 ; j=LCD_character_table[i]; //左2位
0124 02E0 ldi R16,2
0126 10E0 ldi R17,0
0128 9A01 movw R18,R20
012A 0E940000 xcall empy16s
012E F801 movw R30,R16
0130 80E0 ldi R24,<_LCD_character_table
0132 90E0 ldi R25,>_LCD_character_table
0134 E80F add R30,R24
0136 F91F adc R31,R25
0138 A590 lpm R10,Z+
013A B490 lpm R11,Z
013C .dbline 119
013C ; j=j<<2;
013C AA0C lsl R10
013E BB1C rol R11
0140 AA0C lsl R10
0142 BB1C rol R11
0144 .dbline 120
0144 ; m=j&0x000f;
0144 B501 movw R22,R10
0146 6F70 andi R22,15
0148 7070 andi R23,0
014A .dbline 121
014A ; LCDDR0|=m;
014A 2090EC00 lds R2,236
014E 3324 clr R3
0150 262A or R2,R22
0152 372A or R3,R23
0154 2092EC00 sts 236,R2
0158 .dbline 122
0158 ; m=(j>>4)&0x000f;
0158 B501 movw R22,R10
015A 7695 lsr R23
015C 6795 ror R22
015E 7695 lsr R23
0160 6795 ror R22
0162 7695 lsr R23
0164 6795 ror R22
0166 7695 lsr R23
0168 6795 ror R22
016A 6F70 andi R22,15
016C 7070 andi R23,0
016E .dbline 123
016E ; LCDDR5|=m;
016E 2090F100 lds R2,241
0172 3324 clr R3
0174 262A or R2,R22
0176 372A or R3,R23
0178 2092F100 sts 241,R2
017C .dbline 124
017C ; m=(j>>8)&0x000f;
017C B501 movw R22,R10
017E 672F mov R22,R23
0180 7727 clr R23
0182 6F70 andi R22,15
0184 7070 andi R23,0
0186 .dbline 125
0186 ; LCDDR10|=m;
0186 2090F600 lds R2,246
018A 3324 clr R3
018C 262A or R2,R22
018E 372A or R3,R23
0190 2092F600 sts 246,R2
0194 .dbline 126
0194 ; m=(j>>12)&0x000f;
0194 2CE0 ldi R18,12
0196 30E0 ldi R19,0
0198 8501 movw R16,R10
019A 0E940000 xcall lsr16
019E B801 movw R22,R16
01A0 6F70 andi R22,15
01A2 7070 andi R23,0
01A4 .dbline 127
01A4 ; LCDDR15|=m;
01A4 2090FB00 lds R2,251
01A8 3324 clr R3
01AA 262A or R2,R22
01AC 372A or R3,R23
01AE 2092FB00 sts 251,R2
01B2 .dbline 129
01B2 ;
01B2 ; m=LCDDR0<<2; //左3位
01B2 6091EC00 lds R22,236
01B6 7727 clr R23
01B8 660F lsl R22
01BA 771F rol R23
01BC 660F lsl R22
01BE 771F rol R23
01C0 .dbline 130
01C0 ; LCDDR0|=m;
01C0 2090EC00 lds R2,236
01C4 3324 clr R3
01C6 262A or R2,R22
01C8 372A or R3,R23
01CA 2092EC00 sts 236,R2
01CE .dbline 131
01CE ; m=LCDDR5<<2;
01CE 6091F100 lds R22,241
01D2 7727 clr R23
01D4 660F lsl R22
01D6 771F rol R23
01D8 660F lsl R22
01DA 771F rol R23
01DC .dbline 132
01DC ; LCDDR5|=m;
01DC 2090F100 lds R2,241
01E0 3324 clr R3
01E2 262A or R2,R22
01E4 372A or R3,R23
01E6 2092F100 sts 241,R2
01EA .dbline 133
01EA ; m=LCDDR10<<2;
01EA 6091F600 lds R22,246
01EE 7727 clr R23
01F0 660F lsl R22
01F2 771F rol R23
01F4 660F lsl R22
01F6 771F rol R23
01F8 .dbline 134
01F8 ; LCDDR10|=m;
01F8 2090F600 lds R2,246
01FC 3324 clr R3
01FE 262A or R2,R22
0200 372A or R3,R23
0202 2092F600 sts 246,R2
0206 .dbline 135
0206 ; m=LCDDR15<<2;
0206 6091FB00 lds R22,251
020A 7727 clr R23
020C 660F lsl R22
020E 771F rol R23
0210 660F lsl R22
0212 771F rol R23
0214 .dbline 136
0214 ; LCDDR15|=m;
0214 2090FB00 lds R2,251
0218 3324 clr R3
021A 262A or R2,R22
021C 372A or R3,R23
021E 2092FB00 sts 251,R2
0222 .dbline 138
0222 ;
0222 ; m=LCDDR0<<2; //左4位
0222 6091EC00 lds R22,236
0226 7727 clr R23
0228 660F lsl R22
022A 771F rol R23
022C 660F lsl R22
022E 771F rol R23
0230 .dbline 139
0230 ; LCDDR0|=m;
0230 2090EC00 lds R2,236
0234 3324 clr R3
0236 262A or R2,R22
0238 372A or R3,R23
023A 2092EC00 sts 236,R2
023E .dbline 140
023E ; m=LCDDR5<<2;
023E 6091F100 lds R22,241
0242 7727 clr R23
0244 660F lsl R22
0246 771F rol R23
0248 660F lsl R22
024A 771F rol R23
024C .dbline 141
024C ; LCDDR5|=m;
024C 2090F100 lds R2,241
0250 3324 clr R3
0252 262A or R2,R22
0254 372A or R3,R23
0256 2092F100 sts 241,R2
025A .dbline 142
025A ; m=LCDDR10<<2;
025A 6091F600 lds R22,246
025E 7727 clr R23
0260 660F lsl R22
0262 771F rol R23
0264 660F lsl R22
0266 771F rol R23
0268 .dbline 143
0268 ; LCDDR10|=m;
0268 2090F600 lds R2,246
026C 3324 clr R3
026E 262A or R2,R22
0270 372A or R3,R23
0272 2092F600 sts 246,R2
0276 .dbline 144
0276 ; m=LCDDR15<<2;
0276 6091FB00 lds R22,251
027A 7727 clr R23
027C 660F lsl R22
027E 771F rol R23
0280 660F lsl R22
0282 771F rol R23
0284 .dbline 145
0284 ; LCDDR15|=m;
0284 2090FB00 lds R2,251
0288 3324 clr R3
028A 262A or R2,R22
028C 372A or R3,R23
028E 2092FB00 sts 251,R2
0292 .dbline 149
0292 ;
0292 ;
0292 ;
0292 ; j=LCD_character_table[i]; //左5位
0292 02E0 ldi R16,2
0294 10E0 ldi R17,0
0296 9A01 movw R18,R20
0298 0E940000 xcall empy16s
029C F801 movw R30,R16
029E 80E0 ldi R24,<_LCD_character_table
02A0 90E0 ldi R25,>_LCD_character_table
02A2 E80F add R30,R24
02A4 F91F adc R31,R25
02A6 A590 lpm R10,Z+
02A8 B490 lpm R11,Z
02AA .dbline 150
02AA ; m=j&0x000f;
02AA B501 movw R22,R10
02AC 6F70 andi R22,15
02AE 7070 andi R23,0
02B0 .dbline 151
02B0 ; LCDDR1=m;
02B0 6093ED00 sts 237,R22
02B4 .dbline 152
02B4 ; m=(j>>4)&0x000f;
02B4 B501 movw R22,R10
02B6 7695 lsr R23
02B8 6795 ror R22
02BA 7695 lsr R23
02BC 6795 ror R22
02BE 7695 lsr R23
02C0 6795 ror R22
02C2 7695 lsr R23
02C4 6795 ror R22
02C6 6F70 andi R22,15
02C8 7070 andi R23,0
02CA .dbline 153
02CA ; LCDDR6=m;
02CA 6093F200 sts 242,R22
02CE .dbline 154
02CE ; m=(j>>8)&0x000f;
02CE B501 movw R22,R10
02D0 672F mov R22,R23
02D2 7727 clr R23
02D4 6F70 andi R22,15
02D6 7070 andi R23,0
02D8 .dbline 155
02D8 ; LCDDR11=m;
02D8 6093F700 sts 247,R22
02DC .dbline 156
02DC ; m=(j>>12)&0x000f;
02DC 2CE0 ldi R18,12
02DE 30E0 ldi R19,0
02E0 8501 movw R16,R10
02E2 0E940000 xcall lsr16
02E6 B801 movw R22,R16
02E8 6F70 andi R22,15
02EA 7070 andi R23,0
02EC .dbline 157
02EC ; LCDDR16=m;
02EC 6093FC00 sts 252,R22
02F0 .dbline 159
02F0 ;
02F0 ; j=LCD_character_table[i]; //左6位
02F0 02E0 ldi R16,2
02F2 10E0 ldi R17,0
02F4 9A01 movw R18,R20
02F6 0E940000 xcall empy16s
02FA F801 movw R30,R16
02FC 80E0 ldi R24,<_LCD_character_table
02FE 90E0 ldi R25,>_LCD_character_table
0300 E80F add R30,R24
0302 F91F adc R31,R25
0304 A590 lpm R10,Z+
0306 B490 lpm R11,Z
0308 .dbline 160
0308 ; m=j&0x000f;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -