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

📄 main.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0078  DDAEFE            XOR     (IX-2)
   \   007B  DDB6FF            OR      (IX-1)
   \   007E  200A              JR      NZ,?0006
   \   0080            ?0005:
    109              {
    110                  list_active = 8;   
   \   0080  DD36FA08          LD      (IX-6),8
   \   0084  DD36FB00          LD      (IX-5),0
    111              }
    112              else
   \   0088  1807              JR      ?0007
   \   008A            ?0006:
    113              {
    114                  list_active = 0;
   \   008A  AF                XOR     A
   \   008B  DD77FA            LD      (IX-6),A
   \   008E  DD77FB            LD      (IX-5),A
   \   0091            ?0007:
   \   0091            ?0009:
    115              }
    116              
    117              while(1)
    118              {
    119                  main_list.total = MAX_SYSMENUNUM;             //"+2":for MP3 recorder by ccm
   \   0091  210C00            LD      HL,12
   \   0094  223F00            LD      (main_list+2),HL
    120                  main_list.strid = main_text;
   \   0097  210000            LD      HL,main_text
   \   009A  223D00            LD      (main_list),HL
    121                  main_list.active = list_active;
   \   009D  DD6EFA            LD      L,(IX-6)
   \   00A0  DD66FB            LD      H,(IX-5)
   \   00A3  224100            LD      (main_list+4),HL
    122                  main_list.string_id = g_comval.langid;
   \   00A6  3A0C00            LD      A,(g_comval+12)
   \   00A9  324500            LD      (main_list+8),A
    123                  main_list.headid = SSYSTEM;
   \   00AC  215D01            LD      HL,349
   \   00AF  224300            LD      (main_list+6),HL
    124          
    125                  ui_auto_select = FALSE;
   \   00B2  AF                XOR     A
   \   00B3  320000            LD      (ui_auto_select),A
    126          
    127                  //show menu
    128                  result = ui_popup_list(&main_list, NULL);
   \   00B6  0E00              LD      C,0
   \   00B8  C5                PUSH    BC
   \   00B9  210000            LD      HL,0
   \   00BC  E5                PUSH    HL
   \   00BD  113D00            LD      DE,main_list
   \   00C0  3E00              LD      A,BYTE3 ui_popup_list
   \   00C2  210000            LD      HL,LWRD ui_popup_list
   \   00C5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00C8  F1                POP     AF
   \   00C9  F1                POP     AF
   \   00CA  E5                PUSH    HL
   \   00CB  FDE1              POP     IY
    129          
    130                  ui_auto_select = TRUE;
   \   00CD  3E01              LD      A,1
   \   00CF  320000            LD      (ui_auto_select),A
    131          
    132                  //check press play
    133                  if(result == RESULT_IGNORE)
   \   00D2  3E34              LD      A,52
   \   00D4  AD                XOR     L
   \   00D5  B4                OR      H
   \   00D6  2006              JR      NZ,?0012
   \   00D8            ?0011:
    134                  {     
    135                      result = 0;
   \   00D8  FD210000          LD      IY,0
    136                      break;
   \   00DC  1849              JR      ?0008
   \   00DE            ?0012:
    137                  }
    138                  //check hotkey
    139                  else if(result != 0) break;
   \   00DE  FDE5              PUSH    IY
   \   00E0  E1                POP     HL
   \   00E1  7D                LD      A,L
   \   00E2  B4                OR      H
   \   00E3  2042              JR      NZ,?0008
   \   00E5            ?0013:
   \   00E5            ?0014:
    140                  else if(main_list.active == MAX_SYSMENUNUM-1) break;    //user choose exit.//"12": modified by ccm 04-06-09
   \   00E5  2A4100            LD      HL,(main_list+4)
   \   00E8  3E0B              LD      A,11
   \   00EA  AD                XOR     L
   \   00EB  B4                OR      H
   \   00EC  2839              JR      Z,?0008
   \   00EE            ?0015:
   \   00EE            ?0016:
    141                  //normal user-select
    142                  else ASSERT(result == 0);
    143          
    144                  //save the active, because ui should change it
    145                  list_active = main_list.active;
   \   00EE  2A4100            LD      HL,(main_list+4)
   \   00F1  DD75FA            LD      (IX-6),L
   \   00F4  DD74FB            LD      (IX-5),H
    146                  
    147                  ClearScreen(NULL);                                 
   \   00F7  110000            LD      DE,0
   \   00FA  CD0000            CALL    LWRD ClearScreen
    148                  //check selected value
    149                  result = entries[main_list.active]();
   \   00FD  2A4100            LD      HL,(main_list+4)
   \   0100  4D                LD      C,L
   \   0101  44                LD      B,H
   \   0102  29                ADD     HL,HL
   \   0103  09                ADD     HL,BC
   \   0104  011800            LD      BC,entries
   \   0107  09                ADD     HL,BC
   \   0108  4E                LD      C,(HL)
   \   0109  23                INC     HL
   \   010A  46                LD      B,(HL)
   \   010B  23                INC     HL
   \   010C  7E                LD      A,(HL)
   \   010D  69                LD      L,C
   \   010E  60                LD      H,B
   \   010F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0112  E5                PUSH    HL
   \   0113  FDE1              POP     IY
    150                  if(result == RESULT_IGNORE)
   \   0115  3E34              LD      A,52
   \   0117  AD                XOR     L
   \   0118  B4                OR      H
   \   0119  2004              JR      NZ,?0018
   \   011B            ?0017:
    151                  {
    152                      result = 0;
   \   011B  FD210000          LD      IY,0
   \   011F            ?0018:
    153                  }     
    154                  if(result != 0) break;
   \   011F  FDE5              PUSH    IY
   \   0121  E1                POP     HL
   \   0122  7D                LD      A,L
   \   0123  B4                OR      H
   \   0124  CA9100            JP      Z,?0007
   \   0127            ?0019:
   \   0127            ?0020:
   \   0127            ?0008:
    155          
    156              }//while(1)
    157          
    158              //close res file
    159              ResClose(res_fp);
   \   0127  ED5B0000          LD      DE,(res_fp)
   \   012B  3E00              LD      A,BYTE3 ResClose
   \   012D  210000            LD      HL,LWRD ResClose
   \   0130  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    160          
    161              //为什么vmwrite() 要放在 resclose() 之后才不死机?
    162              //save settings
    163              mc_result = VMWrite(&g_comval, VM_SYSTEM);
   \   0133  010002            LD      BC,512
   \   0136  110000            LD      DE,g_comval
   \   0139  CD0000            CALL    LWRD VMWrite
   \   013C  DD77FC            LD      (IX-4),A
    164              ASSERT(mc_result);
    165          
    166              return result;
   \   013F  FDE5              PUSH    IY
   \   0141  E1                POP     HL
    167          }
   \   0142  DDF9              LD      SP,IX
   \   0144  DDE1              POP     IX
   \   0146  FDE1              POP     IY
   \   0148  C1                POP     BC
   \   0149  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CSTR
   \   0000            ?0004:
   \   0000  75693330          DEFB    'ui30.res'
   \   0004  2E726573
   \   0008  00                DEFB    0
   \   0000                    RSEG    CONST
   \   0000            main_text:
   \   0000  F101              DEFW    497
   \   0002  3102              DEFW    561
   \   0004  4402              DEFW    580
   \   0006  F301              DEFW    499
   \   0008  F401              DEFW    500
   \   000A  F501              DEFW    501
   \   000C  F701              DEFW    503
   \   000E  F801              DEFW    504
   \   0010  F901              DEFW    505
   \   0012  BA01              DEFW    442
   \   0014  CA01              DEFW    458
   \   0016  4202              DEFW    578
   \   0018            entries:
   \   0018  000000            DEFA    show_clock
   \   001B  000000            DEFA    show_rectype
   \   001E  000000            DEFA    screen_set
   \   0021  000000            DEFA    show_language
   \   0024  000000            DEFA    show_powerdown
   \   0027  000000            DEFA    show_replay
   \   002A  000000            DEFA    show_memory
   \   002D  000000            DEFA    show_firmware
   \   0030  000000            DEFA    upgrade_firmware
   \   0033  000000            DEFA    show_fmttype
   \   0036  000000            DEFA    ear_protect
   \   0000                    RSEG    UDATA0
   \   0000            g_comval:
   \   0020                    DEFS    32
   \   0020            g_setting_vars:
   \   0022                    DEFS    2
   \   0022            slider:
   \   002D                    DEFS    11
   \   002D            progress:
   \   0034                    DEFS    7
   \   0034            list:
   \   003D                    DEFS    9
   \   003D            main_list:
   \   0046                    DEFS    9
   \   0046            charge_flag:
   \   0047                    DEFS    1
   \   0047                    END

Errors: none
Warnings: none
Code size: 332
Constant size: 66
Static variable size: Data(71) Iram(0)

⌨️ 快捷键说明

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