⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_playlist3.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00E5  DD6E0A            LD      L,(IX+10)
   \   00E8  DD660B            LD      H,(IX+11)
   \   00EB  E5                PUSH    HL
   \   00EC  FDE1              POP     IY
     98              int code;
     99              char *tmpstrpt;
    100              region_t tregion;
    101              region_t sregion;
    102              region_t kregion;//余下部分区域
    103          
    104              tmpstrpt = str_pt;
   \   00EE  2A0000            LD      HL,(str_pt)
   \   00F1  DD75F0            LD      (IX-16),L
   \   00F4  DD74F1            LD      (IX-15),H
    105          
    106              //余下部分区域
    107              kregion.x = scroll->x+scroll->width-step;
   \   00F7  FD7E02            LD      A,(IY+2)
   \   00FA  FD8600            ADD     A,(IY+0)
   \   00FD  DD9602            SUB     (IX+2)
   \   0100  DD77F2            LD      (IX-14),A
    108              kregion.y = scroll->y;
   \   0103  FD4601            LD      B,(IY+1)
   \   0106  DD70F3            LD      (IX-13),B
    109              kregion.width = step;
   \   0109  DD4602            LD      B,(IX+2)
   \   010C  DD70F4            LD      (IX-12),B
    110              kregion.height = scroll->height;
   \   010F  FD4603            LD      B,(IY+3)
   \   0112  DD70F5            LD      (IX-11),B
    111          
    112              //设定移动的源,目标区域
    113              sregion.x =  scroll->x+step;//暂时未考虑为负数的情况
   \   0115  FD7E00            LD      A,(IY+0)
   \   0118  DD8602            ADD     A,(IX+2)
   \   011B  DD77F6            LD      (IX-10),A
    114              tregion.x =  scroll->x;
   \   011E  FD4600            LD      B,(IY+0)
   \   0121  DD70FA            LD      (IX-6),B
    115              tregion.y = sregion.y =  scroll->y;
   \   0124  FD4601            LD      B,(IY+1)
   \   0127  DD70F7            LD      (IX-9),B
   \   012A  DD70FB            LD      (IX-5),B
    116              sregion.width =  scroll->width-step;
   \   012D  FD7E02            LD      A,(IY+2)
   \   0130  DD9602            SUB     (IX+2)
   \   0133  DD77F8            LD      (IX-8),A
    117              sregion.height = scroll->height;
   \   0136  FD4603            LD      B,(IY+3)
   \   0139  DD70F9            LD      (IX-7),B
    118          
    119              //向左移step列
    120              RegionCopy(&sregion, &tregion);
   \   013C  210C00            LD      HL,12
   \   013F  39                ADD     HL,SP
   \   0140  4D                LD      C,L
   \   0141  44                LD      B,H
   \   0142  210800            LD      HL,8
   \   0145  39                ADD     HL,SP
   \   0146  EB                EX      DE,HL
   \   0147  CD0000            CALL    LWRD RegionCopy
   \   014A            ?0016:
    121          
    122          
    123          
    124          test:
    125              if (*str_pt == '\0')
   \   014A  2A0000            LD      HL,(str_pt)
   \   014D  AF                XOR     A
   \   014E  B6                OR      (HL)
   \   014F  200C              JR      NZ,?0018
   \   0151            ?0017:
    126              {
    127                  tmpstrpt = str_pt = strhead_pt;
   \   0151  2A0000            LD      HL,(strhead_pt)
   \   0154  220000            LD      (str_pt),HL
   \   0157  DD75F0            LD      (IX-16),L
   \   015A  DD74F1            LD      (IX-15),H
   \   015D            ?0018:
    128              }
    129          
    130              //汉字和ASCII的不同处理
    131              if ((*str_pt >= FirstSectionCode)&&(language!=1))
   \   015D  7E                LD      A,(HL)
   \   015E  FEA1              CP      161
   \   0160  3819              JR      C,?0020
   \   0162  DD4604            LD      B,(IX+4)
   \   0165  05                DEC     B
   \   0166  2813              JR      Z,?0020
   \   0168            ?0022:
   \   0168            ?0021:
   \   0168            ?0019:
    132              {//汉字
    133                  code = *(int *)str_pt;
   \   0168  46                LD      B,(HL)
   \   0169  DD70FE            LD      (IX-2),B
   \   016C  23                INC     HL
   \   016D  66                LD      H,(HL)
   \   016E  DD74FF            LD      (IX-1),H
    134                  tmpstrpt++;
   \   0171  DD34F0            INC     (IX-16)
   \   0174  200E              JR      NZ,?0023
   \   0176  DD34F1            INC     (IX-15)
    135              }
    136              else
   \   0179  1809              JR      ?0023
   \   017B            ?0020:
    137              {//ASCII
    138                  code = *str_pt;
   \   017B  4E                LD      C,(HL)
   \   017C  DD71FE            LD      (IX-2),C
   \   017F  0600              LD      B,0
   \   0181  DD70FF            LD      (IX-1),B
   \   0184            ?0023:
    139              }
    140              tmpstrpt++;
   \   0184  DD34F0            INC     (IX-16)
   \   0187  2003              JR      NZ,?0041
   \   0189  DD34F1            INC     (IX-15)
   \   018C            ?0041:
    141          
    142              if (!CharOutRect(code, &kregion, scroll_cnt))
   \   018C  3A0000            LD      A,(scroll_cnt)
   \   018F  4F                LD      C,A
   \   0190  C5                PUSH    BC
   \   0191  210600            LD      HL,6
   \   0194  39                ADD     HL,SP
   \   0195  4D                LD      C,L
   \   0196  44                LD      B,H
   \   0197  DD5EFE            LD      E,(IX-2)
   \   019A  DD56FF            LD      D,(IX-1)
   \   019D  CD0000            CALL    LWRD CharOutRect
   \   01A0  E1                POP     HL
   \   01A1  B7                OR      A
   \   01A2  200E              JR      NZ,?0025
   \   01A4            ?0024:
    143              {
    144                  //strhead_pt = str_pt;
    145                  str_pt = tmpstrpt;
   \   01A4  DD6EF0            LD      L,(IX-16)
   \   01A7  DD66F1            LD      H,(IX-15)
   \   01AA  220000            LD      (str_pt),HL
    146                  scroll_cnt = 0;
   \   01AD  320000            LD      (scroll_cnt),A
    147                  goto test;
   \   01B0  1898              JR      ?0016
   \   01B2            ?0025:
    148              }
    149                  scroll_cnt += step;//未支持负数
   \   01B2  3A0000            LD      A,(scroll_cnt)
   \   01B5  DD8602            ADD     A,(IX+2)
   \   01B8  320000            LD      (scroll_cnt),A
    150          
    151          }
   \   01BB  FDE1              POP     IY
   \   01BD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   01C0            Count_playlist:
    152          
    153          int Count_playlist(char *str,char language,region_t *scroll)   //统计字数
    154          {
   \   01C0  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   01C3  0000              DEFW    0
   \   01C5  FDE5              PUSH    IY
    155              int n=0;
    156              int m=0;
   \   01C7  110000            LD      DE,0
   \   01CA  FD210000          LD      IY,0
   \   01CE            ?0027:
    157              while(*str!=0)
   \   01CE  DD6E02            LD      L,(IX+2)
   \   01D1  DD6603            LD      H,(IX+3)
   \   01D4  AF                XOR     A
   \   01D5  B6                OR      (HL)
   \   01D6  2841              JR      Z,?0026
   \   01D8            ?0028:
    158              {
    159               if((*str >= FirstSectionCode)&&(language!=1))
   \   01D8  7E                LD      A,(HL)
   \   01D9  FEA1              CP      161
   \   01DB  3824              JR      C,?0030
   \   01DD  DD4604            LD      B,(IX+4)
   \   01E0  05                DEC     B
   \   01E1  281E              JR      Z,?0030
   \   01E3            ?0032:
   \   01E3            ?0031:
   \   01E3            ?0029:
    160               {
    161                   if(m+16>scroll->width)break;
   \   01E3  211000            LD      HL,16
   \   01E6  CD1F02            CALL    LWRD ?0049
   \   01E9  382E              JR      C,?0026
   \   01EB            ?0033:
   \   01EB            ?0034:
    162                   *str++;
   \   01EB  DD3402            INC     (IX+2)
   \   01EE  2003              JR      NZ,?0042
   \   01F0  DD3403            INC     (IX+3)
   \   01F3            ?0042:
    163                   *str++;
   \   01F3  DD3402            INC     (IX+2)
   \   01F6  2003              JR      NZ,?0043
   \   01F8  DD3403            INC     (IX+3)
   \   01FB            ?0043:
    164                   n++;
   \   01FB  13                INC     DE
    165                   m=m+16;
   \   01FC  011000            LD      BC,16
   \   01FF  1814              JR      ?0045
    166               }
    167               else    //采用大字体8*16
   \   0201            ?0030:
    168               {
    169                  if(m+8>scroll->width)break;
   \   0201  210800            LD      HL,8
   \   0204  CD1F02            CALL    LWRD ?0049
   \   0207  3810              JR      C,?0026
   \   0209            ?0036:
   \   0209            ?0037:
    170                  *str++;
   \   0209  DD3402            INC     (IX+2)
   \   020C  2003              JR      NZ,?0044
   \   020E  DD3403            INC     (IX+3)
   \   0211            ?0044:
    171                   n++;
   \   0211  13                INC     DE
    172                   m=m+8;
   \   0212  010800            LD      BC,8
   \   0215            ?0045:
   \   0215  FD09              ADD     IY,BC
   \   0217            ?0035:
   \   0217  18B5              JR      ?0027
   \   0219            ?0026:
    173               }
    174              }
    175              return n;
   \   0219  EB                EX      DE,HL
    176          }
   \   021A  FDE1              POP     IY
   \   021C  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   021F            ?0049:
   \   021F  FDE5              PUSH    IY
   \   0221  C1                POP     BC
   \   0222  09                ADD     HL,BC
   \   0223  4D                LD      C,L
   \   0224  44                LD      B,H
   \   0225  DD6E0A            LD      L,(IX+10)
   \   0228  DD660B            LD      H,(IX+11)
   \   022B  23                INC     HL
   \   022C  23                INC     HL
   \   022D  6E                LD      L,(HL)
   \   022E  2600              LD      H,0
   \   0230  C30000            JP      LWRD ?SS_CMP_L02
    177          
   \   0233                    END

Errors: none
Warnings: none
Code size: 563
Constant size: 0
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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