                        .module LCD12864.C
                        .area text(rom, con, rel)
 0000                   .dbfile LCD12864.C
                        .area data(ram, con, rel)
 0000                   .dbfile LCD12864.C
 0000           _addr_tab::
 0000                   .blkb 2
                        .area idata
 0000 8081              .byte 128,129
                        .area data(ram, con, rel)
 0002                   .dbfile LCD12864.C
 0002                   .blkb 2
                        .area idata
 0002 8283              .byte 130,131
                        .area data(ram, con, rel)
 0004                   .dbfile LCD12864.C
 0004                   .blkb 2
                        .area idata
 0004 8485              .byte 132,133
                        .area data(ram, con, rel)
 0006                   .dbfile LCD12864.C
 0006                   .blkb 2
                        .area idata
 0006 8687              .byte 134,135
                        .area data(ram, con, rel)
 0008                   .dbfile LCD12864.C
 0008                   .blkb 2
                        .area idata
 0008 9091              .byte 144,145
                        .area data(ram, con, rel)
 000A                   .dbfile LCD12864.C
 000A                   .blkb 2
                        .area idata
 000A 9293              .byte 146,147
                        .area data(ram, con, rel)
 000C                   .dbfile LCD12864.C
 000C                   .blkb 2
                        .area idata
 000C 9495              .byte 148,149
                        .area data(ram, con, rel)
 000E                   .dbfile LCD12864.C
 000E                   .blkb 2
                        .area idata
 000E 9697              .byte 150,151
                        .area data(ram, con, rel)
 0010                   .dbfile LCD12864.C
 0010                   .blkb 2
                        .area idata
 0010 8889              .byte 136,137
                        .area data(ram, con, rel)
 0012                   .dbfile LCD12864.C
 0012                   .blkb 2
                        .area idata
 0012 8A8B              .byte 138,139
                        .area data(ram, con, rel)
 0014                   .dbfile LCD12864.C
 0014                   .blkb 2
                        .area idata
 0014 8C8D              .byte 140,141
                        .area data(ram, con, rel)
 0016                   .dbfile LCD12864.C
 0016                   .blkb 2
                        .area idata
 0016 8E8F              .byte 142,143
                        .area data(ram, con, rel)
 0018                   .dbfile LCD12864.C
 0018                   .blkb 2
                        .area idata
 0018 9899              .byte 152,153
                        .area data(ram, con, rel)
 001A                   .dbfile LCD12864.C
 001A                   .blkb 2
                        .area idata
 001A 9A9B              .byte 154,155
                        .area data(ram, con, rel)
 001C                   .dbfile LCD12864.C
 001C                   .blkb 2
                        .area idata
 001C 9C9D              .byte 156,157
                        .area data(ram, con, rel)
 001E                   .dbfile LCD12864.C
 001E                   .blkb 2
                        .area idata
 001E 9E9F              .byte 158,159
                        .area data(ram, con, rel)
 0020                   .dbfile LCD12864.C
 0020                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0020                   .dbsym e addr_tab _addr_tab A[32:32]c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0000                   .dbfunc e delayms _delayms fV
 0000           ;              i -> R20,R21
 0000           ;              t -> R16,R17
                        .even
 0000           _delayms::
 0000 4A93              st -y,R20
 0002 5A93              st -y,R21
 0004                   .dbline -1
 0004                   .dbline 58
 0004           ; 
 0004           ; /********************************************************************************************
 0004           ; Ãû    ³Æ£ºLCD12864_ST7920²¢ÐÐ²âÊÔ³ÌÐò
 0004           ; ÊÔÑé¹¦ÄÜ£º²âÊÔ»ùÓÚST7920¿ØÖÆÐ¾Æ¬µÄLCD12864µÄÏÔÊ¾
 0004           ;           ²¢ÐÐ·½Ê½Á¬½Ó(¸Ã³ÌÐòÖ»Ö§³ÖST7920¿ØÖÆÐ¾Æ¬µÄLCD12864)
 0004           ;                 
 0004           ;                 ×¢Òâ£º¸ÃÊµÑéËùÊ¹ÓÃµÄLCDÊÇ´øÖÐÎÄ×Ö¿âµÄLCD12864£¬Òº¾§¿ØÖÆÆ÷ÎªST7920£¬
 0004           ;                       ÆäËûÒº¾§²»Ò»¶¨ÊÊºÏ¡£
 0004           ;                 
 0004           ; * CPUÐÍºÅ£º ATMEGA128A
 0004           ; * ¾§Õñ£º    8MHz 
 0004           ; * ÈÕ    ÆÚ£º2011-3-12
 0004           ; *********************************************************************************************/
 0004           ; 
 0004           ; #include <iom128v.h>                  //µ÷ÓÃÍ·ÎÄ¼þ
 0004           ; #define uchar unsigned char
 0004           ; #define uint  unsigned int    
 0004           ; 
 0004           ; /*****LCD½Ó¿Ú¶¨Òå*****/
 0004           ; #define  LCD_DATA_PORT    PORTA        //¶¨ÒåLCDµÄD0-D7ËùÔÚ¶Ë¿Ú
 0004           ; #define  LCD_DATA_POUT    DDRA|=0xFF   //¶¨ÒåLCDÊý¾Ý¶Ë
 0004           ; 
 0004           ; #define  LCD_Control_OUT  DDRB|=0xF0
 0004           ; 
 0004           ; #define LCD_PSB_1  PORTB|=1<<PB4
 0004           ; #define LCD_PSB_0  PORTB&=~(1<<PB4)
 0004           ; 
 0004           ; #define LCD_RS_1  PORTB|=1<<PB5
 0004           ; #define LCD_RS_0  PORTB&=~(1<<PB5)
 0004           ; 
 0004           ; #define LCD_RW_1  PORTB|=1<<PB6
 0004           ; #define LCD_RW_0  PORTB&=~(1<<PB6)
 0004           ; 
 0004           ; #define LCD_EN_1  PORTB|=1<<PB7
 0004           ; #define LCD_EN_0  PORTB&=~(1<<PB7)
 0004           ; 
 0004           ; /*****LCD¹¦ÄÜ³õÊ¼»¯Ö¸Áî*****/
 0004           ; #define CLEAR_SCREEN 0x01     //ÇåÆÁÖ¸Áî£ºÇåÆÁÇÒACÖµÎª00H
 0004           ; #define AC_INIT      0x02     //½«ACÉèÖÃÎª00H¡£ÇÒÓÎ±êÒÆµ½Ô­µãÎ»ÖÃ
 0004           ; #define CURSE_ADD    0x06     //Éè¶¨ÓÎ±êÒÆµ½·½Ïò¼°Í¼ÏñÕûÌåÒÆ¶¯·½Ïò£¨Ä¬ÈÏÓÎ±êÓÒÒÆ£¬Í¼ÏñÕûÌå²»¶¯£©
 0004           ; #define FUN_MODE     0x30     //¹¤×÷Ä£Ê½£º8Î»»ù±¾Ö¸Áî¼¯
 0004           ; #define DISPLAY_ON   0x0c     //ÏÔÊ¾¿ª,ÏÔÊ¾ÓÎ±ê£¬ÇÒÓÎ±êÎ»ÖÃ·´°×
 0004           ; #define DISPLAY_OFF  0x08     //ÏÔÊ¾¹Ø
 0004           ; #define CURSE_DIR    0x14     //ÓÎ±êÏòÓÒÒÆ¶¯:AC=AC+1
 0004           ; #define SET_CG_AC    0x40     //ÉèÖÃAC£¬·¶Î§Îª£º00H~3FH
 0004           ; #define SET_DD_AC    0x80
 0004           ; 
 0004           ; /*****ºº×ÖµØÖ·±í*****/
 0004           ; uchar  addr_tab[]={                 //±ãÓÚ¸ù¾Ýºº×Ö×ø±êÇó³öµØÖ·
 0004           ; 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//µÚÒ»ÐÐºº×ÖÎ»ÖÃ
 0004           ; 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//µÚ¶þÐÐºº×ÖÎ»ÖÃ
 0004           ; 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,//µÚÈýÐÐºº×ÖÎ»ÖÃ
 0004           ; 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,//µÚËÄÐÐºº×ÖÎ»ÖÃ
 0004           ; };
 0004           ; 
 0004           ; /*****n£¨ms£©ÑÓÊ±×Ó³ÌÐò*****/
 0004           ; void delayms(uint t)     //Ô¼ÑÓÊ±n£¨ms£©
 0004           ; {
 0004 09C0              xjmp L3
 0006           L2:
 0006                   .dbline 61
 0006           ;      uint i;
 0006           ;      while(t--)
 0006           ;      {
 0006                   .dbline 62
 0006           ;      for(i=0;i<500;i++);
 0006 4427              clr R20
 0008 5527              clr R21
 000A 02C0              xjmp L8
 000C           L5:
 000C                   .dbline 62
 000C           L6:
 000C                   .dbline 62
 000C 4F5F              subi R20,255  ; offset = 1
 000E 5F4F              sbci R21,255
 0010           L8:
 0010                   .dbline 62
 0010 443F              cpi R20,244
 0012 E1E0              ldi R30,1
 0014 5E07              cpc R21,R30
 0016 D0F3              brlo L5
 0018           X0:
 0018                   .dbline 63
 0018           ;      }        
 0018           L3:
 0018                   .dbline 60
 0018 1801              movw R2,R16
 001A 0150              subi R16,1
 001C 1040              sbci R17,0
 001E 2220              tst R2
 0020 91F7              brne L2
 0022 3320              tst R3
 0024 81F7              brne L2
 0026           X1:
 0026                   .dbline -2
 0026           L1:
 0026                   .dbline 0 ; func end
 0026 5991              ld R21,y+
 0028 4991              ld R20,y+
 002A 0895              ret
 002C                   .dbsym r i 20 i
 002C                   .dbsym r t 16 i
 002C                   .dbend
 002C                   .dbfunc e WaitBusy _WaitBusy fV
 002C           ;              i -> R16
                        .even
 002C           _WaitBusy::
 002C                   .dbline -1
 002C                   .dbline 68
 002C           ; }
 002C           ; 
 002C           ; /*****µÈ´ýLCD¿ÕÏÐ*****/
 002C           ; void WaitBusy(void)      
 002C           ; {
 002C                   .dbline 69
 002C           ;      uchar i=50;
 002C 02E3              ldi R16,50
 002E           L10:
 002E                   .dbline 70
 002E           ;      while(i--);
 002E           L11:
 002E                   .dbline 70
 002E 202E              mov R2,R16
 0030 3324              clr R3
 0032 0150              subi R16,1
 0034 2220              tst R2
 0036 D9F7              brne L10
 0038           X2:
 0038                   .dbline -2
 0038           L9:
 0038                   .dbline 0 ; func end
 0038 0895              ret
 003A                   .dbsym r i 16 c
 003A                   .dbend
 003A                   .dbfunc e Lcd_WriteCmd _Lcd_WriteCmd fV
 003A           ;        cmdcode -> R10
                        .even
 003A           _Lcd_WriteCmd::
 003A AA92              st -y,R10
 003C A02E              mov R10,R16
 003E                   .dbline -1
 003E                   .dbline 75
 003E           ; }
 003E           ; 
 003E           ; /*****Ð´Ö¸Áî´úÂë*****/
 003E           ; void Lcd_WriteCmd(uchar cmdcode)
 003E           ; {
 003E                   .dbline 76
 003E           ;      LCD_RS_0;
 003E C598              cbi 0x18,5
 0040                   .dbline 77
 0040           ;      LCD_RW_0;
 0040 C698              cbi 0x18,6
 0042                   .dbline 78
 0042           ;      LCD_EN_1;
 0042 C79A              sbi 0x18,7
 0044                   .dbline 79
 0044           ;      WaitBusy();
 0044 F3DF              xcall _WaitBusy
 0046                   .dbline 80
 0046           ;      LCD_DATA_PORT = cmdcode;
 0046 ABBA              out 0x1b,R10
 0048                   .dbline 81
 0048           ;      LCD_EN_0;
 0048 C798              cbi 0x18,7
 004A                   .dbline -2
 004A           L13:
 004A                   .dbline 0 ; func end
 004A A990              ld R10,y+
 004C 0895              ret
 004E                   .dbsym r cmdcode 10 c
 004E                   .dbend
 004E                   .dbfunc e Lcd_WriteData _Lcd_WriteData fV
 004E           ;       dispdata -> R10
                        .even
 004E           _Lcd_WriteData::
 004E AA92              st -y,R10
 0050 A02E              mov R10,R16
 0052                   .dbline -1
 0052                   .dbline 86
 0052           ; }
 0052           ; 
 0052           ; /*****Ð´Êý¾Ý*****/
 0052           ; void Lcd_WriteData(uchar dispdata)
 0052           ; {
 0052                   .dbline 87
 0052           ;      LCD_RS_1;
 0052 C59A              sbi 0x18,5
 0054                   .dbline 88
 0054           ;      LCD_RW_0;
 0054 C698              cbi 0x18,6
 0056                   .dbline 89
 0056           ;      LCD_EN_1;
 0056 C79A              sbi 0x18,7
 0058                   .dbline 90
 0058           ;      WaitBusy();
 0058 E9DF              xcall _WaitBusy
 005A                   .dbline 91
 005A           ;      LCD_DATA_PORT = dispdata;
 005A ABBA              out 0x1b,R10
 005C                   .dbline 92
 005C           ;      LCD_EN_0;
 005C C798              cbi 0x18,7
 005E                   .dbline -2
 005E           L14:
 005E                   .dbline 0 ; func end
 005E A990              ld R10,y+
 0060 0895              ret
 0062                   .dbsym r dispdata 10 c
 0062                   .dbend
 0062                   .dbfunc e Lcd_Init _Lcd_Init fV
                        .even
 0062           _Lcd_Init::
 0062                   .dbline -1
 0062                   .dbline 97
 0062           ; }
 0062           ; 
 0062           ; /*****³õÊ¼»¯LCD*****/
 0062           ; void Lcd_Init()
 0062           ; { 
 0062                   .dbline 98
 0062           ;      LCD_PSB_1;                         //Ñ¡Ôñ²¢ÐÐÄ£Ê½
 0062 C49A              sbi 0x18,4
 0064                   .dbline 99
 0064           ;      delayms(50);
 0064 02E3              ldi R16,50
 0066 10E0              ldi R17,0
 0068 CBDF              xcall _delayms
 006A                   .dbline 100
 006A           ;      Lcd_WriteCmd(0x30);          //Ñ¡Ôñ»ù±¾Ö¸Áî¼¯
 006A 00E3              ldi R16,48
 006C E6DF              xcall _Lcd_WriteCmd
 006E                   .dbline 101
 006E           ;      delayms(1);
 006E 01E0              ldi R16,1
 0070 10E0              ldi R17,0
 0072 C6DF              xcall _delayms
 0074                   .dbline 102
 0074           ;      Lcd_WriteCmd(0x30);          //Ñ¡Ôñ8bitÊý¾ÝÁ÷
 0074 00E3              ldi R16,48
 0076 E1DF              xcall _Lcd_WriteCmd
 0078                   .dbline 103
 0078           ;      delayms(1);
 0078 01E0              ldi R16,1
 007A 10E0              ldi R17,0
 007C C1DF              xcall _delayms
 007E                   .dbline 104
 007E           ;      Lcd_WriteCmd(0x0c);          //¿ªÏÔÊ¾(ÎÞÓÎ±ê¡¢²»·´°×)
 007E 0CE0              ldi R16,12
 0080 DCDF              xcall _Lcd_WriteCmd
 0082                   .dbline 105
 0082           ;      delayms(1);
 0082 01E0              ldi R16,1
 0084 10E0              ldi R17,0
 0086 BCDF              xcall _delayms
 0088                   .dbline 106
 0088           ;      Lcd_WriteCmd(0x01);          //Çå³ýÏÔÊ¾£¬²¢ÇÒÉè¶¨µØÖ·Ö¸ÕëÎª00H
 0088 01E0              ldi R16,1
 008A D7DF              xcall _Lcd_WriteCmd
 008C                   .dbline 107
 008C           ;      delayms(20);
 008C 04E1              ldi R16,20
 008E 10E0              ldi R17,0
 0090                   .dbline -2
 0090           L15:
 0090                   .dbline 0 ; func end
 0090 B7CF              xjmp _delayms
 0092                   .dbend
 0092                   .dbfunc e hanzi_Disp _hanzi_Disp fV
 0092           ;              s -> R20,R21
 0092           ;              y -> R12
 0092           ;              x -> R10
                        .even
 0092           _hanzi_Disp::
 0092 0E940000          xcall push_xgset303C
 0096 C22E              mov R12,R18
 0098 A02E              mov R10,R16
 009A 4E81              ldd R20,y+6
 009C 5F81              ldd R21,y+7
 009E                   .dbline -1
 009E                   .dbline 112
 009E           ; }
 009E           ; 
 009E           ; /*****ÏÔÊ¾ºº×Ö*****/
 009E           ; void hanzi_Disp(uchar x,uchar y,uchar  *s)
 009E           ; {          //x¡¢yÎªºº×Ö×ø±ê
 009E                   .dbline 113
 009E           ;      Lcd_WriteCmd(addr_tab[8*x+y]);  //Ð´µØÖ·
 009E 2C2C              mov R2,R12
 00A0 3324              clr R3
 00A2 EA2D              mov R30,R10
 00A4 FF27              clr R31
 00A6 EE0F              lsl R30
 00A8 FF1F              rol R31
 00AA EE0F              lsl R30
 00AC FF1F              rol R31
 00AE EE0F              lsl R30
 00B0 FF1F              rol R31
 00B2 E20D              add R30,R2
 00B4 F31D              adc R31,R3
 00B6 80E0              ldi R24,<_addr_tab
 00B8 90E0              ldi R25,>_addr_tab
 00BA E80F              add R30,R24
 00BC F91F              adc R31,R25
 00BE 0081              ldd R16,z+0
 00C0 BCDF              xcall _Lcd_WriteCmd
 00C2 08C0              xjmp L18
 00C4           L17:
 00C4                   .dbline 115
 00C4           ;      while(*s>0)
 00C4           ;      { 
 00C4                   .dbline 116
 00C4           ;      Lcd_WriteData(*s);              //Ð´Êý¾Ý
 00C4 FA01              movw R30,R20
 00C6 0081              ldd R16,z+0
 00C8 C2DF              xcall _Lcd_WriteData
 00CA                   .dbline 117
 00CA           ;      s++;
 00CA 4F5F              subi R20,255  ; offset = 1
 00CC 5F4F              sbci R21,255
 00CE                   .dbline 118
 00CE           ;      delayms(100);
 00CE 04E6              ldi R16,100
 00D0 10E0              ldi R17,0
 00D2 96DF              xcall _delayms
 00D4                   .dbline 119
 00D4           ;      }
 00D4           L18:
 00D4                   .dbline 114
 00D4 80E0              ldi R24,0
 00D6 FA01              movw R30,R20
 00D8 2080              ldd R2,z+0
 00DA 8215              cp R24,R2
 00DC 98F3              brlo L17
 00DE           X3:
 00DE                   .dbline -2
 00DE           L16:
 00DE                   .dbline 0 ; func end
 00DE 0C940000          xjmp pop_xgset303C
 00E2                   .dbsym r s 20 pc
 00E2                   .dbsym r y 12 c
 00E2                   .dbsym r x 10 c
 00E2                   .dbend
 00E2                   .dbfunc e main _main fV
                        .even
 00E2           _main::
 00E2 2297              sbiw R28,2
 00E4                   .dbline -1
 00E4                   .dbline 123
 00E4           ; }
 00E4           ; 
 00E4           ; void main(void)
 00E4           ; {
 00E4                   .dbline 124
 00E4           ;      DDRA=0XFF;             //LED IO¿ÚÉèÎªÊä³ö
 00E4 8FEF              ldi R24,255
 00E6 8ABB              out 0x1a,R24
 00E8                   .dbline 125
 00E8           ;        DDRC=0XFF;             //ÊýÂë¹Ü¶ÎÑ¡ÉèÎªÊä³ö
 00E8 84BB              out 0x14,R24
 00EA                   .dbline 126
 00EA           ;        DDRF |=0X0E;           //LED¼°ÊýÂë¹ÜËø´æIO¿ÚÉèÎªÊä³ö
 00EA 80916100          lds R24,97
 00EE 8E60              ori R24,14
 00F0 80936100          sts 97,R24
 00F4                   .dbline 127
 00F4           ;        PORTF|=0X0E;           
 00F4 80916200          lds R24,98
 00F8 8E60              ori R24,14
 00FA 80936200          sts 98,R24
 00FE                   .dbline 128
 00FE           ;        PORTA=0XFF;
 00FE 8FEF              ldi R24,255
 0100 8BBB              out 0x1b,R24
 0102                   .dbline 129
 0102           ;        PORTC=0XFF;            
 0102 85BB              out 0x15,R24
 0104                   .dbline 130
 0104           ;        PORTF&=0xF1;           //Ëø´æÊý¾Ý¹Ø±ÕÊýÂë¹Ü¼°LED 
 0104 80916200          lds R24,98
 0108 817F              andi R24,241
 010A 80936200          sts 98,R24
 010E                   .dbline 132
 010E           ;        
 010E           ;        DDRB |=0X10;           //PB4ÉèÎªÊä³ö
 010E BC9A              sbi 0x17,4
 0110                   .dbline 133
 0110           ;        PORTB|=0X10;           //¹Ø±ÕPB4Íâ½ÓµÄLED   
 0110 C49A              sbi 0x18,4
 0112                   .dbline 135
 0112           ;     
 0112           ;        LCD_DATA_POUT;
 0112 8AB3              in R24,0x1a
 0114 8F6F              ori R24,255
 0116 8ABB              out 0x1a,R24
 0118                   .dbline 136
 0118           ;      LCD_Control_OUT;
 0118 87B3              in R24,0x17
 011A 806F              ori R24,240
 011C 87BB              out 0x17,R24
 011E                   .dbline 137
 011E           ;      delayms(100);
 011E 04E6              ldi R16,100
 0120 10E0              ldi R17,0
 0122 6EDF              xcall _delayms
 0124 23C0              xjmp L22
 0126           L21:
 0126                   .dbline 139
 0126           ;      while(1)
 0126           ;      {
 0126                   .dbline 140
 0126           ;         Lcd_Init();
 0126 9DDF              xcall _Lcd_Init
 0128                   .dbline 141
 0128           ;         delayms(1000);
 0128 08EE              ldi R16,1000
 012A 13E0              ldi R17,3
 012C 69DF              xcall _delayms
 012E                   .dbline 142
 012E           ;         hanzi_Disp(0,0,"****************");
 012E 80E0              ldi R24,<L24
 0130 90E0              ldi R25,>L24
 0132 9983              std y+1,R25
 0134 8883              std y+0,R24
 0136 2227              clr R18
 0138 0027              clr R16
 013A ABDF              xcall _hanzi_Disp
 013C                   .dbline 143
 013C           ;         hanzi_Disp(1,0,"BK-AVR128 ¿ª·¢°å");        
 013C 80E0              ldi R24,<L25
 013E 90E0              ldi R25,>L25
 0140 9983              std y+1,R25
 0142 8883              std y+0,R24
 0144 2227              clr R18
 0146 01E0              ldi R16,1
 0148 A4DF              xcall _hanzi_Disp
 014A                   .dbline 144
 014A           ;         hanzi_Disp(2,0,"LCD12864²âÊÔ³ÌÐò");
 014A 80E0              ldi R24,<L26
 014C 90E0              ldi R25,>L26
 014E 9983              std y+1,R25
 0150 8883              std y+0,R24
 0152 2227              clr R18
 0154 02E0              ldi R16,2
 0156 9DDF              xcall _hanzi_Disp
 0158                   .dbline 145
 0158           ;         hanzi_Disp(3,0,"****************");
 0158 80E0              ldi R24,<L24
 015A 90E0              ldi R25,>L24
 015C 9983              std y+1,R25
 015E 8883              std y+0,R24
 0160 2227              clr R18
 0162 03E0              ldi R16,3
 0164 96DF              xcall _hanzi_Disp
 0166                   .dbline 146
 0166           ;         delayms(30000);
 0166 00E3              ldi R16,30000
 0168 15E7              ldi R17,117
 016A 4ADF              xcall _delayms
 016C                   .dbline 147
 016C           ;      }
 016C           L22:
 016C                   .dbline 138
 016C DCCF              xjmp L21
 016E           X4:
 016E                   .dbline -2
 016E           L20:
 016E                   .dbline 0 ; func end
 016E 2296              adiw R28,2
 0170 0895              ret
 0172                   .dbend
                        .area data(ram, con, rel)
 0020                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0020           L26:
 0020                   .blkb 17
                        .area idata
 0020 4C43443132383634B2E2CAD4B3CCD0F2  .byte 'L,'C,'D,49,50,56,54,52,178,226,202,212,179,204,208,242
 0030 00                .byte 0
                        .area data(ram, con, rel)
 0031                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0031           L25:
 0031                   .blkb 17
                        .area idata
 0031 424B2D41565231323820BFAAB7A2B0E5  .byte 'B,'K,45,'A,'V,'R,49,50,56,32,191,170,183,162,176,229
 0041 00                .byte 0
                        .area data(ram, con, rel)
 0042                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0042           L24:
 0042                   .blkb 17
                        .area idata
 0042 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A  .byte 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42
 0052 00                .byte 0
                        .area data(ram, con, rel)
 0053                   .dbfile F:\²©¿Æµç×ÓÌÔ±¦µêËùÓÐ×ÊÁÏ\²©¿Æ²úÆ·ÅäÌ×ÎÄ¼þ\AVRÏà¹Ø²úÆ·\BK-AVR~2\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµC65B~1\LCD12864.C
 0053           ; }
