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

📄 sub_function2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:59:07 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_amv\sub_function2.c            #
#       List file     =  d:\case_i_d90f\ap\ap_amv\list\sub_function2.lst     #
#       Object file   =  d:\case_i_d90f\ap\ap_amv\obj\sub_function2.r01      #
#       ASM file      =  d:\case_i_d90f\ap\ap_amv\list\sub_function2.s01     #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_amv\Obj\ -e -K -w    #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT         #
#                        -LD:\case_i_d90f\ap\ap_amv\List\ -q -t8             #
#                        -AD:\case_i_d90f\ap\ap_amv\List\                    #
#                        -ND:\case_i_d90f\ap\ap_amv\List\ -X                 #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\ap\ap_amv\sub_function2.c            #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sub_function2(17)
   \   0000                    RSEG    APC_SUB_FUN(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    APD_SUB_FUN(0)
   \   0000                    PUBLIC  CheckMusicType
   \   0000                    PUBLIC  ClearTimePara
   \   0000                    PUBLIC  DUMP_TEST
   \   0000                    PUBLIC  DealErrCase
   \   0000                    EXTERN  EnableDAC
   \   0000                    EXTERN  EnablePA
   \   0000                    EXTERN  FS_Backup
   \   0000                    EXTERN  FS_CD
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  FS_FRead
   \   0000                    EXTERN  FS_FSeek
   \   0000                    EXTERN  FS_GetName
   \   0000                    EXTERN  FS_Restore
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    PUBLIC  GetInformation
   \   0000                    PUBLIC  GetInformation1
   \   0000                    PUBLIC  MY_DUMP
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  SetPAVolume
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  Totaltime
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  dir_name
   \   0000                    PUBLIC  fp
   \   0000                    EXTERN  fselGetErrID
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  g_BatteryType
   \   0000                    EXTERN  g_PAOpenFlag
   \   0000                    EXTERN  g_Resfp_Sav
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_amv_vars
   \   0000                    EXTERN  g_comval
   \   0000                    PUBLIC  g_fileheadinfo
   \   0000                    EXTERN  g_langid
   \   0000                    EXTERN  itoa4
   \   0000                    PUBLIC  make_dirname
   \   0000                    PUBLIC  openDAC
   \   0000                    PUBLIC  openPA
   \   0000                    PUBLIC  read_var
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  unitochar
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCPY_L11
   \   0000                    RSEG    APC_SUB_FUN
   \   0000            MY_DUMP:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        This program demostrates how to build an AP
      5          *
      6          *        (c) Copyright Actions Co,Ld.
      7          *
      8          *  $Id: sub_function2.c,v 1.1.1.1 2006/05/22 03:24:02 selina Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_amv.h"
     12          
     13          #pragma codeseg(APC_SUB_FUN)
     14          
     15          #pragma memory=constseg(APD_SUB_FUN)
     16          char g_fileheadinfo[512]; //get file first sector data
     17          #pragma memory=default
     18          
     19          extern SD_FILE* g_Resfp_Sav;
     20          extern bool ActiveDriveOK;
     21          handle fp;
     22          
     23          extern byte fselDirNo[8];
     24          extern word fselFileNo;
     25          
     26          void MY_DUMP(char *string, int value)
     27          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
   \   0003  F5                PUSH    AF
   \   0004  F5                PUSH    AF
     28              char dump_buf[6];
     29                  dump_buf[0] = ',';
   \   0005  210000            LD      HL,0
   \   0008  39                ADD     HL,SP
   \   0009  362C              LD      (HL),44
     30                  SetTextPos(0, 16);
   \   000B  0E10              LD      C,16
   \   000D  1E00              LD      E,0
   \   000F  CD0000            CALL    LWRD SetTextPos
     31                  PutS((string), -1);
   \   0012  0EFF              LD      C,255
   \   0014  210600            LD      HL,6
   \   0017  39                ADD     HL,SP
   \   0018  5E                LD      E,(HL)
   \   0019  23                INC     HL
   \   001A  56                LD      D,(HL)
   \   001B  CD0000            CALL    LWRD PutS
     32                  itoa4((value), &dump_buf[1]);
   \   001E  210000            LD      HL,0
   \   0021  39                ADD     HL,SP
   \   0022  010100            LD      BC,1
   \   0025  09                ADD     HL,BC
   \   0026  4D                LD      C,L
   \   0027  44                LD      B,H
   \   0028  210800            LD      HL,8
   \   002B  39                ADD     HL,SP
   \   002C  5E                LD      E,(HL)
   \   002D  23                INC     HL
   \   002E  56                LD      D,(HL)
   \   002F  3E00              LD      A,BYTE3 itoa4
   \   0031  210000            LD      HL,LWRD itoa4
   \   0034  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     33                  dump_buf[5] = '>';
   \   0037  210500            LD      HL,5
   \   003A  39                ADD     HL,SP
   \   003B  363E              LD      (HL),62
     34          
     35                  PutS(dump_buf, 6);
   \   003D  0E06              LD      C,6
   \   003F  210000            LD      HL,0
   \   0042  39                ADD     HL,SP
   \   0043  EB                EX      DE,HL
   \   0044  CD0000            CALL    LWRD PutS
     36                  UpdateScreen(NULL);
   \   0047  110000            LD      DE,0
   \   004A  CD0000            CALL    LWRD UpdateScreen
   \   004D            ?0003:
     37                  while( ap_get_message() != (AP_KEY_PLAY| AP_KEY_UP)) {;}
   \   004D  CD0000            CALL    LWRD ap_get_message
   \   0050  FE21              CP      33
   \   0052  20F9              JR      NZ,?0003
   \   0054            ?0004:
     38          }
   \   0054            ?0002:
   \   0054  210A00            LD      HL,10
   \   0057  39                ADD     HL,SP
   \   0058  F9                LD      SP,HL
   \   0059  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   005C            DUMP_TEST:
     39          
     40          void DUMP_TEST(char *string)
     41          {
   \   005C  C5                PUSH    BC
   \   005D  DDE5              PUSH    IX
   \   005F  21F4FF            LD      HL,65524
   \   0062  39                ADD     HL,SP
   \   0063  F9                LD      SP,HL
   \   0064  D5                PUSH    DE
   \   0065  DDE1              POP     IX
     42              char str[9];
     43              char i;
     44              for(i = 0; i<8;i++)
   \   0067  3600              LD      (HL),0
   \   0069            ?0006:
   \   0069  7E                LD      A,(HL)
   \   006A  FE08              CP      8
   \   006C  3016              JR      NC,?0005
   \   006E            ?0007:
     45              {
     46                  str[i] = string[i] + 0x30;
   \   006E  4F                LD      C,A
   \   006F  0600              LD      B,0
   \   0071  DDE5              PUSH    IX
   \   0073  E1                POP     HL
   \   0074  09                ADD     HL,BC
   \   0075  7E                LD      A,(HL)
   \   0076  C630              ADD     A,48
   \   0078  210200            LD      HL,2
   \   007B  39                ADD     HL,SP
   \   007C  09                ADD     HL,BC
   \   007D  77                LD      (HL),A
   \   007E  68                LD      L,B
   \   007F  60                LD      H,B
   \   0080  39                ADD     HL,SP
   \   0081  34                INC     (HL)
   \   0082  18E5              JR      ?0006
   \   0084            ?0005:
     47                  }
     48                  str[8] = 0;
   \   0084  210A00            LD      HL,10
   \   0087  39                ADD     HL,SP
   \   0088  3600              LD      (HL),0
     49                  SetTextPos(0, 16);
   \   008A  0E10              LD      C,16
   \   008C  1E00              LD      E,0
   \   008E  CD0000            CALL    LWRD SetTextPos
     50                  PutS((str), -1);
   \   0091  0EFF              LD      C,255
   \   0093  210200            LD      HL,2
   \   0096  39                ADD     HL,SP
   \   0097  EB                EX      DE,HL
   \   0098  CD0000            CALL    LWRD PutS
     51                  UpdateScreen(NULL);
   \   009B  110000            LD      DE,0
   \   009E  CD0000            CALL    LWRD UpdateScreen
   \   00A1            ?0010:
     52                  while( ap_get_message() != (AP_KEY_PLAY| AP_KEY_UP)) {;}
   \   00A1  CD0000            CALL    LWRD ap_get_message
   \   00A4  FE21              CP      33
   \   00A6  20F9              JR      NZ,?0010
   \   00A8            ?0011:
     53          }
   \   00A8            ?0009:
   \   00A8  210C00            LD      HL,12
   \   00AB  39                ADD     HL,SP
   \   00AC  F9                LD      SP,HL
   \   00AD  DDE1              POP     IX
   \   00AF  C1                POP     BC
   \   00B0  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00B3            CheckMusicType:
     54          /*
     55          ********************************************************************************
     56          *             Music_type_t CheckMusicType(char *filename)
     57          *
     58          * Description : 检测当前是哪种类型的MUSIC文件
     59          *
     60          * Arguments   : char *filename  文件名
     61          *
     62          * Returns     : Music_type_t 文件类型
     63          *
     64          * Notes       :
     65          *
     66          ********************************************************************************
     67          */
     68          Music_type_t CheckMusicType( char * filename )
     69          {
   \   00B3  D5                PUSH    DE
     70          
     71          }
   \   00B4  E1                POP     HL
   \   00B5  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00B8            make_dirname:
     72          
     73          /*
     74          ********************************************************************************
     75          *             void make_dirname(void)
     76          *
     77          * Description : 读系统变量和ap局部变量
     78          *
     79          * Arguments   : void
     80          *
     81          * Returns     : void
     82          *
     83          * Notes       :
     84          *
     85          ********************************************************************************
     86          */
     87          void make_dirname(void)
     88          {
   \   00B8  C5                PUSH    BC
   \   00B9  D5                PUSH    DE
   \   00BA  DDE5              PUSH    IX
   \   00BC  21E0FF            LD      HL,65504
   \   00BF  39                ADD     HL,SP
   \   00C0  F9                LD      SP,HL
     89              int result;
     90              char Backbuf[32];
     91              fselGetLocation(&g_amv_vars.location);
   \   00C1  110500            LD      DE,g_amv_vars+5
   \   00C4  3E00              LD      A,BYTE3 fselGetLocation
   \   00C6  210000            LD      HL,LWRD fselGetLocation
   \   00C9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     92              if(g_amv_vars.location.path[0]==':')
   \   00CC  3A1300            LD      A,(g_amv_vars+19)
   \   00CF  FE3A              CP      58
   \   00D1  200B              JR      NZ,?0013
   \   00D3            ?0012:
     93                  {
     94                      strcpy(dir_name,"ROOT");
   \   00D3  110000            LD      DE,?0014
   \   00D6  210000            LD      HL,dir_name
   \   00D9  CD0000            CALL    LWRD ?STRCPY_L11
     95                  }
     96              else
   \   00DC  1864              JR      ?0015
   \   00DE            ?0013:
     97                  {
     98          
     99                  FS_Backup(Backbuf,FS_BACKUP_DIRINFO,0);//目录项备份
   \   00DE  210000            LD      HL,0
   \   00E1  E5                PUSH    HL
   \   00E2  0E02              LD      C,2
   \   00E4  23                INC     HL
   \   00E5  23                INC     HL
   \   00E6  39                ADD     HL,SP
   \   00E7  EB                EX      DE,HL
   \   00E8  CD0000            CALL    LWRD FS_Backup
   \   00EB  E1                POP     HL
    100          
    101                 dir_name[0] = ':';
   \   00EC  3E3A              LD      A,58
   \   00EE  320000            LD      (dir_name),A
    102                      FS_CD(dir_name);
   \   00F1  110000            LD      DE,dir_name
   \   00F4  CD0000            CALL    LWRD FS_CD
    103                  memcpy(dir_name, g_amv_vars.location.path, 12);
   \   00F7  010C00            LD      BC,12
   \   00FA  110000            LD      DE,dir_name
   \   00FD  211300            LD      HL,g_amv_vars+19
   \   0100  EDB0              LDIR
    104                      result = FS_GetName(dir_name, 14); //取出长名
   \   0102  0E0E              LD      C,14
   \   0104  110000            LD      DE,dir_name
   \   0107  CD0000            CALL    LWRD FS_GetName
   \   010A  0600              LD      B,0
    105                      if (result != 0)
   \   010C  B7                OR      A
   \   010D  2815              JR      Z,?0017
   \   010F            ?0016:
    106                      {
    107                          unitochar(dir_name, sizeof(dir_name), g_langid);

⌨️ 快捷键说明

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