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

📄 ui_play.lst

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

   \   0000                    NAME    ui_play(17)
   \   0000                    RSEG    CODE_1(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    PUBLIC  Delaytime
   \   0000                    EXTERN  FS_Exit
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FOpen
   \   0000                    EXTERN  FS_GetFileLen
   \   0000                    EXTERN  FS_GetUnalignedLen
   \   0000                    EXTERN  GetDCStatus
   \   0000                    EXTERN  LoadData
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    PUBLIC  Stop_display
   \   0000                    EXTERN  ToPrevScreenPosition
   \   0000                    EXTERN  active
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  bookmark_op
   \   0000                    PUBLIC  count_autoplay
   \   0000                    PUBLIC  do_play
   \   0000                    EXTERN  fselGetByNO
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_reader_vars
   \   0000                    EXTERN  need_sel_file
   \   0000                    EXTERN  ui_err_msg
   \   0000                    PUBLIC  view_file
   \   0000                    EXTERN  view_page_down
   \   0000                    EXTERN  view_page_up
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?L_LSH_L03
   \   0000                    EXTERN  ?SL_CMP_L03
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE_1
   \   0000            do_play:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        reader  program.
      5          *
      6          *        (c) Copyright, Actions Co,Ld.                             
      7          *             All Right Reserved                          
      8          *
      9          *  
     10          *******************************************************************************
     11          */ 
     12          #include  "actos.h"
     13          #include  "enhanced.h"
     14          #include  "ap_common.h"
     15          #include  "display.h"
     16          #include  "ap_reader.h"
     17          #include  "TxtDec.h"    
     18          #include  "bookmark.h" 
     19          #include  "mmcmd.h"//模块层命令名定义
     20          
     21          
     22          char        Stop_display;
     23          char        count_autoplay; 
     24          char        Delaytime;     
     25          
     26          extern  bool need_sel_file;                           
     27          #pragma        codeseg(CODE_1)
     28          
     29          
     30          int  view_file( void );
     31          /*
     32          ********************************************************************************
     33          *
     34          ********************************************************************************
     35          */
     36          int do_play(void)
     37          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  21F6FF            LD      HL,65526
   \   0007  39                ADD     HL,SP
   \   0008  F9                LD      SP,HL
     38           
     39              char    key;
     40              int        result;
     41              DC        hDc;
     42          
     43            //保存当前设备状态
     44              GetDCStatus(&hDc);
   \   0009  EB                EX      DE,HL
   \   000A  CD0000            CALL    LWRD GetDCStatus
     45          
     46              SetBackgdColor(Color_MENU_def);
   \   000D  010000            LD      BC,0
   \   0010  11FFFF            LD      DE,65535
   \   0013  CD0000            CALL    LWRD SetBackgdColor
     47              SetPenColor(Color_BLACK_def);
   \   0016  010000            LD      BC,0
   \   0019  59                LD      E,C
   \   001A  50                LD      D,B
   \   001B  CD0000            CALL    LWRD SetPenColor
     48              // 初始化打开文件
     49              fselGetByNO(g_reader_vars.location.filename, active + 1);
   \   001E  ED4B0000          LD      BC,(active)
   \   0022  03                INC     BC
   \   0023  112000            LD      DE,g_reader_vars+32
   \   0026  3E00              LD      A,BYTE3 fselGetByNO
   \   0028  210000            LD      HL,LWRD fselGetByNO
   \   002B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     50              g_reader_vars.g_txt.FileHandle =FS_FOpen(g_reader_vars.location.filename,FS_OPEN_NORMAL);
   \   002E  0E00              LD      C,0
   \   0030  112000            LD      DE,g_reader_vars+32
   \   0033  CD0000            CALL    LWRD FS_FOpen
   \   0036  223100            LD      (g_reader_vars+49),HL
     51              if( g_reader_vars.g_txt.FileHandle == NULL )
   \   0039  7D                LD      A,L
   \   003A  B4                OR      H
   \   003B  2019              JR      NZ,?0003
   \   003D            ?0002:
     52              {   // 错误处理
     53                  ui_err_msg(MFMTERR,MFMTERR,g_comval.langid);
   \   003D  ED4B0C00          LD      BC,(g_comval+12)
   \   0041  47                LD      B,A
   \   0042  C5                PUSH    BC
   \   0043  011A02            LD      BC,538
   \   0046  59                LD      E,C
   \   0047  50                LD      D,B
   \   0048  3E00              LD      A,BYTE3 ui_err_msg
   \   004A  210000            LD      HL,LWRD ui_err_msg
   \   004D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0050  F1                POP     AF
     54                  key = 0;
     55                  return 0;
   \   0051  210000            LD      HL,0
     56              }
   \   0054  1863              JR      ?0004
   \   0056            ?0003:
     57          
     58              g_reader_vars.g_txt.SectorTotal = FS_GetFileLen( g_reader_vars.g_txt.FileHandle ) ;
   \   0056  EB                EX      DE,HL
   \   0057  CD0000            CALL    LWRD FS_GetFileLen
   \   005A  224100            LD      (g_reader_vars+65),HL
     59              g_reader_vars.g_txt.FileLengthBytes    = ((long)( g_reader_vars.g_txt.SectorTotal-1) * FILE_SECTOR ) + FS_GetUnalignedLen( g_reader_vars.g_txt.FileHandle );
   \   005D  01FFFF            LD      BC,65535
   \   0060  09                ADD     HL,BC
   \   0061  03                INC     BC
   \   0062  3E09              LD      A,9
   \   0064  CD0000            CALL    LWRD ?L_LSH_L03
   \   0067  C5                PUSH    BC
   \   0068  E5                PUSH    HL
   \   0069  ED5B3100          LD      DE,(g_reader_vars+49)
   \   006D  CD0000            CALL    LWRD FS_GetUnalignedLen
   \   0070  7C                LD      A,H
   \   0071  07                RLCA
   \   0072  9F                SBC     A,A
   \   0073  5F                LD      E,A
   \   0074  53                LD      D,E
   \   0075  C1                POP     BC
   \   0076  09                ADD     HL,BC
   \   0077  EB                EX      DE,HL
   \   0078  C1                POP     BC
   \   0079  ED4A              ADC     HL,BC
   \   007B  4D                LD      C,L
   \   007C  44                LD      B,H
   \   007D  EB                EX      DE,HL
   \   007E  223300            LD      (g_reader_vars+51),HL
   \   0081  ED433500          LD      (g_reader_vars+53),BC
     60          
     61              result = view_file();
   \   0085  3E00              LD      A,BYTE3 view_file
   \   0087  21C700            LD      HL,LWRD view_file
   \   008A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   008D  E5                PUSH    HL
   \   008E  DDE1              POP     IX
     62          
     63          
     64              FS_FClose( g_reader_vars.g_txt.FileHandle );
   \   0090  ED5B3100          LD      DE,(g_reader_vars+49)
   \   0094  CD0000            CALL    LWRD FS_FClose
     65              FS_Exit();
   \   0097  CD0000            CALL    LWRD FS_Exit
     66          
     67          
     68              //恢复保存设备状态
     69              SetPenColor(hDc.PenColor);
   \   009A  210000            LD      HL,0
   \   009D  39                ADD     HL,SP
   \   009E  5E                LD      E,(HL)
   \   009F  23                INC     HL
   \   00A0  56                LD      D,(HL)
   \   00A1  23                INC     HL
   \   00A2  4E                LD      C,(HL)
   \   00A3  23                INC     HL
   \   00A4  46                LD      B,(HL)
   \   00A5  CD0000            CALL    LWRD SetPenColor
     70              SetBackgdColor(hDc.BackgdColor);
   \   00A8  210400            LD      HL,4
   \   00AB  39                ADD     HL,SP
   \   00AC  5E                LD      E,(HL)
   \   00AD  23                INC     HL
   \   00AE  56                LD      D,(HL)
   \   00AF  23                INC     HL
   \   00B0  4E                LD      C,(HL)
   \   00B1  23                INC     HL
   \   00B2  46                LD      B,(HL)
   \   00B3  CD0000            CALL    LWRD SetBackgdColor
     71          
     72              return result;
   \   00B6  DDE5              PUSH    IX
   \   00B8  E1                POP     HL
     73          }
   \   00B9            ?0004:
   \   00B9  EB                EX      DE,HL
   \   00BA  210A00            LD      HL,10
   \   00BD  39                ADD     HL,SP
   \   00BE  F9                LD      SP,HL
   \   00BF  EB                EX      DE,HL
   \   00C0  DDE1              POP     IX
   \   00C2  D1                POP     DE
   \   00C3  C1                POP     BC
   \   00C4  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00C7            view_file:
     74          
     75          
     76          //////////////////////////////////////////////////
     77          //阅读文件
     78          int  view_file( void )
     79          {
   \   00C7  C5                PUSH    BC
   \   00C8  D5                PUSH    DE
   \   00C9  FDE5              PUSH    IY
   \   00CB  DDE5              PUSH    IX
   \   00CD  DD210000          LD      IX,0
   \   00D1  DD39              ADD     IX,SP
   \   00D3  21E6FF            LD      HL,65510
   \   00D6  39                ADD     HL,SP
   \   00D7  F9                LD      SP,HL
     80              uint AutoPlayTime, AutoPlayTimeSet = 5;
     81              BOOL FlagAutoPlay = FALSE;
     82              BOOL bRedraw = TRUE;
     83              byte nDrawRow;
     84              int     result;    
     85              char key;
     86              bool bPageDownFlag = 0;        //下翻页标记
     87             
     88              long FileLengthLeft= g_reader_vars.g_txt.FileLengthBytes - g_reader_vars.g_txt.CurrentSeek;
   \   00D8  A7                AND     A
   \   00D9  2A3300            LD      HL,(g_reader_vars+51)
   \   00DC  ED4B3B00          LD      BC,(g_reader_vars+59)
   \   00E0  ED42              SBC     HL,BC
   \   00E2  EB                EX      DE,HL

⌨️ 快捷键说明

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