📄 lcd_ascii.lst
字号:
409 016a 3196 .LBB12:
411 016c 2417 .LM40:
412 016e 3507 ldi r24,lo8(12)
413 0170 00F0 mul r20,r24
414 0172 00C0 movw r22,r0
415 clr r1
296:LCD\LCD_ASCII.c **** }
297:LCD\LCD_ASCII.c **** }
298:LCD\LCD_ASCII.c **** else if(j==3)
416 ubi r30,lo8(-(CTAB_12-384))
417 sbci r31,hi8(-(CTAB_12-384))
418 0174 6330 movw r26,r18
419 0176 7105 subi r26,lo8(-(disBuf))
420 0178 01F0 sbci r27,hi8(-(disBuf))
421 017a 00C0 .LBE12:
299:LCD\LCD_ASCII.c **** {
300:LCD\LCD_ASCII.c **** for(i=x+336;i<x+336+6;i++)
422 n 68,0,300,.LM41-.LFBB1
423 .LM41:
424 017c 9E01 movw r20,r28
425 017e 205B subi r20,lo8(-(342))
426 0180 3E4F sbci r21,hi8(-(342))
427 rjmp .L25
301:LCD\LCD_ASCII.c **** {
302:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_12[ch-0x20][i-x-336]);
428 .LBB13:
430 0182 8CE0 .LM42:
431 0184 489F /* #APP */
432 0186 B001 lpm r25, Z
433 0188 1124
434 018a FB01 /* #NOAPP */
435 018c E050 .LBE13:
437 0190 D901 .LM43:
438 0192 A050 ld r24,X
439 0194 B040 andi r24,lo8(15)
441 .LM44:
442 swap r25
443 0196 AE01 andi r25,lo8(-16)
444 0198 4A5A or r25,r24
445 019a 5E4F st X+,r25
447 .LM45:
448 subi r18,lo8(-(1))
449 sbci r19,hi8(-(1))
450 adiw r30,1
451 .L25:
452 019e 9491 cp r18,r20
453 cpc r19,r21
454 brlo .L26
303:LCD\LCD_ASCII.c **** disBuf[i] &= 0x0f;
456 20,lo8(-(420))
457 sbci r21,hi8(-(420))
458 01a0 8C91 movw r18,r22
459 01a2 8F70 subi r18,lo8(-(CTAB_12-384))
304:LCD\LCD_ASCII.c **** disBuf[i] |= ((temp<<4) & 0xf0);
460 i r19,hi8(-(CTAB_12-384))
461 movw r16,r22
462 01a4 9295 subi r16,lo8(-(CTAB_12-378))
463 01a6 907F sbci r17,hi8(-(CTAB_12-378))
464 01a8 982B movw r26,r20
465 01aa 9D93 subi r26,lo8(-(disBuf))
466 sbci r27,hi8(-(disBuf))
467 movw r22,r28
468 01ac 2F5F subi r22,lo8(-(426))
469 01ae 3F4F sbci r23,hi8(-(426))
470 01b0 3196 rjmp .L28
471 .L29:
472 01b2 2417 .LBB14:
474 01b6 00F0 .LM47:
305:LCD\LCD_ASCII.c **** }
306:LCD\LCD_ASCII.c **** for(i=x+420;i<x+420+6;i++)
475 * #APP */
476 lpm r25, Z
477 01b8 AE01
478 01ba 4C55 /* #NOAPP */
479 01bc 5E4F .LBE14:
480 01be 9B01 swap r25
481 01c0 2050 andi r25,lo8(15)
482 01c2 3040 .LBB15:
484 01c6 0050 .LM48:
485 01c8 1040 movw r30,r16
486 01ca DA01 /* #APP */
487 01cc A050 lpm r24, Z
488 01ce B040
489 01d0 BE01 /* #NOAPP */
490 01d2 6655 .LBE15:
492 01d6 00C0 .LM49:
493 swap r24
494 andi r24,lo8(-16)
307:LCD\LCD_ASCII.c **** {
308:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_12[ch-0x20][i-x-420])>>4;
495 r24
497 01d8 F901 .LM50:
498 subi r20,lo8(-(1))
499 01da 9491 sbci r21,hi8(-(1))
500 subi r18,lo8(-(1))
501 sbci r19,hi8(-(1))
502 subi r16,lo8(-(1))
503 01dc 9295 sbci r17,hi8(-(1))
504 01de 9F70 .L28:
505 cp r20,r22
309:LCD\LCD_ASCII.c **** temp += pgm_read_byte(&CTAB_12[ch-0x20][i-x+6-420])<<4;
506 3
507 brlo .L29
508 01e0 F801 .L30:
509 /* epilogue: frame size=0 */
510 01e2 8491 pop r29
511 pop r28
512 pop r17
513 pop r16
310:LCD\LCD_ASCII.c **** disBuf[i] = temp;
514 epilogue end (size=5) */
515 /* function Dis_Ascii_12_fast size 290 (281) */
563 .Lscope1:
568 .global Dis_Ascii_16
570 Dis_Ascii_16:
572 .LM51:
573 .LFBB2:
574 /* prologue: frame size=0 */
575 push r4
576 push r5
577 push r6
578 push r7
579 push r9
580 push r10
581 push r11
582 push r12
583 push r13
584 push r14
585 push r15
586 push r16
587 push r17
588 push r28
589 push r29
590 /* prologue end (size=15) */
591 movw r4,r24
592 movw r10,r22
593 .LBB16:
595 .LM52:
311:LCD\LCD_ASCII.c **** }
312:LCD\LCD_ASCII.c **** }
313:LCD\LCD_ASCII.c ****
314:LCD\LCD_ASCII.c **** /* for(i=0;i<6;i++)
315:LCD\LCD_ASCII.c **** {
316:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_12[ch-0x20][i]);
317:LCD\LCD_ASCII.c ****
318:LCD\LCD_ASCII.c **** for(j=0;j<8;j++)
319:LCD\LCD_ASCII.c **** {
320:LCD\LCD_ASCII.c **** if(temp&(1<<j))OnePixel(x+i,y+j,1);
321:LCD\LCD_ASCII.c **** else OnePixel(x+i,y+j,0);
322:LCD\LCD_ASCII.c **** }
323:LCD\LCD_ASCII.c **** }
324:LCD\LCD_ASCII.c **** for(i=0;i<6;i++)
325:LCD\LCD_ASCII.c **** {
326:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_12[ch-0x20][i+6]);
327:LCD\LCD_ASCII.c ****
328:LCD\LCD_ASCII.c **** for(j=0;j<4;j++)
329:LCD\LCD_ASCII.c **** {
330:LCD\LCD_ASCII.c **** if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
331:LCD\LCD_ASCII.c **** else OnePixel(x+i,y+j+8,0);
332:LCD\LCD_ASCII.c **** }
333:LCD\LCD_ASCII.c **** }*/
334:LCD\LCD_ASCII.c **** }
335:LCD\LCD_ASCII.c ****
336:LCD\LCD_ASCII.c ****
337:LCD\LCD_ASCII.c **** void Dis_Ascii_16(unsigned int x,unsigned int y,unsigned char ch)
338:LCD\LCD_ASCII.c **** {
596 r25,lo8(CTAB_16-512)
597 mov r6,r25
598 ldi r25,hi8(CTAB_16-512)
599 mov r7,r25
600 0208 4F92 add r6,r28
601 020a 5F92 adc r7,r29
602 020c 6F92 clr r14
603 020e 7F92 clr r15
604 0210 9F92 .L32:
606 0214 BF92 .LM53:
607 0216 CF92 movw r30,r14
608 0218 DF92 add r30,r6
609 021a EF92 adc r31,r7
610 021c FF92 /* #APP */
611 021e 0F93 lpm r30, Z
612 0220 1F93
613 0222 CF93 /* #NOAPP */
614 0224 DF93 ldi r16,lo8(0)
615 ldi r17,hi8(0)
616 0226 2C01 .LBE16:
618 .LM54:
339:LCD\LCD_ASCII.c **** unsigned char i,j;
340:LCD\LCD_ASCII.c **** unsigned char temp;
341:LCD\LCD_ASCII.c **** for(i=0;i<8;i++)
342:LCD\LCD_ASCII.c **** {
343:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_16[ch-0x20][i]);
619 mov r9,r14
620 add r9,r4
621 022a C42F .L33:
622 022c D0E0 movw r24,r12
623 022e 24E0 mov r0,r16
624 0230 CC0F rjmp 2f
625 0232 DD1F 1: asr r25
626 0234 2A95 ror r24
627 0236 01F4 2: dec r0
628 0238 90E0 brpl 1b
629 023a 692E mov r22,r16
630 023c 90E0 add r22,r10
631 023e 792E sbrs r24,0
632 0240 6C0E rjmp .L34
633 0242 7D1E ldi r20,lo8(1)
634 0244 EE24 rjmp .L55
635 0246 FF24 .L34:
637 .LM55:
638 ldi r20,lo8(0)
639 0248 F701 .L55:
640 024a E60D mov r24,r9
641 024c F71D call OnePixel
642 subi r16,lo8(-(1))
643 024e E491 sbci r17,hi8(-(1))
645 .LM56:
646 0250 00E0 cpi r16,8
647 0252 10E0 cpc r17,__zero_reg__
648 brne .L33
344:LCD\LCD_ASCII.c **** for(j=0;j<8;j++)
345:LCD\LCD_ASCII.c **** {
346:LCD\LCD_ASCII.c **** if(temp&(1<<j))OnePixel(x+i,y+j,1);
649 c r15,__zero_reg__
651 0254 CE2E .LM57:
652 0256 DD24 ldi r24,lo8(8)
653 0258 9E2C cp r14,r24
654 025a 940C cpc r15,__zero_reg__
655 brne .L32
657 025e 002E .LM58:
658 0260 00C0 subi r28,lo8(-(CTAB_16-504))
659 0262 9595 sbci r29,hi8(-(CTAB_16-504))
660 0264 8795 clr r12
661 0266 0A94 clr r13
662 0268 02F4 .LBB17:
664 026c 6A0D .LM59:
665 026e 80FF ldi r24,lo8(8)
666 0270 00C0 mov r9,r24
667 0272 41E0 add r9,r10
668 0274 00C0 .L39:
669 movw r30,r28
347:LCD\LCD_ASCII.c **** else OnePixel(x+i,y+j,0);
670 Z
671
672 0276 40E0 /* #NOAPP */
673 mov r15,r9
674 0278 892D ldi r16,lo8(0)
675 027a 0E94 0000 ldi r17,hi8(0)
676 027e 0F5F .LBE17:
678 .LM60:
679 mov r10,r24
680 0282 0830 clr r11
681 0284 1105 mov r14,r12
682 0286 01F4 add r14,r4
683 0288 0894 .L40:
684 028a E11C movw r24,r10
685 028c F11C mov r0,r16
686 rjmp 2f
687 1: asr r25
688 028e 88E0 ror r24
689 0290 E816 2: dec r0
690 0292 F104 brpl 1b
691 0294 01F4 sbrs r24,0
692 rjmp .L41
693 ldi r20,lo8(1)
694 0296 C050 rjmp .L56
695 0298 D040 .L41:
697 029c DD24 .LM61:
698 ldi r20,lo8(0)
348:LCD\LCD_ASCII.c **** }
349:LCD\LCD_ASCII.c **** }
350:LCD\LCD_ASCII.c **** for(i=0;i<8;i++)
351:LCD\LCD_ASCII.c **** {
352:LCD\LCD_ASCII.c **** temp = pgm_read_byte(&CTAB_16[ch-0x20][i+8]);
699 14
700 call OnePixel
701 029e 88E0 subi r16,lo8(-(1))
702 02a0 982E sbci r17,hi8(-(1))
703 02a2 9A0C inc r15
705 02a4 FE01 .LM62:
706 cpi r16,8
707 02a6 8491 cpc r17,__zero_reg__
708 brne .L40
709 sec
710 02a8 F92C adc r12,__zero_reg__
711 02aa 00E0 adc r13,__zero_reg__
712 02ac 10E0 adiw r28,1
353:LCD\LCD_ASCII.c **** for(j=0;j<8;j++)
354:LCD\LCD_ASCII.c **** {
355:LCD\LCD_ASCII.c **** if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
714 ,lo8(8)
715 cp r12,r31
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -