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

📄 main.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:39:07 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_voice\main.c                  #
#       List file     =  d:\case_i_d913f\ap\ap_voice\list\main.lst           #
#       Object file   =  d:\case_i_d913f\ap\ap_voice\obj\main.r01            #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_voice\Obj\ -e -K    #
#                        -w -gA -s9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_voice\List\ -q -t8          #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_VOICE\main.c                  #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    main(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  Cur_Status
   \   0000                    EXTERN  DRV_ActiveDrive
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DisableDAC
   \   0000                    EXTERN  DisablePA
   \   0000                    EXTERN  EnableDAC
   \   0000                    EXTERN  FS_Backup
   \   0000                    EXTERN  FS_CD
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  FS_GetCrtTime
   \   0000                    EXTERN  FS_GetFileLen
   \   0000                    EXTERN  FS_GetName
   \   0000                    EXTERN  FS_Restore
   \   0000                    EXTERN  GetDCStatus
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  SetAsciiFont
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  dir_name
   \   0000                    PUBLIC  filelong
   \   0000                    EXTERN  fselGetErrID
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselGetPrevFile
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  fselSetMode
   \   0000                    PUBLIC  g_DiskStateFlag
   \   0000                    PUBLIC  g_bit_rate_pic
   \   0000                    PUBLIC  g_bit_rate_value
   \   0000                    PUBLIC  g_card_in_using
   \   0000                    PUBLIC  g_card_ok
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  g_file_name_next
   \   0000                    PUBLIC  g_file_name_time
   \   0000                    PUBLIC  g_file_no
   \   0000                    PUBLIC  g_file_total
   \   0000                    PUBLIC  g_first_start
   \   0000                    PUBLIC  g_from_browser
   \   0000                    PUBLIC  g_play_format
   \   0000                    PUBLIC  g_play_status
   \   0000                    PUBLIC  g_voice_type
   \   0000                    PUBLIC  g_voice_vars
   \   0000                    EXTERN  itoa_2
   \   0000                    PUBLIC  list
   \   0000                    PUBLIC  main
   \   0000                    PUBLIC  make_dirname
   \   0000                    PUBLIC  menu
   \   0000                    PUBLIC  numsave
   \   0000                    PUBLIC  parse_file
   \   0000                    PUBLIC  read_var
   \   0000                    PUBLIC  repeat_string
   \   0000                    EXTERN  res_fp
   \   0000                    PUBLIC  sel_next
   \   0000                    PUBLIC  sel_prev
   \   0000                    PUBLIC  show_error
   \   0000                    PUBLIC  show_loop
   \   0000                    PUBLIC  show_speed
   \   0000                    EXTERN  show_stop
   \   0000                    PUBLIC  show_volume
   \   0000                    PUBLIC  slider
   \   0000                    PUBLIC  speed_callback
   \   0000                    PUBLIC  time_cmp
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ui_err_msg
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ui_show_a
   \   0000                    PUBLIC  ui_show_h
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ui_slider
   \   0000                    EXTERN  unitochar
   \   0000                    EXTERN  voiceSendCommand
   \   0000                    EXTERN  vol_callback
   \   0000                    EXTERN  wavpSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?US_DIV_L02
   \   0000                    EXTERN  ?US_MOD_L02
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCPY_L11
   \   0000                    EXTERN  ?STRLEN_L11
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    EXTERN  ?MEMCMP_L11
   \   0000                    EXTERN  ?STRCHR_L11
   \   0000                    RSEG    CODE
   \   0000            make_dirname:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        voice player main program.
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: main.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include "basal.h"
     14          #include "enhanced.h"
     15          #include "ap_common.h"
     16          #include "ap_voice.h"
     17          
     18          //const
     19          
     20          const WORD repeat_string[7]={VLOOPM1, VLOOPM2, VLOOPM3, VLOOPM4, VLOOPM5, VLOOPM6, VLOOPM7};
     21          
     22          
     23          //ap使用的系统变量
     24          comval_t g_comval;    //系统变量,ap不能更改
     25          
     26          //通用系统变量
     27          voice_vars_t g_voice_vars;
     28          
     29          //全局变量
     30          BYTE g_DiskStateFlag = 0;   //Flash 磁盘错误标志
     31          //BYTE charge_flag;         //充电消息
     32          BYTE g_voice_type;        //wav:1  act: 2
     33          wav_play_status_t g_play_status;    //current file status
     34          int numsave;
     35          //file name length: 32+2, date and time: 2003/12/20 12:59(16+1) + 2 spaces
     36          char g_file_name_time[32+2+20];
     37          char g_file_name_next[17];
     38          WORD g_file_no;        //当前文件序号
     39          WORD g_file_total;    //总文件数
     40          BOOL g_card_ok;        //储存卡是否可用
     41          BOOL g_card_in_using;    //储存卡是否在使用
     42          WORD g_bit_rate_pic;
     43          int g_bit_rate_value;   //不能为byte型,否则会溢出
     44          BOOL g_first_start;
     45          long   filelong;
     46          //控件变量
     47          function_menu_t menu;
     48          pop_up_list_t list;
     49          slider_t slider;
     50          audio_format_t g_play_format;
     51          bool g_from_browser = FALSE;
     52          
     53          void make_dirname(void)
     54          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  21E0FF            LD      HL,65504
   \   0007  39                ADD     HL,SP
   \   0008  F9                LD      SP,HL
     55              int  result;
     56              char Backbuf[32];
     57              if(g_voice_vars.location.path[0]==':')
   \   0009  3A3400            LD      A,(g_voice_vars+20)
   \   000C  FE3A              CP      58
   \   000E  200B              JR      NZ,?0003
   \   0010            ?0002:
     58                  {
     59                      strcpy(dir_name,"ROOT");
   \   0010  110000            LD      DE,?0004
   \   0013  210000            LD      HL,dir_name
   \   0016  CD0000            CALL    LWRD ?STRCPY_L11
     60                  }
     61              else
   \   0019  1864              JR      ?0005
   \   001B            ?0003:
     62                  {
     63          
     64                  FS_Backup(Backbuf,FS_BACKUP_DIRINFO,0);//目录项备份
   \   001B  210000            LD      HL,0
   \   001E  E5                PUSH    HL
   \   001F  0E02              LD      C,2
   \   0021  23                INC     HL
   \   0022  23                INC     HL
   \   0023  39                ADD     HL,SP
   \   0024  EB                EX      DE,HL
   \   0025  CD0000            CALL    LWRD FS_Backup
   \   0028  E1                POP     HL
     65                  dir_name[0] = ':';
   \   0029  3E3A              LD      A,58
   \   002B  320000            LD      (dir_name),A
     66                 FS_CD("\\");
   \   002E  110500            LD      DE,?0006
   \   0031  CD0000            CALL    LWRD FS_CD
     67                  memcpy(dir_name, g_voice_vars.location.path, 12);
   \   0034  010C00            LD      BC,12
   \   0037  110000            LD      DE,dir_name
   \   003A  213400            LD      HL,g_voice_vars+20
   \   003D  EDB0              LDIR
     68                  result = FS_GetName(dir_name, 14 ); //取出长名
   \   003F  0E0E              LD      C,14
   \   0041  110000            LD      DE,dir_name
   \   0044  CD0000            CALL    LWRD FS_GetName
   \   0047  0600              LD      B,0
     69                      if (result != 0)
   \   0049  B7                OR      A
   \   004A  2815              JR      Z,?0008
   \   004C            ?0007:
     70                      {
     71                          unitochar(dir_name, sizeof(dir_name), g_comval.langid);
   \   004C  210C00            LD      HL,g_comval+12
   \   004F  4E                LD      C,(HL)
   \   0050  C5                PUSH    BC
   \   0051  0E1E              LD      C,30
   \   0053  110000            LD      DE,dir_name
   \   0056  3E00              LD      A,BYTE3 unitochar
   \   0058  210000            LD      HL,LWRD unitochar
   \   005B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   005E  F1                POP     AF
     72                      }
     73                      else
   \   005F  1810              JR      ?0009
   \   0061            ?0008:
     74                      {
     75                          memcpy(dir_name, g_voice_vars.location.path, 12);
   \   0061  0E0C              LD      C,12
   \   0063  110000            LD      DE,dir_name
   \   0066  213400            LD      HL,g_voice_vars+20
   \   0069  EDB0              LDIR
     76                          dir_name[8]=0;
   \   006B  320800            LD      (dir_name+8),A
     77                          dir_name[9]=0;
   \   006E  320900            LD      (dir_name+9),A
   \   0071            ?0009:
     78                      }
     79          
     80                     FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
   \   0071  210000            LD      HL,0
   \   0074  E5                PUSH    HL
   \   0075  0E02              LD      C,2
   \   0077  23                INC     HL
   \   0078  23                INC     HL
   \   0079  39                ADD     HL,SP
   \   007A  EB                EX      DE,HL
   \   007B  CD0000            CALL    LWRD FS_Restore
   \   007E  E1                POP     HL
   \   007F            ?0005:
     81          
     82               }
     83          
     84          
     85          }
   \   007F  212000            LD      HL,32
   \   0082            ?0137:

⌨️ 快捷键说明

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