bookmarkmenu.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 225 行

LST
225
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:58:27 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_music\bookmarkmenu.c          #
#       List file     =  d:\case_i_d913f\ap\ap_music\list\bookmarkmenu.lst   #
#       Object file   =  d:\case_i_d913f\ap\ap_music\obj\bookmarkmenu.r01    #
#       ASM file      =  d:\case_i_d913f\ap\ap_music\list\bookmarkmenu.s01   #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K    #
#                        -w -gA -z9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_music\List\ -q -t8          #
#                        -AD:\case_i_d913f\ap\ap_music\List\                 #
#                        -ND:\case_i_d913f\ap\ap_music\List\ -X              #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        D:\CASE_I_D913F\AP\AP_MUSIC\bookmarkmenu.c          #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    bookmarkmenu(17)
   \   0000                    RSEG    BOOKMARKMENU(0)
   \   0000                    RSEG    BOOKMARKMENU_C(0)
   \   0000                    EXTERN  AddBookMarkItem
   \   0000                    PUBLIC  UI_BookMark
   \   0000                    EXTERN  UI_BookMarkMenu
   \   0000                    PUBLIC  bookmark_string
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    BOOKMARKMENU
   \   0000            UI_BookMark:
      1          #include "actos.h"
      2          #include "ap_common.h"
      3          #include "ap_music.h"
      4          #include <MusicBookMark.h>
      5          
      6          extern music_vars_t g_music_vars;//本AP的公共变量
      7          
      8          #pragma memory=constseg(BOOKMARKMENU_C)
      9          const WORD bookmark_string[4] ={ MEB2,MEB4,MEB3,MSTOP5};
     10          #pragma memory=default
     11          
     12          #pragma memory=dataseg(BOOKMARKMENU_D)
     13          //STRU_MusicBreakPoint MusicBreakPT;
     14          #pragma memory=default
     15          
     16          #pragma codeseg(BOOKMARKMENU)
     17          int UI_BookMark(BYTE string_id)
     18          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  EEFF              DEFW    65518
   \   0005  FDE5              PUSH    IY
     19                  int Result;
     20                  pop_up_list_t list;
     21                  uchar IMK_Reg;
     22                  Full_time_t time_buf; 
     23          
     24                  list.strid = bookmark_string;
   \   0007  DD36F600          LD      (IX-10),LOW(bookmark_string)
   \   000B  DD36F700          LD      (IX-9),HIGH(bookmark_string)
     25                  list.total = 4;
   \   000F  DD36F804          LD      (IX-8),4
   \   0013  DD36F900          LD      (IX-7),0
     26                  list.active = 0;
   \   0017  AF                XOR     A
   \   0018  DD77FA            LD      (IX-6),A
   \   001B  DD77FB            LD      (IX-5),A
     27                  list.string_id = string_id;
   \   001E  DD4602            LD      B,(IX+2)
   \   0021  DD70FE            LD      (IX-2),B
     28          
     29                  list.headid=MBMARK;
   \   0024  DD36FCAE          LD      (IX-4),174
   \   0028  DD36FD01          LD      (IX-3),1
     30                  Result = ui_popup_list(&list, NULL);
   \   002C  4F                LD      C,A
   \   002D  C5                PUSH    BC
   \   002E  69                LD      L,C
   \   002F  61                LD      H,C
   \   0030  E5                PUSH    HL
   \   0031  2E0E              LD      L,14
   \   0033  39                ADD     HL,SP
   \   0034  EB                EX      DE,HL
   \   0035  3E00              LD      A,BYTE3 ui_popup_list
   \   0037  210000            LD      HL,LWRD ui_popup_list
   \   003A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   003D  F1                POP     AF
   \   003E  F1                POP     AF
     31                  
     32                  if (Result == RESULT_IGNORE)
   \   003F  3E34              LD      A,52
   \   0041  AD                XOR     L
   \   0042  B4                OR      H
   \   0043  287D              JR      Z,?0006
   \   0045            ?0002:
     33                      return 0;                
   \   0045            ?0003:
     34                  if (Result != 0)
   \   0045  7D                LD      A,L
   \   0046  B4                OR      H
   \   0047  207C              JR      NZ,?0012
   \   0049            ?0004:
     35                      return Result;
   \   0049            ?0005:
     36          
     37                  switch(list.active)
   \   0049  DD5EFA            LD      E,(IX-6)
   \   004C  DD56FB            LD      D,(IX-5)
   \   004F  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   0052  0000              DEFW    0
   \   0054  0300              DEFW    3
   \   0056  C200              DEFW    ?0006
   \   0058  5E00              DEFW    ?0007
   \   005A  6400              DEFW    ?0008
   \   005C  7600              DEFW    ?0009
   \   005E            ?0007:
     38                  {
     39                  case 0:        //select
     40                      return(UI_BookMarkMenu(&g_music_vars.location,MUSICBOOKMARK_SELECT,string_id));
   \   005E  68                LD      L,B
   \   005F  E5                PUSH    HL
   \   0060  0E01              LD      C,1
   \   0062  1804              JR      ?0014
     41                  case 1:        //delete
   \   0064            ?0008:
     42                      return(UI_BookMarkMenu(&g_music_vars.location,MUSICBOOKMARK_DELETE,string_id));
   \   0064  68                LD      L,B
   \   0065  E5                PUSH    HL
   \   0066  0E02              LD      C,2
   \   0068            ?0014:
   \   0068  110700            LD      DE,g_music_vars+7
   \   006B  3E00              LD      A,BYTE3 UI_BookMarkMenu
   \   006D  210000            LD      HL,LWRD UI_BookMarkMenu
   \   0070  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0073  F1                POP     AF
     43          
     44          //            DeleteBookMark(g_music_vars.location.filename);
     45          //            break;
     46                  case 2:        //add
   \   0074  184F              JR      ?0012
   \   0076            ?0009:
     47                      IMK_Reg=input8(0x27);
   \   0076  DB27              IN      A,(39)
   \   0078  DD77F4            LD      (IX-12),A
     48                      output8(0x27,0);
   \   007B  AF                XOR     A
   \   007C  D327              OUT     (39),A
     49                      musicpSendCommand(MC_BACKUP, NULL);
   \   007E  41                LD      B,C
   \   007F  1E44              LD      E,68
   \   0081  3E00              LD      A,BYTE3 musicpSendCommand
   \   0083  210000            LD      HL,LWRD musicpSendCommand
   \   0086  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     50                      output8(0x27,IMK_Reg);
   \   0089  DD7EF4            LD      A,(IX-12)
   \   008C  D327              OUT     (39),A
     51                          if(musicpSendCommand(MC_GETTIME, (int)& time_buf)) 
   \   008E  210200            LD      HL,2
   \   0091  39                ADD     HL,SP
   \   0092  4D                LD      C,L
   \   0093  44                LD      B,H
   \   0094  1E80              LD      E,128
   \   0096  3E00              LD      A,BYTE3 musicpSendCommand
   \   0098  210000            LD      HL,LWRD musicpSendCommand
   \   009B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   009E  2C                INC     L
   \   009F  2D                DEC     L
   \   00A0  2812              JR      Z,?0011
   \   00A2            ?0010:
     52                                 {
     53                                  g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
   \   00A2  DD7EF2            LD      A,(IX-14)
   \   00A5  324D00            LD      (g_music_vars+77),A
     54                                  g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
   \   00A8  DD7EF1            LD      A,(IX-15)
   \   00AB  324E00            LD      (g_music_vars+78),A
     55                                  g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;  
   \   00AE  DD7EF0            LD      A,(IX-16)
   \   00B1  324F00            LD      (g_music_vars+79),A
   \   00B4            ?0011:
     56                                 }  
     57                      AddBookMarkItem((STRU_MusicBreakPoint *)&(g_music_vars.BreakPTSave),&g_music_vars.location);
   \   00B4  010700            LD      BC,g_music_vars+7
   \   00B7  113200            LD      DE,g_music_vars+50
   \   00BA  3E00              LD      A,BYTE3 AddBookMarkItem
   \   00BC  210000            LD      HL,LWRD AddBookMarkItem
   \   00BF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     58          
     59                      break;
   \   00C2            ?0006:
     60                  }                
     61                  return NULL;
   \   00C2  210000            LD      HL,0
     62          }
   \   00C5            ?0012:
   \   00C5  FDE1              POP     IY
   \   00C7  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
     63          
     64          
     65          
   \   0000                    RSEG    BOOKMARKMENU_C
   \   0000            bookmark_string:
   \   0000  A601              DEFW    422
   \   0002  A801              DEFW    424
   \   0004  A701              DEFW    423
   \   0006  D101              DEFW    465
   \   0008                    END

Errors: none
Warnings: none
Code size: 202
Constant size: 8
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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