enhanced_unicode.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 826 行 · 第 1/3 页

LST
826
字号
   \   00DB  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   00DE  FAFF              DEFW    -6
   \   00E0  FDE5              PUSH    IY
    100              int s_cnt=0;
    101              int d_cnt=0;
    102              WORD code;
    103              SD_FILE *fp;
    104                          
    105              //清 WATCH_DOG 
    106              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   00E2  DB4E              IN      A,(78)
   \   00E4  CBDF              SET     3,A
   \   00E6  D34E              OUT     (78),A
    107              
    108              switch(encode)
   \   00E8  AF                XOR     A
   \   00E9  DD77FE            LD      (IX-2),A
   \   00EC  DD77FF            LD      (IX-1),A
   \   00EF  DD5E0A            LD      E,(IX+10)
   \   00F2  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   00F5  0900              DEFW    9
   \   00F7  00                DEFB    0
   \   00F8  02                DEFB    2
   \   00F9  03                DEFB    3
   \   00FA  04                DEFB    4
   \   00FB  0D                DEFB    13
   \   00FC  0E                DEFB    14
   \   00FD  0F                DEFB    15
   \   00FE  10                DEFB    16
   \   00FF  11                DEFB    17
   \   0100  8102              DEFW    ?0066
   \   0102  2C01              DEFW    ?0023
   \   0104  2C01              DEFW    ?0023
   \   0106  3801              DEFW    ?0025
   \   0108  3F01              DEFW    ?0026
   \   010A  3201              DEFW    ?0024
   \   010C  2601              DEFW    ?0022
   \   010E  2001              DEFW    ?0021
   \   0110  1A01              DEFW    ?0020
   \   0112  1401              DEFW    ?0019
   \   0114            ?0019:
    109              {
    110                  case CP_CHS:            //中文简体
    111                                  fp=SD_FOpen(ftbl_GB,MODE_READ);
   \   0114  4F                LD      C,A
   \   0115  110000            LD      DE,ftbl_GB
   \   0118  1822              JR      ?0102
    112                                  break;
   \   011A            ?0020:
    113                  case CP_CHT:            //中文繁体
    114                                  fp=SD_FOpen(ftbl_B5,MODE_READ);
   \   011A  4F                LD      C,A
   \   011B  110C00            LD      DE,ftbl_B5
   \   011E  181C              JR      ?0102
    115                                  break;
   \   0120            ?0021:
    116                  case 3:                 //日文
    117                                  fp=SD_FOpen(ftbl_JP,MODE_READ);   
   \   0120  4F                LD      C,A
   \   0121  111800            LD      DE,ftbl_JP
   \   0124  1816              JR      ?0102
    118                          break;
   \   0126            ?0022:
    119                  case 4:                 //韩文
    120                                  fp=SD_FOpen(ftbl_KR,MODE_READ);   
   \   0126  4F                LD      C,A
   \   0127  112400            LD      DE,ftbl_KR
   \   012A  1810              JR      ?0102
    121                          break;
   \   012C            ?0023:
    122                  case CP_BOL:            //波兰
    123                  case CP_CRE:            //捷克        
    124                          fp=SD_FOpen(ftbl_BC,MODE_READ);   
   \   012C  4F                LD      C,A
   \   012D  113A00            LD      DE,ftbl_BC
   \   0130  180A              JR      ?0102
    125                          break;
   \   0132            ?0024:
    126                  case CP_RUS:            //俄文
    127                                  fp=SD_FOpen(ftbl_RS,MODE_READ);   
   \   0132  4F                LD      C,A
   \   0133  113000            LD      DE,ftbl_RS
   \   0136  1804              JR      ?0102
    128                          break;
   \   0138            ?0025:
    129                  case CP_XBL:            //西伯莱
    130                                                  fp=SD_FOpen(ftbl_XL,MODE_READ);
   \   0138  4F                LD      C,A
   \   0139  114E00            LD      DE,ftbl_XL
   \   013C            ?0102:
   \   013C  C38502            JP      LWRD ?0105
    131                          break;
   \   013F            ?0026:
    132                  case CP_TAI:    //泰文
    133                                                  for(d_cnt=0,s_cnt=0;(s_cnt<len)&&((str[s_cnt]!=0)||(str[s_cnt+1]!=0)); )
   \   013F  DD77FA            LD      (IX-6),A
   \   0142  DD77FB            LD      (IX-5),A
   \   0145            ?0028:
   \   0145  DD4E04            LD      C,(IX+4)
   \   0148  DD4605            LD      B,(IX+5)
   \   014B  6F                LD      L,A
   \   014C  DD66FB            LD      H,(IX-5)
   \   014F  CD0000            CALL    LWRD ?SS_CMP_L02
   \   0152  D26F02            JP      NC,?0027
   \   0155  DD4E02            LD      C,(IX+2)
   \   0158  DD4603            LD      B,(IX+3)
   \   015B  09                ADD     HL,BC
   \   015C  7E                LD      A,(HL)
   \   015D  B7                OR      A
   \   015E  200D              JR      NZ,?0032
   \   0160  DD6EFA            LD      L,(IX-6)
   \   0163  DD66FB            LD      H,(IX-5)
   \   0166  09                ADD     HL,BC
   \   0167  23                INC     HL
   \   0168  7E                LD      A,(HL)
   \   0169  B7                OR      A
   \   016A  CA6F02            JP      Z,?0027
   \   016D            ?0032:
   \   016D            ?0033:
   \   016D            ?0031:
   \   016D            ?0030:
   \   016D            ?0029:
    134                                                                          {
    135                                                                                  code = str[s_cnt]+str[s_cnt+1]*0x100;
   \   016D  DD6EFA            LD      L,(IX-6)
   \   0170  DD66FB            LD      H,(IX-5)
   \   0173  09                ADD     HL,BC
   \   0174  23                INC     HL
   \   0175  56                LD      D,(HL)
   \   0176  1E00              LD      E,0
   \   0178  DD6EFA            LD      L,(IX-6)
   \   017B  DD66FB            LD      H,(IX-5)
   \   017E  09                ADD     HL,BC
   \   017F  4E                LD      C,(HL)
   \   0180  43                LD      B,E
   \   0181  EB                EX      DE,HL
   \   0182  09                ADD     HL,BC
   \   0183  E5                PUSH    HL
   \   0184  FDE1              POP     IY
    136                                                                                  if(code >= 0x0E00 && code <= 0x0E7F)
   \   0186  01000E            LD      BC,3584
   \   0189  A7                AND     A
   \   018A  ED42              SBC     HL,BC
   \   018C  3824              JR      C,?0035
   \   018E  FDE5              PUSH    IY
   \   0190  C1                POP     BC
   \   0191  217F0E            LD      HL,3711
   \   0194  ED42              SBC     HL,BC
   \   0196  381A              JR      C,?0035
   \   0198            ?0037:
   \   0198            ?0036:
   \   0198            ?0034:
    137                                                                                          code = str[s_cnt]+0xA0;
   \   0198  DD6EFA            LD      L,(IX-6)
   \   019B  DD66FB            LD      H,(IX-5)
   \   019E  DD4E02            LD      C,(IX+2)
   \   01A1  DD4603            LD      B,(IX+3)
   \   01A4  09                ADD     HL,BC
   \   01A5  4E                LD      C,(HL)
   \   01A6  0600              LD      B,0
   \   01A8  21A000            LD      HL,160
   \   01AB  09                ADD     HL,BC
   \   01AC  E5                PUSH    HL
   \   01AD  FDE1              POP     IY
   \   01AF  C34702            JP      LWRD ?0065
   \   01B2            ?0035:
    138                                                                                  else if(code == 0x20AC)
   \   01B2  21AC20            LD      HL,8364
   \   01B5  FDE5              PUSH    IY
   \   01B7  C1                POP     BC
   \   01B8  A7                AND     A
   \   01B9  ED42              SBC     HL,BC
   \   01BB  2007              JR      NZ,?0040
   \   01BD            ?0039:
    139                                                                                          code = 0x80;
   \   01BD  FD218000          LD      IY,128
   \   01C1  C34702            JP      LWRD ?0065
   \   01C4            ?0040:
    140                                                                                  else if(code == 0x2026)
   \   01C4  212620            LD      HL,8230
   \   01C7  A7                AND     A
   \   01C8  ED42              SBC     HL,BC
   \   01CA  2006              JR      NZ,?0043
   \   01CC            ?0042:
    141                                                                                          code = 0x85;
   \   01CC  FD218500          LD      IY,133
   \   01D0  1875              JR      ?0065
   \   01D2            ?0043:
    142                                                                                  else if(code == 0x2018)
   \   01D2  211820            LD      HL,8216
   \   01D5  A7                AND     A
   \   01D6  ED42              SBC     HL,BC
   \   01D8  2006              JR      NZ,?0046
   \   01DA            ?0045:
    143                                                                                          code = 0x91;
   \   01DA  FD219100          LD      IY,145
   \   01DE  1867              JR      ?0065
   \   01E0            ?0046:
    144                                                                                  else if(code == 0x2019)
   \   01E0  211920            LD      HL,8217
   \   01E3  A7                AND     A
   \   01E4  ED42              SBC     HL,BC
   \   01E6  2006              JR      NZ,?0049
   \   01E8            ?0048:
    145                                                                                          code = 0x92;
   \   01E8  FD219200          LD      IY,146
   \   01EC  1859              JR      ?0065
   \   01EE            ?0049:
    146                                                                                  else if(code == 0x201C)
   \   01EE  211C20            LD      HL,8220
   \   01F1  A7                AND     A
   \   01F2  ED42              SBC     HL,BC
   \   01F4  2006              JR      NZ,?0052
   \   01F6            ?0051:
    147                                                                                          code = 0x93;
   \   01F6  FD219300          LD      IY,147
   \   01FA  184B              JR      ?0065
   \   01FC            ?0052:
    148                                                                                  else if(code == 0x201D)
   \   01FC  211D20            LD      HL,8221
   \   01FF  A7                AND     A
   \   0200  ED42              SBC     HL,BC
   \   0202  2006              JR      NZ,?0055
   \   0204            ?0054:
    149                                                                                          code = 0x94;
   \   0204  FD219400          LD      IY,148
   \   0208  183D              JR      ?0065
   \   020A            ?0055:
    150                                                                                  else if(code == 0x2022)
   \   020A  212220            LD      HL,8226
   \   020D  A7                AND     A
   \   020E  ED42              SBC     HL,BC
   \   0210  2006              JR      NZ,?0058
   \   0212            ?0057:
    151                                                                                          code = 0x95;
   \   0212  FD219500          LD      IY,149
   \   0216  182F              JR      ?0065
   \   0218            ?0058:
    152                                                                                  else if(code == 0x2013)
   \   0218  211320            LD      HL,8211
   \   021B  A7                AND     A
   \   021C  ED42              SBC     HL,BC
   \   021E  2006              JR      NZ,?0061
   \   0220            ?0060:
    153                                                                                          code = 0x96;
   \   0220  FD219600          LD      IY,150
   \   0224  1821              JR      ?0065
   \   0226            ?0061:
    154                                                                                  else if(code == 0x2014)
   \   0226  211420            LD      HL,8212
   \   0229  A7                AND     A
   \   022A  ED42              SBC     HL,BC
   \   022C  2006              JR      NZ,?0064
   \   022E            ?0063:
    155                                                                                          code = 0x97;
   \   022E  FD219700          LD      IY,151
    156                                                                                  else
   \   0232  1813              JR      ?0065
   \   0234            ?0064:
    157                                                                                          code = str[s_cnt];
   \   0234  DD6EFA            LD      L,(IX-6)
   \   0237  DD66FB            LD      H,(IX-5)
   \   023A  DD4E02            LD      C,(IX+2)
   \   023D  DD4603            LD      B,(IX+3)
   \   0240  09                ADD     HL,BC
   \   0241  4E                LD      C,(HL)
   \   0242  0600              LD      B,0
   \   0244  C5                PUSH    BC
   \   0245  FDE1              POP     IY
   \   0247            ?0065:
   \   0247            ?0062:
   \   0247            ?0059:
   \   0247            ?0056:
   \   0247            ?0053:
   \   0247            ?0050:
   \   0247            ?0047:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?