📄 lcd.lst
字号:
176 2A37 OR R3,R23
177 9220 00EC STS 0x00EC,R2
(0140) m=LCDDR5<<2;
179 9160 00F1 LDS R22,0x00F1
17B 2777 CLR R23
17C 0F66 LSL R22
17D 1F77 ROL R23
17E 0F66 LSL R22
17F 1F77 ROL R23
(0141) LCDDR5|=m;
180 9020 00F1 LDS R2,0x00F1
182 2433 CLR R3
183 2A26 OR R2,R22
184 2A37 OR R3,R23
185 9220 00F1 STS 0x00F1,R2
(0142) m=LCDDR10<<2;
187 9160 00F6 LDS R22,0x00F6
189 2777 CLR R23
18A 0F66 LSL R22
18B 1F77 ROL R23
18C 0F66 LSL R22
18D 1F77 ROL R23
(0143) LCDDR10|=m;
18E 9020 00F6 LDS R2,0x00F6
190 2433 CLR R3
191 2A26 OR R2,R22
192 2A37 OR R3,R23
193 9220 00F6 STS 0x00F6,R2
(0144) m=LCDDR15<<2;
195 9160 00FB LDS R22,0x00FB
197 2777 CLR R23
198 0F66 LSL R22
199 1F77 ROL R23
19A 0F66 LSL R22
19B 1F77 ROL R23
(0145) LCDDR15|=m;
19C 9020 00FB LDS R2,0x00FB
19E 2433 CLR R3
19F 2A26 OR R2,R22
1A0 2A37 OR R3,R23
1A1 9220 00FB STS 0x00FB,R2
(0146)
(0147)
(0148)
(0149) j=LCD_character_table[i]; //左5位
1A3 E002 LDI R16,2
1A4 E010 LDI R17,0
1A5 019A MOVW R18,R20
1A6 940E 02F3 CALL empy16s
1A8 01F8 MOVW R30,R16
1A9 E58C LDI R24,0x5C
1AA E090 LDI R25,0
1AB 0FE8 ADD R30,R24
1AC 1FF9 ADC R31,R25
1AD 90A5 LPM R10,Z+
1AE 90B4 LPM R11,0(Z)
(0150) m=j&0x000f;
1AF 01B5 MOVW R22,R10
1B0 706F ANDI R22,0xF
1B1 7070 ANDI R23,0
(0151) LCDDR1=m;
1B2 9360 00ED STS 0x00ED,R22
(0152) m=(j>>4)&0x000f;
1B4 01B5 MOVW R22,R10
1B5 9576 LSR R23
1B6 9567 ROR R22
1B7 9576 LSR R23
1B8 9567 ROR R22
1B9 9576 LSR R23
1BA 9567 ROR R22
1BB 9576 LSR R23
1BC 9567 ROR R22
1BD 706F ANDI R22,0xF
1BE 7070 ANDI R23,0
(0153) LCDDR6=m;
1BF 9360 00F2 STS 0x00F2,R22
(0154) m=(j>>8)&0x000f;
1C1 01B5 MOVW R22,R10
1C2 2F67 MOV R22,R23
1C3 2777 CLR R23
1C4 706F ANDI R22,0xF
1C5 7070 ANDI R23,0
(0155) LCDDR11=m;
1C6 9360 00F7 STS 0x00F7,R22
(0156) m=(j>>12)&0x000f;
1C8 E02C LDI R18,0xC
1C9 E030 LDI R19,0
1CA 0185 MOVW R16,R10
1CB 940E 030A CALL lsr16
1CD 01B8 MOVW R22,R16
1CE 706F ANDI R22,0xF
1CF 7070 ANDI R23,0
(0157) LCDDR16=m;
1D0 9360 00FC STS 0x00FC,R22
(0158)
(0159) j=LCD_character_table[i]; //左6位
1D2 E002 LDI R16,2
1D3 E010 LDI R17,0
1D4 019A MOVW R18,R20
1D5 940E 02F3 CALL empy16s
1D7 01F8 MOVW R30,R16
1D8 E58C LDI R24,0x5C
1D9 E090 LDI R25,0
1DA 0FE8 ADD R30,R24
1DB 1FF9 ADC R31,R25
1DC 90A5 LPM R10,Z+
1DD 90B4 LPM R11,0(Z)
(0160) m=j&0x000f;
1DE 01B5 MOVW R22,R10
1DF 706F ANDI R22,0xF
1E0 7070 ANDI R23,0
(0161) LCDDR1|=m<<2;
1E1 011B MOVW R2,R22
1E2 0C22 LSL R2
1E3 1C33 ROL R3
1E4 0C22 LSL R2
1E5 1C33 ROL R3
1E6 9040 00ED LDS R4,0x00ED
1E8 2455 CLR R5
1E9 2842 OR R4,R2
1EA 2853 OR R5,R3
1EB 9240 00ED STS 0x00ED,R4
(0162) m=(j>>4)&0x000f;
1ED 01B5 MOVW R22,R10
1EE 9576 LSR R23
1EF 9567 ROR R22
1F0 9576 LSR R23
1F1 9567 ROR R22
1F2 9576 LSR R23
1F3 9567 ROR R22
1F4 9576 LSR R23
1F5 9567 ROR R22
1F6 706F ANDI R22,0xF
1F7 7070 ANDI R23,0
(0163) LCDDR6|=m<<2;
1F8 011B MOVW R2,R22
1F9 0C22 LSL R2
1FA 1C33 ROL R3
1FB 0C22 LSL R2
1FC 1C33 ROL R3
1FD 9040 00F2 LDS R4,0x00F2
1FF 2455 CLR R5
200 2842 OR R4,R2
201 2853 OR R5,R3
202 9240 00F2 STS 0x00F2,R4
(0164) m=(j>>8)&0x000f;
204 01B5 MOVW R22,R10
205 2F67 MOV R22,R23
206 2777 CLR R23
207 706F ANDI R22,0xF
208 7070 ANDI R23,0
(0165) LCDDR11|=m<<2;
209 011B MOVW R2,R22
20A 0C22 LSL R2
20B 1C33 ROL R3
20C 0C22 LSL R2
20D 1C33 ROL R3
20E 9040 00F7 LDS R4,0x00F7
210 2455 CLR R5
211 2842 OR R4,R2
212 2853 OR R5,R3
213 9240 00F7 STS 0x00F7,R4
(0166) m=(j>>12)&0x000f;
215 E02C LDI R18,0xC
216 E030 LDI R19,0
217 0185 MOVW R16,R10
218 940E 030A CALL lsr16
21A 01B8 MOVW R22,R16
21B 706F ANDI R22,0xF
21C 7070 ANDI R23,0
(0167) LCDDR16|=m<<2;
21D 011B MOVW R2,R22
21E 0C22 LSL R2
21F 1C33 ROL R3
220 0C22 LSL R2
221 1C33 ROL R3
222 9040 00FC LDS R4,0x00FC
224 2455 CLR R5
225 2842 OR R4,R2
226 2853 OR R5,R3
227 9240 00FC STS 0x00FC,R4
(0168)
(0169) j=LCD_character_table[i]; //左7位
229 E002 LDI R16,2
22A E010 LDI R17,0
22B 019A MOVW R18,R20
22C 940E 02F3 CALL empy16s
22E 01F8 MOVW R30,R16
22F E58C LDI R24,0x5C
230 E090 LDI R25,0
231 0FE8 ADD R30,R24
232 1FF9 ADC R31,R25
233 90A5 LPM R10,Z+
234 90B4 LPM R11,0(Z)
(0170) m=j&0x000f;
235 01B5 MOVW R22,R10
236 706F ANDI R22,0xF
237 7070 ANDI R23,0
(0171) LCDDR1|=m<<4;
238 011B MOVW R2,R22
239 0C22 LSL R2
23A 1C33 ROL R3
23B 0C22 LSL R2
23C 1C33 ROL R3
23D 0C22 LSL R2
23E 1C33 ROL R3
23F 0C22 LSL R2
240 1C33 ROL R3
241 9040 00ED LDS R4,0x00ED
243 2455 CLR R5
244 2842 OR R4,R2
245 2853 OR R5,R3
246 9240 00ED STS 0x00ED,R4
(0172) m=(j>>4)&0x000f;
248 01B5 MOVW R22,R10
249 9576 LSR R23
24A 9567 ROR R22
24B 9576 LSR R23
24C 9567 ROR R22
24D 9576 LSR R23
24E 9567 ROR R22
24F 9576 LSR R23
250 9567 ROR R22
251 706F ANDI R22,0xF
252 7070 ANDI R23,0
(0173) LCDDR6|=m<<4;
253 011B MOVW R2,R22
254 0C22 LSL R2
255 1C33 ROL R3
256 0C22 LSL R2
257 1C33 ROL R3
258 0C22 LSL R2
259 1C33 ROL R3
25A 0C22 LSL R2
25B 1C33 ROL R3
25C 9040 00F2 LDS R4,0x00F2
25E 2455 CLR R5
25F 2842 OR R4,R2
260 2853 OR R5,R3
261 9240 00F2 STS 0x00F2,R4
(0174) m=(j>>8)&0x000f;
263 01B5 MOVW R22,R10
264 2F67 MOV R22,R23
265 2777 CLR R23
266 706F ANDI R22,0xF
267 7070 ANDI R23,0
(0175) LCDDR11|=m<<4;
268 011B MOVW R2,R22
269 0C22 LSL R2
26A 1C33 ROL R3
26B 0C22 LSL R2
26C 1C33 ROL R3
26D 0C22 LSL R2
26E 1C33 ROL R3
26F 0C22 LSL R2
270 1C33 ROL R3
271 9040 00F7 LDS R4,0x00F7
273 2455 CLR R5
274 2842 OR R4,R2
275 2853 OR R5,R3
276 9240 00F7 STS 0x00F7,R4
(0176) m=(j>>12)&0x000f;
278 E02C LDI R18,0xC
279 E030 LDI R19,0
27A 0185 MOVW R16,R10
27B 940E 030A CALL lsr16
27D 01B8 MOVW R22,R16
27E 706F ANDI R22,0xF
27F 7070 ANDI R23,0
(0177) LCDDR16|=m<<4;
280 011B MOVW R2,R22
281 0C22 LSL R2
282 1C33 ROL R3
283 0C22 LSL R2
284 1C33 ROL R3
285 0C22 LSL R2
286 1C33 ROL R3
287 0C22 LSL R2
288 1C33 ROL R3
289 9040 00FC LDS R4,0x00FC
28B 2455 CLR R5
28C 2842 OR R4,R2
28D 2853 OR R5,R3
28E 9240 00FC STS 0x00FC,R4
(0178)
(0179)
(0180) j=LCD_character_table[i]; //左8位
290 E002 LDI R16,2
291 E010 LDI R17,0
292 019A MOVW R18,R20
293 940E 02F3 CALL empy16s
295 01F8 MOVW R30,R16
296 E58C LDI R24,0x5C
297 E090 LDI R25,0
298 0FE8 ADD R30,R24
299 1FF9 ADC R31,R25
29A 90A5 LPM R10,Z+
29B 90B4 LPM R11,0(Z)
(0181) m=j&0x000f;
29C 01B5 MOVW R22,R10
29D 706F ANDI R22,0xF
29E 7070 ANDI R23,0
(0182) LCDDR1|=m<<6;
29F E026 LDI R18,6
2A0 E030 LDI R19,0
2A1 018B MOVW R16,R22
2A2 940E 0303 CALL lsl16
2A4 9020 00ED LDS R2,0x00ED
2A6 2433 CLR R3
2A7 2A20 OR R2,R16
2A8 2A31 OR R3,R17
2A9 9220 00ED STS 0x00ED,R2
(0183) m=(j>>4)&0x000f;
2AB 01B5 MOVW R22,R10
2AC 9576 LSR R23
2AD 9567 ROR R22
2AE 9576 LSR R23
2AF 9567 ROR R22
2B0 9576 LSR R23
2B1 9567 ROR R22
2B2 9576 LSR R23
2B3 9567 ROR R22
2B4 706F ANDI R22,0xF
2B5 7070 ANDI R23,0
(0184) LCDDR6|=m<<6;
2B6 E026 LDI R18,6
2B7 E030 LDI R19,0
2B8 018B MOVW R16,R22
2B9 940E 0303 CALL lsl16
2BB 9020 00F2 LDS R2,0x00F2
2BD 2433 CLR R3
2BE 2A20 OR R2,R16
2BF 2A31 OR R3,R17
2C0 9220 00F2 STS 0x00F2,R2
(0185) m=(j>>8)&0x000f;
2C2 01B5 MOVW R22,R10
2C3 2F67 MOV R22,R23
2C4 2777 CLR R23
2C5 706F ANDI R22,0xF
2C6 7070 ANDI R23,0
(0186) LCDDR11|=m<<6;
2C7 E026 LDI R18,6
2C8 E030 LDI R19,0
2C9 018B MOVW R16,R22
2CA 940E 0303 CALL lsl16
2CC 9020 00F7 LDS R2,0x00F7
2CE 2433 CLR R3
2CF 2A20 OR R2,R16
2D0 2A31 OR R3,R17
2D1 9220 00F7 STS 0x00F7,R2
(0187) m=(j>>12)&0x000f;
2D3 E02C LDI R18,0xC
2D4 E030 LDI R19,0
2D5 0185 MOVW R16,R10
2D6 940E 030A CALL lsr16
2D8 01B8 MOVW R22,R16
2D9 706F ANDI R22,0xF
2DA 7070 ANDI R23,0
(0188) LCDDR16|=m<<6;
2DB E026 LDI R18,6
2DC E030 LDI R19,0
2DD 018B MOVW R16,R22
2DE 940E 0303 CALL lsl16
2E0 9020 00FC LDS R2,0x00FC
2E2 2433 CLR R3
2E3 2A20 OR R2,R16
2E4 2A31 OR R3,R17
2E5 9220 00FC STS 0x00FC,R2
(0189)
(0190) delay_ms(1000);
FILE: <library>
2E7 EE08 LDI R16,0xE8
2E8 E013 LDI R17,3
2E9 DD82 RCALL _delay_ms
2EA 5F4F SUBI R20,0xFF
2EB 4F5F SBCI R21,0xFF
2EC 304A CPI R20,0xA
2ED E0E0 LDI R30,0
2EE 075E CPC R21,R30
2EF F408 BCC 0x02F1
2F0 CDCC RJMP 0x00BD
2F1 CDC1 RJMP 0x00B3
2F2 9508 RET
empy16s:
2F3 920A ST R0,-Y
2F4 921A ST R1,-Y
2F5 938A ST R24,-Y
2F6 939A ST R25,-Y
2F7 9F02 MUL R16,R18
2F8 01C0 MOVW R24,R0
2F9 9F12 MUL R17,R18
2FA 0D90 ADD R25,R0
2FB 9F03 MUL R16,R19
2FC 0D90 ADD R25,R0
2FD 018C MOVW R16,R24
2FE 9199 LD R25,Y+
2FF 9189 LD R24,Y+
300 9019 LD R1,Y+
301 9009 LD R0,Y+
302 9508 RET
lsl16:
303 2322 TST R18
304 F021 BEQ 0x0309
305 0F00 LSL R16
306 1F11 ROL R17
307 952A DEC R18
308 CFFA RJMP lsl16
309 9508 RET
lsr16:
30A 2322 TST R18
30B F021 BEQ 0x0310
30C 9516 LSR R17
30D 9507 ROR R16
30E 952A DEC R18
30F CFFA RJMP lsr16
310 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -