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

📄 main.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       27/Sep/107  17:31:05 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_browser\main.c                #
#       List file     =  d:\case_i_d913f\ap\ap_browser\list\main.lst         #
#       Object file   =  d:\case_i_d913f\ap\ap_browser\obj\main.r01          #
#       ASM file      =  d:\case_i_d913f\ap\ap_browser\list\main.s01         #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_browser\Obj\ -e -K  #
#                        -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT      #
#                        -LD:\case_i_d913f\ap\ap_browser\List\ -q -t8        #
#                        -AD:\case_i_d913f\ap\ap_browser\List\               #
#                        -ND:\case_i_d913f\ap\ap_browser\List\ -X            #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\ap\ap_browser\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                    PUBLIC  ActiveDriveOK
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  DRV_ActiveDrive
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    PUBLIC  File_Type
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselInit
   \   0000                    PUBLIC  g_DiskStateFlag
   \   0000                    PUBLIC  g_Resfp_Sav
   \   0000                    PUBLIC  g_browser_vars
   \   0000                    PUBLIC  g_comval
   \   0000                    PUBLIC  g_langid
   \   0000                    PUBLIC  g_menu_active
   \   0000                    PUBLIC  g_result
   \   0000                    PUBLIC  main
   \   0000                    PUBLIC  menu
   \   0000                    PUBLIC  need_draw
   \   0000                    PUBLIC  read_var
   \   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                    EXTERN  ?STRCPY_L11
   \   0000                    EXTERN  ?STRCMP_L11
   \   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.1.1.1 2006/04/21 08:22:43 selina Exp $
     14          *******************************************************************************
     15          */
     16          #include "ap_browser.h"
     17          comval_t g_comval; //系统变量,ap不能更改
     18          BYTE g_langid ;//记录系统语言
     19          bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回 
     20          BYTE g_DiskStateFlag = 0;
     21          browser_vars_t g_browser_vars;//本AP的公共变量
     22          bool need_draw;
     23          function_menu_t menu;
     24          SD_FILE* g_Resfp_Sav;
     25          bool ActiveDriveOK;//磁盘可用标志
     26          int g_result;//表示16位变量
     27          
     28          char File_Type( char * filename );
     29          
     30          int main( void )
     31          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  F5                PUSH    AF
   \   0005  F5                PUSH    AF
     32                  int mainresult;
     33                  int result;
     34                  BYTE status;
     35                  output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   0006  DB4E              IN      A,(78)
   \   0008  CBDF              SET     3,A
   \   000A  D34E              OUT     (78),A
     36                  //-------安装ud驱动------------
     37                  g_Resfp_Sav = ResOpen("ui30.res");
   \   000C  110000            LD      DE,?0002
   \   000F  3E00              LD      A,BYTE3 ResOpen
   \   0011  210000            LD      HL,LWRD ResOpen
   \   0014  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0017  225A00            LD      (g_Resfp_Sav),HL
     38                  if(!g_Resfp_Sav)
   \   001A  7D                LD      A,L
   \   001B  B4                OR      H
   \   001C  200C              JR      NZ,?0004
   \   001E            ?0003:
     39                  {
     40                         ResClose(g_Resfp_Sav);
   \   001E  EB                EX      DE,HL
   \   001F  3E00              LD      A,BYTE3 ResClose
   \   0021  210000            LD      HL,LWRD ResClose
   \   0024  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     41                         return RESULT_MAIN;
   \   0027  C38301            JP      LWRD ?0081
     42                  }
   \   002A            ?0004:
     43          
     44                  DRV_ActiveUD(0,MODE_SLOW);
   \   002A  0E01              LD      C,1
   \   002C  1E00              LD      E,0
   \   002E  CD0000            CALL    LWRD DRV_ActiveUD
     45                  /* 读入公共变量 */
     46                  read_var();
   \   0031  3E00              LD      A,BYTE3 read_var
   \   0033  211803            LD      HL,LWRD read_var
   \   0036  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     47                  ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
   \   0039  0E01              LD      C,1
   \   003B  1E43              LD      E,67
   \   003D  CD0000            CALL    LWRD DRV_ActiveDrive
   \   0040  325C00            LD      (ActiveDriveOK),A
     48                  if (!ActiveDriveOK)
   \   0043  B7                OR      A
   \   0044  202A              JR      NZ,?0006
   \   0046            ?0005:
     49                  {
     50                      ui_show_msg (MREADERR, MREADERR, g_langid);        //temp ybfu
   \   0046  ED4B2000          LD      BC,(g_langid)
   \   004A  47                LD      B,A
   \   004B  C5                PUSH    BC
   \   004C  01FC01            LD      BC,508
   \   004F  59                LD      E,C
   \   0050  50                LD      D,B
   \   0051  3E00              LD      A,BYTE3 ui_show_msg
   \   0053  210000            LD      HL,LWRD ui_show_msg
   \   0056  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0059  F1                POP     AF
   \   005A            ?0008:
     51                      while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   005A  CD0000            CALL    LWRD ap_get_message
   \   005D  B7                OR      A
   \   005E  20FA              JR      NZ,?0008
   \   0060            ?0009:
   \   0060            ?0007:
     52                      ap_sleep(4);
   \   0060  110400            LD      DE,4
   \   0063  3E00              LD      A,BYTE3 ap_sleep
   \   0065  210000            LD      HL,LWRD ap_sleep
   \   0068  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     53                      g_browser_vars.location.disk='H';          //磁盘出错 从卡上读文件  zxs  add
   \   006B  3E48              LD      A,72
   \   006D  322400            LD      (g_browser_vars+2),A
   \   0070            ?0006:
     54                  }
     55                  g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
   \   0070  210000            LD      HL,g_DiskStateFlag
   \   0073  CBFE              SET     7,(HL)
     56          
     57                  if (DRV_DetectUD(1) == 0x20)
   \   0075  1E01              LD      E,1
   \   0077  CD0000            CALL    LWRD DRV_DetectUD
   \   007A  FE20              CP      32
   \   007C  2049              JR      NZ,?0011
   \   007E            ?0010:
     58                  { //有卡
     59                      DRV_ActiveUD(1,MODE_SLOW);
   \   007E  0E01              LD      C,1
   \   0080  59                LD      E,C
   \   0081  CD0000            CALL    LWRD DRV_ActiveUD
     60                      if (!DRV_ActiveDrive('H', MODE_SLOW))
   \   0084  0E01              LD      C,1
   \   0086  1E48              LD      E,72
   \   0088  CD0000            CALL    LWRD DRV_ActiveDrive
   \   008B  B7                OR      A
   \   008C  2032              JR      NZ,?0013
   \   008E            ?0012:
     61                      {
     62                          ui_show_msg (CREADERR, CREADERR, g_comval.langid);        //temp ybfu
   \   008E  ED4B0C00          LD      BC,(g_comval+12)
   \   0092  47                LD      B,A
   \   0093  C5                PUSH    BC
   \   0094  017602            LD      BC,630
   \   0097  59                LD      E,C
   \   0098  50                LD      D,B
   \   0099  3E00              LD      A,BYTE3 ui_show_msg
   \   009B  210000            LD      HL,LWRD ui_show_msg
   \   009E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00A1  F1                POP     AF
   \   00A2            ?0015:
     63                          while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   00A2  CD0000            CALL    LWRD ap_get_message
   \   00A5  B7                OR      A
   \   00A6  20FA              JR      NZ,?0015
   \   00A8            ?0016:
   \   00A8            ?0014:
     64                          ap_sleep(4);
   \   00A8  110400            LD      DE,4
   \   00AB  3E00              LD      A,BYTE3 ap_sleep
   \   00AD  210000            LD      HL,LWRD ap_sleep
   \   00B0  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     65                          g_browser_vars.location.disk='C';      //卡出错从Flash磁盘读文件
   \   00B3  3E43              LD      A,67
   \   00B5  322400            LD      (g_browser_vars+2),A
     66                          if (!ActiveDriveOK)
   \   00B8  3A5C00            LD      A,(ActiveDriveOK)
   \   00BB  B7                OR      A
   \   00BC  2026              JR      NZ,?0022
   \   00BE            ?0017:
     67                          {
     68                              ResClose(g_Resfp_Sav);
   \   00BE  1812              JR      ?0082
     69                              return 0;
     70                          }
   \   00C0            ?0018:
     71                      }
     72                      else
   \   00C0            ?0013:
     73                       g_DiskStateFlag |= SetCardOKFlag_def;//标志 卡 已格式化
   \   00C0  210000            LD      HL,g_DiskStateFlag
   \   00C3  CBDE              SET     3,(HL)
   \   00C5            ?0019:
     74                  }
     75                  else
   \   00C5  181D              JR      ?0022
   \   00C7            ?0011:
     76                  { //没卡
     77                      g_browser_vars.location.disk='C';      //卡出错从Flash磁盘读文件
   \   00C7  3E43              LD      A,67
   \   00C9  322400            LD      (g_browser_vars+2),A
     78                      if (!ActiveDriveOK)
   \   00CC  3A5C00            LD      A,(ActiveDriveOK)
   \   00CF  B7                OR      A
   \   00D0  2012              JR      NZ,?0022
   \   00D2            ?0021:
     79                      {
     80                          ResClose(g_Resfp_Sav);
   \   00D2            ?0082:
   \   00D2  ED5B5A00          LD      DE,(g_Resfp_Sav)
   \   00D6  3E00              LD      A,BYTE3 ResClose
   \   00D8  210000            LD      HL,LWRD ResClose
   \   00DB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     81                          return 0;
   \   00DE  210000            LD      HL,0
     82                      }
   \   00E1  C39801            JP      LWRD ?0027
   \   00E4            ?0022:
   \   00E4            ?0020:
     83                  }
     84          
     85                  SetPenColor(Color_WHITE_def);
   \   00E4  010000            LD      BC,0
   \   00E7  11FFFF            LD      DE,65535
   \   00EA  CD0000            CALL    LWRD SetPenColor
     86                  SetBackgdColor(Color_BLACK_def);
   \   00ED  010000            LD      BC,0
   \   00F0  59                LD      E,C
   \   00F1  50                LD      D,B
   \   00F2  CD0000            CALL    LWRD SetBackgdColor
     87                  //show initializing...
     88                  ClearScreen(NULL);
   \   00F5  110000            LD      DE,0
   \   00F8  CD0000            CALL    LWRD ClearScreen
     89                  ResShowMultiString(WAITPASS, g_langid, 255, 56);
   \   00FB  0E38              LD      C,56
   \   00FD  C5                PUSH    BC
   \   00FE  0EFF              LD      C,255
   \   0100  C5                PUSH    BC

⌨️ 快捷键说明

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