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

📄 decodermenu.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       27/Sep/107  17:35:17 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_reader\decodermenu.c          #
#       List file     =  d:\case_i_d913f\ap\ap_reader\list\decodermenu.lst   #
#       Object file   =  d:\case_i_d913f\ap\ap_reader\obj\decodermenu.r01    #
#       ASM file      =  d:\case_i_d913f\ap\ap_reader\list\decodermenu.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\DecoderMenu.c          #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    decodermenu(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DecodeOnePage
   \   0000                    EXTERN  LoadData
   \   0000                    PUBLIC  MenuInReader
   \   0000                    PUBLIC  MenuStrID
   \   0000                    PUBLIC  MenuStrIDWithCard
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselInit
   \   0000                    EXTERN  fselSetMode
   \   0000                    EXTERN  g_DiskStateFlag
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_menu_active
   \   0000                    EXTERN  g_reader_vars
   \   0000                    PUBLIC  list
   \   0000                    EXTERN  need_sel_file
   \   0000                    PUBLIC  play_text
   \   0000                    PUBLIC  slider
   \   0000                    PUBLIC  sub_list
   \   0000                    EXTERN  ui_delete
   \   0000                    EXTERN  ui_delete_all
   \   0000                    EXTERN  ui_directory
   \   0000                    EXTERN  ui_err_msg
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ui_slider
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            MenuInReader:
      1          /****************************************
      2          * File Name: DecoderMenu.c
      3          * Write By : Jack lee
      4          * Date     :2004-9-29 15:22
      5          *
      6          *
      7          *****************************************/
      8          
      9          
     10          
     11          
     12          #include   "actos.h"
     13          #include   "ap_common.h"
     14          #include   "display.h"
     15          #include   "ap_reader.h"
     16          #include "bookmark.h"
     17          extern void DecodeOnePage(WORD top,WORD bottom,BYTE type, BYTE string_id);
     18          extern bool g_menu_active;  
     19          extern bool need_sel_file;  
     20          extern BYTE g_DiskStateFlag; 
     21          pop_up_list_t list;
     22          pop_up_list_t sub_list;
     23          slider_t slider;
     24          const WORD  MenuStrID[5]={MSTOP1,JPEGSET,MSTOP3,MSTOP4,MSTOP5};//,VSTOPM4};
     25          const WORD  MenuStrIDWithCard[6]={MSTOP1,MSTOP2,JPEGSET,MSTOP3,MSTOP4,MSTOP5};
     26          const WORD play_text[2]={JPEGSET1, JPEGSET2};
     27          
     28          int MenuInReader(void)
     29          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  FDE5              PUSH    IY
   \   0004  DDE5              PUSH    IX
   \   0006  F5                PUSH    AF
     30                int   result,active;
     31                bool  g_card_ok=FALSE;
     32              result = DRV_DetectUD(1);  //检查是否有卡
   \   0007  1E01              LD      E,1
   \   0009  CD0000            CALL    LWRD DRV_DetectUD
   \   000C  4F                LD      C,A
   \   000D  0600              LD      B,0
   \   000F  68                LD      L,B
     33              if(result == 0x020)
   \   0010  60                LD      H,B
   \   0011  39                ADD     HL,SP
   \   0012  70                LD      (HL),B
   \   0013  3E20              LD      A,32
   \   0015  A9                XOR     C
   \   0016  2002              JR      NZ,?0003
   \   0018            ?0002:
     34                  g_card_ok = TRUE;
   \   0018  3601              LD      (HL),1
   \   001A            ?0003:
     35                  
     36              list.active=0;     
   \   001A  68                LD      L,B
   \   001B  60                LD      H,B
   \   001C  220400            LD      (list+4),HL
     37              list.headid = STOPMENU;
   \   001F  218B01            LD      HL,395
   \   0022  220600            LD      (list+6),HL
     38              if(g_card_ok)
   \   0025  68                LD      L,B
   \   0026  60                LD      H,B
   \   0027  39                ADD     HL,SP
   \   0028  AF                XOR     A
   \   0029  B6                OR      (HL)
   \   002A  280B              JR      Z,?0005
   \   002C            ?0004:
     39              {
     40                  list.total = 6;
   \   002C  210600            LD      HL,6
   \   002F  220200            LD      (list+2),HL
     41                  list.strid = MenuStrIDWithCard;
   \   0032  210A00            LD      HL,MenuStrIDWithCard
   \   0035  1809              JR      ?0072
     42              }
     43              else
   \   0037            ?0005:
     44               {
     45                   list.total=5;
   \   0037  210500            LD      HL,5
   \   003A  220200            LD      (list+2),HL
     46                   list.strid=MenuStrID;
   \   003D  210000            LD      HL,MenuStrID
   \   0040            ?0072:
   \   0040  220000            LD      (list),HL
   \   0043            ?0006:
     47               }
     48                   list.string_id = g_comval.langid;
   \   0043  3A0C00            LD      A,(g_comval+12)
   \   0046  320800            LD      (list+8),A
     49          
     50                   result = ui_popup_list(&list, NULL);
   \   0049  48                LD      C,B
   \   004A  C5                PUSH    BC
   \   004B  C5                PUSH    BC
   \   004C  110000            LD      DE,list
   \   004F  3E00              LD      A,BYTE3 ui_popup_list
   \   0051  210000            LD      HL,LWRD ui_popup_list
   \   0054  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0057  F1                POP     AF
   \   0058  F1                POP     AF
   \   0059  E5                PUSH    HL
   \   005A  DDE1              POP     IX
     51          
     52                 if (g_card_ok)
   \   005C  69                LD      L,C
   \   005D  60                LD      H,B
   \   005E  39                ADD     HL,SP
   \   005F  AF                XOR     A
   \   0060  B6                OR      (HL)
   \   0061  2829              JR      Z,?0010
   \   0063            ?0007:
     53                   {
     54          
     55                    if (DRV_DetectUD(1) != 0x20)
   \   0063  1E01              LD      E,1
   \   0065  CD0000            CALL    LWRD DRV_DetectUD
   \   0068  FE20              CP      32
   \   006A  2820              JR      Z,?0010
   \   006C            ?0009:
     56                     {
     57                       g_card_ok=FALSE;
     58                       ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
   \   006C  ED4B0C00          LD      BC,(g_comval+12)
   \   0070  0600              LD      B,0
   \   0072  C5                PUSH    BC
   \   0073  018A01            LD      BC,394
   \   0076  59                LD      E,C
   \   0077  50                LD      D,B
   \   0078  3E00              LD      A,BYTE3 ui_err_msg
   \   007A  210000            LD      HL,LWRD ui_err_msg
   \   007D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0080  F1                POP     AF
     59                       g_reader_vars.location.disk = 'C';
   \   0081  3E43              LD      A,67
   \   0083  320600            LD      (g_reader_vars+6),A
     60                       //return RESULT_SD_OUT;
     61                       return RESULT_SD_OUT;
   \   0086  213600            LD      HL,54
     62                      }
   \   0089  C3BB03            JP      LWRD ?0056
   \   008C            ?0010:
   \   008C            ?0008:
     63                   }
     64          
     65                 if (result != 0)
   \   008C  DDE5              PUSH    IX
   \   008E  E1                POP     HL
   \   008F  7D                LD      A,L
   \   0090  B4                OR      H
   \   0091  C2B803            JP      NZ,?0033
   \   0094            ?0011:
     66                      return result;
   \   0094            ?0012:
     67          
     68                  BankSwitch((unsigned long)FSELInit >> 16);
   \   0094  1E00              LD      E,BYTE3 fselInit
   \   0096  CD0000            CALL    LWRD BankSwitch
     69                  fselGetLocation(& g_reader_vars.location);
   \   0099  CDC503            CALL    LWRD ?0087
     70          
     71           if(!g_card_ok)
   \   009C  68                LD      L,B
   \   009D  60                LD      H,B
   \   009E  39                ADD     HL,SP
   \   009F  AF                XOR     A
   \   00A0  B6                OR      (HL)
   \   00A1  ED5B0400          LD      DE,(list+4)
   \   00A5  C2D101            JP      NZ,?0014
   \   00A8            ?0013:
     72              {
     73                switch (list.active)
   \   00A8  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   00AB  0000              DEFW    0
   \   00AD  0400              DEFW    4
   \   00AF  B403              DEFW    ?0055
   \   00B1  B900              DEFW    ?0016
   \   00B3  FD00              DEFW    ?0019
   \   00B5  8D01              DEFW    ?0026
   \   00B7  AC01              DEFW    ?0029
   \   00B9            ?0016:
     74                  {
     75                      case 0:
     76                        if (g_reader_vars.location.disk == 'H')
   \   00B9  3A0600            LD      A,(g_reader_vars+6)
   \   00BC  FE48              CP      72
   \   00BE  201E              JR      NZ,?0018
   \   00C0            ?0017:
     77                         {
     78                           g_reader_vars.location.disk = 'C';
   \   00C0  3E43              LD      A,67
   \   00C2  320600            LD      (g_reader_vars+6),A
     79                           FSELInit(FSEL_TYPE_TXT, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_reader_vars.location.disk);
   \   00C5  4F                LD      C,A
   \   00C6  C5                PUSH    BC
   \   00C7  48                LD      C,B
   \   00C8  C5                PUSH    BC
   \   00C9  0E04              LD      C,4
   \   00CB  59                LD      E,C
   \   00CC  3E00              LD      A,BYTE3 fselInit
   \   00CE  210000            LD      HL,LWRD fselInit
   \   00D1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00D4  F1                POP     AF
   \   00D5  F1                POP     AF
     80                           fselGetLocation(& g_reader_vars.location);   
   \   00D6  CDC503            CALL    LWRD ?0087
     81                           need_sel_file=TRUE;  
   \   00D9  3E01              LD      A,1
   \   00DB  320000            LD      (need_sel_file),A
   \   00DE            ?0018:
     82                         }
     83                        BankSwitch((unsigned long)DecodeOnePage >> 16);
   \   00DE  0600              LD      B,0
   \   00E0  1E00              LD      E,BYTE3 DecodeOnePage
   \   00E2  CD0000            CALL    LWRD BankSwitch
     84                        result=ui_directory(&g_reader_vars.location, FSEL_TYPE_TXT, g_comval.langid);
   \   00E5  210C00            LD      HL,g_comval+12
   \   00E8  4E                LD      C,(HL)
   \   00E9  C5                PUSH    BC
   \   00EA  CDD003            CALL    LWRD ?0088
   \   00ED  F1                POP     AF
     85                         FSELSetMode(FSEL_ALL_SEQUENCE);
   \   00EE  CDDD03            CALL    LWRD ?0089
     86                  BankSwitch((unsigned long)LoadData >> 16); 
   \   00F1  1E00              LD      E,BYTE3 LoadData
   \   00F3  CD0000            CALL    LWRD BankSwitch
     87          
     88                         g_menu_active = FALSE;
   \   00F6  AF                XOR     A
   \   00F7  320000            LD      (g_menu_active),A
     89                      g_reader_vars.g_txt.PrevSeek=0;
   \   00FA  C37503            JP      LWRD ?0051
     90                      g_reader_vars.g_txt.CurrentSeek=0;

⌨️ 快捷键说明

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