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

📄 main.lst

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

   \   0000                    NAME    main(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    PUBLIC  ActiveDriveOK
   \   0000                    EXTERN  AmvDecSetCMD
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ClearScreen
   \   0000                    PUBLIC  Current_time
   \   0000                    EXTERN  DRV_ActiveDrive
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DealErrCase
   \   0000                    EXTERN  DisableDAC
   \   0000                    EXTERN  DisablePA
   \   0000                    EXTERN  InitFileSelector
   \   0000                    PUBLIC  PlayStatus
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    PUBLIC  Total_time
   \   0000                    PUBLIC  Totaltime
   \   0000                    EXTERN  VMWrite
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselInit
   \   0000                    PUBLIC  g_2HZFlag
   \   0000                    PUBLIC  g_2HZ_CNT
   \   0000                    PUBLIC  g_BatteryType
   \   0000                    PUBLIC  g_DiskStateFlag
   \   0000                    PUBLIC  g_FadeInStatusFlag
   \   0000                    PUBLIC  g_FadeInStepFlag
   \   0000                    PUBLIC  g_PAOpenFlag
   \   0000                    PUBLIC  g_Resfp_Sav
   \   0000                    PUBLIC  g_TagInfoBuf
   \   0000                    PUBLIC  g_TagInfoBuf1
   \   0000                    PUBLIC  g_amv_vars
   \   0000                    PUBLIC  g_changevolume
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  g_currentMusicType
   \   0000                    PUBLIC  g_from_browser
   \   0000                    PUBLIC  g_introCNT
   \   0000                    PUBLIC  g_introCntMode
   \   0000                    PUBLIC  g_langid
   \   0000                    PUBLIC  g_menu_active
   \   0000                    PUBLIC  g_musicamount
   \   0000                    PUBLIC  g_musicsequence
   \   0000                    PUBLIC  g_result
   \   0000                    PUBLIC  main
   \   0000                    PUBLIC  menu
   \   0000                    PUBLIC  need_draw
   \   0000                    EXTERN  openDAC
   \   0000                    EXTERN  read_var
   \   0000                    PUBLIC  slider
   \   0000                    PUBLIC  temp_buffer
   \   0000                    EXTERN  ui_show_a
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ui_stop
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            main:
      1          /*
      2          *******************************************************************************
      3          *                        SDK30F_D1
      4          *                     music player main sub
      5          *
      6          *                (c) Copyright 2002, Actions Co,Ld.
      7          *                        All Right Reserved
      8          *
      9          * File: main.c
     10          * By  : rcmai
     11          * Version: 1> v1.00     first version     2004-3-19 8:28
     12          *******************************************************************************
     13          * $Id: main.c,v 1.2 2006/07/14 06:43:08 tangwh Exp $
     14          *******************************************************************************
     15          */
     16          #include "ap_amv.h"
     17          
     18          comval_t g_comval; //系统变量,ap不能更改
     19          BYTE g_langid ;//记录系统语言
     20          BYTE g_BatteryType;//记录电池类型
     21          bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回
     22          amv_vars_t g_amv_vars;//本AP的公共变量
     23          char g_TagInfoBuf[66];//用于放TAG信息的BUF
     24          char g_TagInfoBuf1[21];    //下一首信息
     25          char temp_buffer[9];
     26          bool ActiveDriveOK;//磁盘可用标志
     27          BYTE g_DiskStateFlag = 0;
     28          time_t Totaltime;
     29          
     30          BYTE g_introCNT;
     31          bool g_introCntMode;
     32          
     33          bool need_draw;
     34          
     35          function_menu_t menu;
     36          slider_t slider;
     37          Play_status_t PlayStatus = StopSta;        //停止状态
     38          
     39          Music_type_t g_currentMusicType;//标志当前音乐的类型(mp3/wma/asf/wmv)
     40          BYTE g_musicamount;//当前目录歌曲总数
     41          BYTE g_musicsequence;//当前歌曲序号
     42          
     43          //BYTE testTimer_Sav;//test
     44          SD_FILE* g_Resfp_Sav;
     45          
     46          WORD g_2HZ_CNT;//2hz 中断计数器(0.5秒加一)
     47          bool g_2HZFlag = TRUE;//2HZ中断到标志
     48          
     49          char g_FadeInStatusFlag = 1;//处在淡入状标志 true 表示在淡入中。
     50          bool g_FadeInStepFlag = TRUE;//
     51          bool g_PAOpenFlag = FALSE; //标志PA的开关状态
     52          //bool g_CardInFlag = FALSE;//卡是否插上,为真时表示插上,可用
     53          
     54          //---如下两变量只用作临时变量,主要目的是节省指令及
     55          //    省代码空间,因为局部变量较费代码及指令时间
     56          int g_result;//表示16位变量
     57          int Total_time;
     58          int Current_time;
     59          BYTE g_changevolume=0;
     60          bool g_from_browser = FALSE;
     61          
     62          int main( int param )
     63          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
   \   0003  D5                PUSH    DE
   \   0004  F5                PUSH    AF
   \   0005  F5                PUSH    AF
     64                  int mainresult;
     65                  int result;
     66                  BYTE status;
     67                  if(param)
   \   0006  7B                LD      A,E
   \   0007  B2                OR      D
   \   0008  2805              JR      Z,?0003
   \   000A            ?0002:
     68                  {
     69                      g_from_browser = TRUE;
   \   000A  3E01              LD      A,1
   \   000C  320700            LD      (g_from_browser),A
   \   000F            ?0003:
     70                  }
     71                  g_DiskStateFlag = 0;         
   \   000F  AF                XOR     A
   \   0010  320000            LD      (g_DiskStateFlag),A
     72                  ///-output8(0x2f,input8(0x2f)&0xfb);       //CE3 enable
     73          
     74                  //-------安装ud驱动------------
     75                  g_Resfp_Sav = ResOpen("ui30.res");
   \   0013  110000            LD      DE,?0004
   \   0016  3E00              LD      A,BYTE3 ResOpen
   \   0018  210000            LD      HL,LWRD ResOpen
   \   001B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   001E  22DA00            LD      (g_Resfp_Sav),HL
     76          
     77                  DRV_ActiveUD(0,MODE_SLOW);
   \   0021  0E01              LD      C,1
   \   0023  1E00              LD      E,0
   \   0025  CD0000            CALL    LWRD DRV_ActiveUD
     78                  /* 读入公共变量 */
     79                  read_var();
   \   0028  3E00              LD      A,BYTE3 read_var
   \   002A  210000            LD      HL,LWRD read_var
   \   002D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     80          
     81                  ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
   \   0030  0E01              LD      C,1
   \   0032  1E43              LD      E,67
   \   0034  CD0000            CALL    LWRD DRV_ActiveDrive
   \   0037  32BB00            LD      (ActiveDriveOK),A
     82                  if (!ActiveDriveOK)
   \   003A  B7                OR      A
   \   003B  202A              JR      NZ,?0006
   \   003D            ?0005:
     83                  {
     84                      ui_show_msg (MREADERR, MREADERR, g_langid);        //temp ybfu
   \   003D  ED4B2000          LD      BC,(g_langid)
   \   0041  47                LD      B,A
   \   0042  C5                PUSH    BC
   \   0043  01FC01            LD      BC,508
   \   0046  59                LD      E,C
   \   0047  50                LD      D,B
   \   0048  3E00              LD      A,BYTE3 ui_show_msg
   \   004A  210000            LD      HL,LWRD ui_show_msg
   \   004D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0050  F1                POP     AF
   \   0051            ?0008:
     85                      while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   0051  CD0000            CALL    LWRD ap_get_message
   \   0054  B7                OR      A
   \   0055  20FA              JR      NZ,?0008
   \   0057            ?0009:
   \   0057            ?0007:
     86                      ap_sleep(4);
   \   0057  110400            LD      DE,4
   \   005A  3E00              LD      A,BYTE3 ap_sleep
   \   005C  210000            LD      HL,LWRD ap_sleep
   \   005F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     87                      g_amv_vars.location.disk='H';          //磁盘出错 从卡上读文件  zxs  add
   \   0062  3E48              LD      A,72
   \   0064  322800            LD      (g_amv_vars+5),A
   \   0067            ?0006:
     88                  }
     89                  g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
   \   0067  210000            LD      HL,g_DiskStateFlag
   \   006A  CBFE              SET     7,(HL)
     90          
     91                  if (DRV_DetectUD(1) == 0x20)
   \   006C  1E01              LD      E,1
   \   006E  CD0000            CALL    LWRD DRV_DetectUD
   \   0071  FE20              CP      32
   \   0073  204B              JR      NZ,?0011
   \   0075            ?0010:
     92                  { //有卡
     93                      DRV_ActiveUD(1,MODE_SLOW);
   \   0075  0E01              LD      C,1
   \   0077  59                LD      E,C
   \   0078  CD0000            CALL    LWRD DRV_ActiveUD
     94                      if (!DRV_ActiveDrive('H', MODE_SLOW))
   \   007B  0E01              LD      C,1
   \   007D  1E48              LD      E,72
   \   007F  CD0000            CALL    LWRD DRV_ActiveDrive
   \   0082  B7                OR      A
   \   0083  210000            LD      HL,g_DiskStateFlag
   \   0086  2034              JR      NZ,?0013
   \   0088            ?0012:
     95                      {
     96                          g_DiskStateFlag=g_DiskStateFlag&ClrCardOKFlag_def;
   \   0088  CB9E              RES     3,(HL)
     97                          ui_show_msg (CREADERR, CREADERR, g_langid);        //temp ybfu
   \   008A  ED4B2000          LD      BC,(g_langid)
   \   008E  47                LD      B,A
   \   008F  C5                PUSH    BC
   \   0090  017602            LD      BC,630
   \   0093  59                LD      E,C
   \   0094  50                LD      D,B
   \   0095  3E00              LD      A,BYTE3 ui_show_msg
   \   0097  210000            LD      HL,LWRD ui_show_msg
   \   009A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   009D  F1                POP     AF
   \   009E            ?0015:
     98                          while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   009E  CD0000            CALL    LWRD ap_get_message
   \   00A1  B7                OR      A
   \   00A2  20FA              JR      NZ,?0015
   \   00A4            ?0016:
   \   00A4            ?0014:
     99                          ap_sleep(4);
   \   00A4  110400            LD      DE,4
   \   00A7  3E00              LD      A,BYTE3 ap_sleep
   \   00A9  210000            LD      HL,LWRD ap_sleep
   \   00AC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    100                          g_amv_vars.location.disk='C';      //卡出错从Flash磁盘读文件

⌨️ 快捷键说明

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