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

📄 sub_function3.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:59:15 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_amv\sub_function3.c            #
#       List file     =  d:\case_i_d90f\ap\ap_amv\list\sub_function3.lst     #
#       Object file   =  d:\case_i_d90f\ap\ap_amv\obj\sub_function3.r01      #
#       ASM file      =  d:\case_i_d90f\ap\ap_amv\list\sub_function3.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_function3.c            #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sub_function3(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ClearTimePara
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    PUBLIC  DisplayErrInfor
   \   0000                    PUBLIC  InitFileSelector
   \   0000                    PUBLIC  StartFileSelector
   \   0000                    PUBLIC  UpdateFileSelector
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  fselGetErrID
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselInit
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  g_DiskStateFlag
   \   0000                    EXTERN  g_amv_vars
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            DisplayErrInfor:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        A short description of this file
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  #Id#
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include  "enhanced.h"
     14          #include "ap_common.h"
     15          #include  "display.h"
     16          #include "ap_amv.h"
     17          //extern comval_t g_comval;
     18          //extern viewpic_vars_t g_amv_vars;
     19          extern BYTE g_DiskStateFlag;
     20          int StartFileSelector(void);
     21          /******************************************************************************
     22          ** 名字: 显示输入 id 的资源内容
     23          ** 接口: void DisplayErrInfor(int id)
     24          ** 描述:
     25          ** 输入参数: int id:要显示的资源号
     26          ** 输出参数: void
     27          ** 使用说明:
     28          ********************************************************************************/
     29          void DisplayErrInfor(int id)
     30          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
     31          
     32              ui_show_msg(id,id,g_comval.langid);
   \   0003  ED4B0C00          LD      BC,(g_comval+12)
   \   0007  0600              LD      B,0
   \   0009  C5                PUSH    BC
   \   000A  4B                LD      C,E
   \   000B  42                LD      B,D
   \   000C  3E00              LD      A,BYTE3 ui_show_msg
   \   000E  210000            LD      HL,LWRD ui_show_msg
   \   0011  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0014  F1                POP     AF
   \   0015            ?0003:
     33          
     34              while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   0015  CD0000            CALL    LWRD ap_get_message
   \   0018  B7                OR      A
   \   0019  20FA              JR      NZ,?0003
   \   001B            ?0004:
   \   001B            ?0002:
     35              ap_sleep(4);
   \   001B  110400            LD      DE,4
   \   001E  3E00              LD      A,BYTE3 ap_sleep
   \   0020  210000            LD      HL,LWRD ap_sleep
   \   0023  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     36          }
   \   0026  DDE1              POP     IX
   \   0028  C1                POP     BC
   \   0029  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   002C            InitFileSelector:
     37          
     38          
     39          
     40          /******************************************************************************
     41          ** 名字:  文件选择器初始化及报错显示
     42          ** 接口:  int InitFileSelector(void)
     43          ** 描述:  把文件选择器初始化到有效的盘上,如找不到,则报错退出
     44          ** 输入参数: void
     45          ** 输出参数: 0: 没有有效的盘或盘上无文件,初始化失败,要求退出AP
     46                       1: 已完成初始化文件选择器动作
     47          ** 使用说明:
     48          ********************************************************************************/
     49          int InitFileSelector(void)
     50          {
   \   002C  C5                PUSH    BC
   \   002D  D5                PUSH    DE
   \   002E  F5                PUSH    AF
     51              int result;
     52          
     53              if (g_amv_vars.location.disk == 'H')
   \   002F  3A0500            LD      A,(g_amv_vars+5)
   \   0032  FE48              CP      72
   \   0034  2065              JR      NZ,?0006
   \   0036            ?0005:
     54              {
     55                  //检测 sd 卡是否存在
     56                  if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0))
   \   0036  1E01              LD      E,1
   \   0038  CD0000            CALL    LWRD DRV_DetectUD
   \   003B  FE20              CP      32
   \   003D  2025              JR      NZ,?0008
   \   003F  3A0000            LD      A,(g_DiskStateFlag)
   \   0042  CB5F              BIT     3,A
   \   0044  281E              JR      Z,?0008
   \   0046            ?0010:
   \   0046            ?0009:
   \   0046            ?0007:
     57                  {//有卡
     58                      if (FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR, 'H'))
   \   0046  0E48              LD      C,72
   \   0048  C5                PUSH    BC
   \   0049  0E00              LD      C,0
   \   004B  C5                PUSH    BC
   \   004C  CD0A01            CALL    LWRD ?0195
   \   004F  F1                POP     AF
   \   0050  F1                POP     AF
   \   0051  2C                INC     L
   \   0052  2D                DEC     L
   \   0053  C2EC00            JP      NZ,?0128
   \   0056            ?0011:
     59                      {
     60                          return 1;
     61                      }
   \   0056            ?0012:
     62          
     63                      if (FSELGetErrID() == 0)
   \   0056  CD1401            CALL    LWRD ?0196
   \   0059  2C                INC     L
   \   005A  2D                DEC     L
   \   005B  CA0101            JP      Z,?0033
   \   005E            ?0013:
     64                      {
     65                          return 0;//非法,
     66                      }
   \   005E            ?0014:
     67                      DisplayErrInfor(CFILEOUT);//显示卡无文件
   \   005E  119301            LD      DE,403
   \   0061  CD1F01            CALL    LWRD ?0197
   \   0064            ?0008:
     68                  }
     69          
     70                  g_amv_vars.location.disk = 'C';
   \   0064  3E43              LD      A,67
   \   0066  320500            LD      (g_amv_vars+5),A
     71                  if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
   \   0069  3A0000            LD      A,(g_DiskStateFlag)
   \   006C  CB7F              BIT     7,A
   \   006E  CA0101            JP      Z,?0033
   \   0071            ?0015:
     72                  {
     73                      return 0;
     74                  }
   \   0071            ?0016:
     75          
     76                  if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   0071  CB77              BIT     6,A
   \   0073  2806              JR      Z,?0018
   \   0075            ?0017:
     77                  {
     78                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   0075  119201            LD      DE,402
   \   0078  C3FE00            JP      LWRD ?0129
     79                      return 0;
     80                  }
   \   007B            ?0018:
     81          
     82                  if (FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'C'))
   \   007B  0E43              LD      C,67
   \   007D  C5                PUSH    BC
   \   007E  0E00              LD      C,0
   \   0080  C5                PUSH    BC
   \   0081  CD0A01            CALL    LWRD ?0195
   \   0084  F1                POP     AF
   \   0085  F1                POP     AF
   \   0086  2C                INC     L
   \   0087  2D                DEC     L
   \   0088  2062              JR      NZ,?0128
   \   008A            ?0019:
     83                  {
     84                      return 1;
     85                  }
   \   008A            ?0020:
     86          
     87                  if (FSELGetErrID() != 0)
   \   008A  CD1401            CALL    LWRD ?0196
   \   008D  2C                INC     L
   \   008E  2D                DEC     L
   \   008F  2870              JR      Z,?0033
   \   0091            ?0021:
     88                  {
     89                      DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   0091  CD1C01            CALL    LWRD ?0198
     90                      g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
   \   0094  210000            LD      HL,g_DiskStateFlag
   \   0097  CBF6              SET     6,(HL)
     91                      return 0;//要退出 ap
   \   0099  1866              JR      ?0033
     92                  }
   \   009B            ?0022:
     93                  return 0;
     94          
     95              }
   \   009B            ?0006:
     96          
     97              else //g_amv_vars.location.disk == 'C' 或其他
     98              {
     99                  if ((g_DiskStateFlag & SetDiskOKFlag_def) != 0)
   \   009B  3A0000            LD      A,(g_DiskStateFlag)
   \   009E  CB7F              BIT     7,A
   \   00A0  2827              JR      Z,?0031
   \   00A2            ?0023:
    100                  {
    101                      if ((g_DiskStateFlag & SetDiskNoFile_def) != 0)
   \   00A2  CB77              BIT     6,A
   \   00A4  2805              JR      Z,?0026
   \   00A6            ?0025:
    102                      {
    103                          DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   00A6  CD1C01            CALL    LWRD ?0198
    104                      }
    105                      else
   \   00A9  181E              JR      ?0031
   \   00AB            ?0026:
    106                      {
    107                          if (FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE,  FSEL_TYPE_COMMONDIR, 'C'))
   \   00AB  0E43              LD      C,67
   \   00AD  C5                PUSH    BC
   \   00AE  0E00              LD      C,0
   \   00B0  C5                PUSH    BC
   \   00B1  CD0A01            CALL    LWRD ?0195
   \   00B4  F1                POP     AF
   \   00B5  F1                POP     AF
   \   00B6  2C                INC     L
   \   00B7  2D                DEC     L
   \   00B8  2032              JR      NZ,?0128
   \   00BA            ?0028:
    108                          {
    109                              return 1;
    110                          }
   \   00BA            ?0029:
    111                          if (FSELGetErrID() != 0)
   \   00BA  CD1401            CALL    LWRD ?0196
   \   00BD  2C                INC     L
   \   00BE  2D                DEC     L
   \   00BF  2808              JR      Z,?0031
   \   00C1            ?0030:
    112                          {
    113                              DisplayErrInfor(DFILEOUT);//显示磁盘无文件
   \   00C1  CD1C01            CALL    LWRD ?0198
    114                              g_DiskStateFlag |= SetDiskNoFile_def;//标志磁盘无文件
   \   00C4  210000            LD      HL,g_DiskStateFlag
   \   00C7  CBF6              SET     6,(HL)
   \   00C9            ?0031:
   \   00C9            ?0027:
   \   00C9            ?0024:
    115                          }
    116                      }
    117                  }
    118          
    119                  //检测 sd 卡是否存在
    120                  if ((DRV_DetectUD(1) == 0x20)&&((g_DiskStateFlag & SetCardOKFlag_def)!=0)) 
   \   00C9  1E01              LD      E,1
   \   00CB  CD0000            CALL    LWRD DRV_DetectUD
   \   00CE  FE20              CP      32
   \   00D0  202F              JR      NZ,?0033
   \   00D2  3A0000            LD      A,(g_DiskStateFlag)
   \   00D5  CB5F              BIT     3,A
   \   00D7  2828              JR      Z,?0033
   \   00D9            ?0035:
   \   00D9            ?0034:
   \   00D9            ?0032:
    121                  {//有卡
    122                      g_amv_vars.location.disk = 'H';
   \   00D9  3E48              LD      A,72
   \   00DB  320500            LD      (g_amv_vars+5),A

⌨️ 快捷键说明

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