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

📄 ap_common2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00A8  E5                PUSH    HL
   \   00A9  2E06              LD      L,6
   \   00AB  39                ADD     HL,SP
   \   00AC  4D                LD      C,L
   \   00AD  44                LD      B,H
   \   00AE  ED5B0000          LD      DE,(res_fp)
   \   00B2  CD0000            CALL    LWRD SD_FRead
   \   00B5  F1                POP     AF
    121          
    122              //定位到 string_id
    123              p = buf;
   \   00B6  210400            LD      HL,4
   \   00B9  39                ADD     HL,SP
   \   00BA  E5                PUSH    HL
   \   00BB  FDE1              POP     IY
    124              string_idtemp=string_id;
   \   00BD  DD46FE            LD      B,(IX-2)
   \   00C0  DD70C8            LD      (IX-56),B
   \   00C3            ?0016:
    125              while(string_id)
   \   00C3  AF                XOR     A
   \   00C4  DDB6FE            OR      (IX-2)
   \   00C7  284C              JR      Z,?0015
   \   00C9            ?0017:
    126              {
    127          
    128                  AddBuf=1;
   \   00C9  DD36C601          LD      (IX-58),1
   \   00CD            ?0019:
    129                  while(*p!=0)
   \   00CD  AF                XOR     A
   \   00CE  FDB600            OR      (IY+0)
   \   00D1  2807              JR      Z,?0018
   \   00D3            ?0020:
    130                  {
    131                      AddBuf++;    //找到第string_id 个0
   \   00D3  DD34C6            INC     (IX-58)
    132                      p++;
   \   00D6  FD23              INC     IY
   \   00D8  18F3              JR      ?0019
   \   00DA            ?0018:
    133                  }
    134                  string_id--;
   \   00DA  DD35FE            DEC     (IX-2)
    135                  res_entry.offset=res_entry.offset+AddBuf;
   \   00DD  210000            LD      HL,res_entry
   \   00E0  DD5EC6            LD      E,(IX-58)
   \   00E3  4F                LD      C,A
   \   00E4  51                LD      D,C
   \   00E5  47                LD      B,A
   \   00E6  CD0000            CALL    LWRD ?L_ADDASG_L03
    136              SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
   \   00E9  2A0200            LD      HL,(res_entry+2)
   \   00EC  E5                PUSH    HL
   \   00ED  2A0000            LD      HL,(res_entry)
   \   00F0  E5                PUSH    HL
   \   00F1  4F                LD      C,A
   \   00F2  ED5B0000          LD      DE,(res_fp)
   \   00F6  CD0000            CALL    LWRD SD_FSeek
   \   00F9  E1                POP     HL
   \   00FA  E1                POP     HL
    137                  SD_FRead(res_fp, buf, 50);
   \   00FB  213200            LD      HL,50
   \   00FE  E5                PUSH    HL
   \   00FF  2E06              LD      L,6
   \   0101  39                ADD     HL,SP
   \   0102  4D                LD      C,L
   \   0103  44                LD      B,H
   \   0104  ED5B0000          LD      DE,(res_fp)
   \   0108  CD0000            CALL    LWRD SD_FRead
   \   010B  F1                POP     AF
    138                  p = buf;
   \   010C  210400            LD      HL,4
   \   010F  39                ADD     HL,SP
   \   0110  E5                PUSH    HL
   \   0111  FDE1              POP     IY
   \   0113  18AE              JR      ?0016
   \   0115            ?0015:
    139          
    140              }
    141              string_id=string_idtemp;
    142              ASSERT((WORD)(p - buf) <= res_entry.length);
    143          
    144              StrLength=(BYTE)strlen(p);
   \   0115  CD0000            CALL    LWRD ?STRLEN_L11
    145                  if((x == 255)&&(string_id!=1)&&(string_id<5))    //16*16字体居中显示
   \   0118  DD46C8            LD      B,(IX-56)
   \   011B  DD70FE            LD      (IX-2),B
   \   011E  DD4608            LD      B,(IX+8)
   \   0121  04                INC     B
   \   0122  202B              JR      NZ,?0022
   \   0124  DD46FE            LD      B,(IX-2)
   \   0127  05                DEC     B
   \   0128  2825              JR      Z,?0022
   \   012A  DD7EFE            LD      A,(IX-2)
   \   012D  FE05              CP      5
   \   012F  301E              JR      NC,?0022
   \   0131            ?0024:
   \   0131            ?0023:
   \   0131            ?0021:
    146                  {
    147                      {
    148                               SetTextPos((SCR_WIDTH - (BYTE)get_large_text_width(p)) /2, y);
   \   0131  DD4E0A            LD      C,(IX+10)
   \   0134  C5                PUSH    BC
   \   0135  FDE5              PUSH    IY
   \   0137  D1                POP     DE
   \   0138  3E00              LD      A,BYTE3 get_large_text_width
   \   013A  214000            LD      HL,LWRD get_large_text_width
   \   013D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0140  5D                LD      E,L
   \   0141  1600              LD      D,0
   \   0143  21DC00            LD      HL,220
   \   0146  A7                AND     A
   \   0147  ED52              SBC     HL,DE
   \   0149  EB                EX      DE,HL
   \   014A  010200            LD      BC,2
   \   014D  182C              JR      ?0053
    149                           PutS(p, -1);
   \   014F            ?0022:
    150                      }
    151                  }
    152                  else if((string_id!=1)&&(string_id<5))    ////16*16字体非居中显示
   \   014F  DD46FE            LD      B,(IX-2)
   \   0152  05                DEC     B
   \   0153  280C              JR      Z,?0027
   \   0155  DD7EFE            LD      A,(IX-2)
   \   0158  FE05              CP      5
   \   015A  3005              JR      NC,?0027
   \   015C            ?0029:
   \   015C            ?0028:
   \   015C            ?0026:
    153                  {
    154                      SetTextPos(x, y);
   \   015C  DD4E0A            LD      C,(IX+10)
   \   015F  1828              JR      ?0052
    155                      PutS(p, -1);
    156                  }
    157                  else        //6*8字体显示
   \   0161            ?0027:
    158                  {
    159                      if(x == 255)
   \   0161  DD4608            LD      B,(IX+8)
   \   0164  04                INC     B
   \   0165  201A              JR      NZ,?0032
   \   0167            ?0031:
    160                      {
    161                          SetTextPos((SCR_WIDTH - StrLength*CHAR_WIDTH) /2, y);
   \   0167  DD4E0A            LD      C,(IX+10)
   \   016A  C5                PUSH    BC
   \   016B  60                LD      H,B
   \   016C  29                ADD     HL,HL
   \   016D  5D                LD      E,L
   \   016E  54                LD      D,H
   \   016F  29                ADD     HL,HL
   \   0170  19                ADD     HL,DE
   \   0171  EB                EX      DE,HL
   \   0172  21DC00            LD      HL,220
   \   0175  A7                AND     A
   \   0176  ED52              SBC     HL,DE
   \   0178  EB                EX      DE,HL
   \   0179  0E02              LD      C,2
   \   017B            ?0053:
   \   017B  CD0000            CALL    LWRD ?SS_DIV_L02
   \   017E  C1                POP     BC
   \   017F  180B              JR      ?0050
    162                          PutS(p, -1);
   \   0181            ?0032:
    163                      }
    164                      else if(StrLength<22)
   \   0181  7D                LD      A,L
   \   0182  FE16              CP      22
   \   0184  DD4E0A            LD      C,(IX+10)
   \   0187  300D              JR      NC,?0035
   \   0189            ?0034:
    165                      {
    166                          SetTextPos(x, y);
   \   0189            ?0052:
   \   0189  DD5E08            LD      E,(IX+8)
   \   018C            ?0050:
   \   018C  CD0000            CALL    LWRD SetTextPos
    167                          PutS(p, -1);
   \   018F  0EFF              LD      C,255
   \   0191  FDE5              PUSH    IY
   \   0193  D1                POP     DE
   \   0194  1822              JR      ?0042
    168                      }
    169                      else
   \   0196            ?0035:
    170                      {
    171                          SetTextPos(0, y);
   \   0196  1E00              LD      E,0
   \   0198  CD0000            CALL    LWRD SetTextPos
    172                          PutS(p, 21);
   \   019B  0E15              LD      C,21
   \   019D  FDE5              PUSH    IY
   \   019F  D1                POP     DE
   \   01A0  CD0000            CALL    LWRD PutS
    173                          SetTextPos(0, y+8);
   \   01A3  DD7E0A            LD      A,(IX+10)
   \   01A6  C608              ADD     A,8
   \   01A8  4F                LD      C,A
   \   01A9  1E00              LD      E,0
   \   01AB  CD0000            CALL    LWRD SetTextPos
    174                          PutS(p+21, -1);
   \   01AE  0EFF              LD      C,255
   \   01B0  211500            LD      HL,21
   \   01B3  FDE5              PUSH    IY
   \   01B5  D1                POP     DE
   \   01B6  19                ADD     HL,DE
   \   01B7  EB                EX      DE,HL
   \   01B8            ?0042:
   \   01B8  CD0000            CALL    LWRD PutS
   \   01BB            ?0036:
   \   01BB            ?0033:
   \   01BB            ?0030:
   \   01BB            ?0025:
    175                      }
    176                  }
    177          
    178              return 1;
   \   01BB  210100            LD      HL,1
    179          }
   \   01BE            ?0037:
   \   01BE  DDF9              LD      SP,IX
   \   01C0  DDE1              POP     IX
   \   01C2  FDE1              POP     IY
   \   01C4  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    180          
    181           
   \   0000                    RSEG    CONST
   \   0000            music_ext:
   \   0000  4D5033            DEFB    'MP3'
   \   0003  00                DEFB    0
   \   0004  574D41            DEFB    'WMA'
   \   0007  00                DEFB    0
   \   0008  415346            DEFB    'ASF'
   \   000B  00                DEFB    0
   \   000C  574D56            DEFB    'WMV'
   \   000F  00                DEFB    0
   \   0010  4F4747            DEFB    'OGG'
   \   0013  00                DEFB    0
   \   0014  415045            DEFB    'APE'
   \   0017  00                DEFB    0
   \   0018            voice_ext:
   \   0018  574156            DEFB    'WAV'
   \   001B  00                DEFB    0
   \   001C  414354            DEFB    'ACT'
   \   001F  00                DEFB    0
   \   0000                    RSEG    UDATA0
   \   0000            file_name:
   \   000C                    DEFS    12
   \   000C            dir_name:
   \   002A                    DEFS    30
   \   002A                    END

Errors: none
Warnings: none
Code size: 455
Constant size: 32
Static variable size: Data(42) Iram(0)

⌨️ 快捷键说明

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