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

📄 bookmarklst.lst

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

   \   0000                    NAME    bookmarklst(17)
   \   0000                    RSEG    BOOKMARKLST(0)
   \   0000                    RSEG    BOOKMARKLST_C(0)
   \   0000                    RSEG    BOOKMARKLST_D(0)
   \   0000                    PUBLIC  ActiveBookMark
   \   0000                    PUBLIC  BookMarkBuff
   \   0000                    EXTERN  DeleteBookMarkItem
   \   0000                    PUBLIC  GetBooKMarkItem
   \   0000                    EXTERN  GetBookMark
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    PUBLIC  SelIndexToArryIndex
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    PUBLIC  ShowBookMarkList
   \   0000                    PUBLIC  TimeInforation
   \   0000                    PUBLIC  UI_BookMarkMenu
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  g_Openparam
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  menu_pos_list
   \   0000                    EXTERN  menulist_bck_pic
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    PUBLIC  yesornomenu
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?SS_MOD_L02
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_PARM_DIRECT_L09
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    BOOKMARKLST
   \   0000            SelIndexToArryIndex:
      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          extern Open_param_t g_Openparam;
      8          
      9          #pragma memory=constseg(BOOKMARKLST_C)
     10          const WORD yesornomenu[3] ={MEB2,MEB4,MSTOP5};
     11          #pragma memory=default
     12          
     13          #pragma memory=dataseg(BOOKMARKLST_D)
     14          STRU_MusicBookMark BookMarkBuff;
     15          #pragma memory=default
     16          
     17          #pragma codeseg(BOOKMARKLST)
     18          
     19          //extern const char file_pos[6];    //zxs add
     20          //extern const WORD file_bck_pic[6];
     21          extern const char menu_pos_list[];
     22          extern const WORD menulist_bck_pic[];  
     23          int SelIndexToArryIndex(int index)
     24          {
   \   0000  C5                PUSH    BC
   \   0001  FDE5              PUSH    IY
   \   0003  DDE5              PUSH    IX
   \   0005  D5                PUSH    DE
   \   0006  DDE1              POP     IX
     25              int StartIndex;
     26          
     27              if(index>=BookMarkBuff.RecordCount)
   \   0008  ED4B0200          LD      BC,(BookMarkBuff+2)
   \   000C  EB                EX      DE,HL
   \   000D  CD0000            CALL    LWRD ?SS_CMP_L02
   \   0010  3805              JR      C,?0003
   \   0012            ?0002:
     28                  return 0xFFFF;
   \   0012  21FFFF            LD      HL,65535
   \   0015  1832              JR      ?0009
   \   0017            ?0003:
     29          
     30              if(BookMarkBuff.CurRecordNO>=BookMarkBuff.RecordCount)
   \   0017  2A0000            LD      HL,(BookMarkBuff)
   \   001A  CD0000            CALL    LWRD ?SS_CMP_L02
   \   001D  300E              JR      NC,?0067
   \   001F            ?0004:
     31                  StartIndex=BookMarkBuff.CurRecordNO-BookMarkBuff.RecordCount;
     32              else
   \   001F            ?0005:
     33                  StartIndex=MUSICBOOKMARK_MAX-(BookMarkBuff.RecordCount-BookMarkBuff.CurRecordNO);
   \   001F  69                LD      L,C
   \   0020  60                LD      H,B
   \   0021  ED4B0000          LD      BC,(BookMarkBuff)
   \   0025  A7                AND     A
   \   0026  ED42              SBC     HL,BC
   \   0028  4D                LD      C,L
   \   0029  44                LD      B,H
   \   002A  210C00            LD      HL,12
   \   002D            ?0067:
   \   002D  A7                AND     A
   \   002E  ED42              SBC     HL,BC
   \   0030  44                LD      B,H
   \   0031  4D                LD      C,L
   \   0032            ?0006:
     34              index=StartIndex+index;
   \   0032  DD09              ADD     IX,BC
     35              if(index>=MUSICBOOKMARK_MAX)
   \   0034  010C80            LD      BC,32780
   \   0037  DDE5              PUSH    IX
   \   0039  E1                POP     HL
   \   003A  78                LD      A,B
   \   003B  AC                XOR     H
   \   003C  67                LD      H,A
   \   003D  ED42              SBC     HL,BC
   \   003F  3805              JR      C,?0008
   \   0041            ?0007:
     36                  index-=MUSICBOOKMARK_MAX;
   \   0041  01F4FF            LD      BC,65524
   \   0044  DD09              ADD     IX,BC
   \   0046            ?0008:
     37          
     38              return index;
   \   0046  DDE5              PUSH    IX
   \   0048  E1                POP     HL
     39          }
   \   0049            ?0009:
   \   0049  DDE1              POP     IX
   \   004B  FDE1              POP     IY
   \   004D  C1                POP     BC
   \   004E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0051            TimeInforation:
     40          
     41          void TimeInforation(char *dspbuff,time_t *bookmarktime)
     42          {
   \   0051  FDE5              PUSH    IY
   \   0053  DDE5              PUSH    IX
   \   0055  D5                PUSH    DE
   \   0056  DDE1              POP     IX
   \   0058  C5                PUSH    BC
   \   0059  FDE1              POP     IY
     43              
     44              dspbuff[0]='[';
   \   005B  EB                EX      DE,HL
   \   005C  365B              LD      (HL),91
     45              itoa_2(bookmarktime->hour,&dspbuff[1]);
   \   005E  DDE5              PUSH    IX
   \   0060  C1                POP     BC
   \   0061  03                INC     BC
   \   0062  FD5E00            LD      E,(IY+0)
   \   0065  CD9D00            CALL    LWRD ?0075
     46              dspbuff[3]=':';
   \   0068  DD36033A          LD      (IX+3),58
     47              itoa_2(bookmarktime->minute,&dspbuff[4]);
   \   006C  210400            LD      HL,4
   \   006F  DDE5              PUSH    IX
   \   0071  C1                POP     BC
   \   0072  09                ADD     HL,BC
   \   0073  4D                LD      C,L
   \   0074  44                LD      B,H
   \   0075  FD5E01            LD      E,(IY+1)
   \   0078  CD9D00            CALL    LWRD ?0075
     48              dspbuff[6]=':';
   \   007B  DD36063A          LD      (IX+6),58
     49              itoa_2(bookmarktime->second,&dspbuff[7]);
   \   007F  210700            LD      HL,7
   \   0082  DDE5              PUSH    IX
   \   0084  C1                POP     BC
   \   0085  09                ADD     HL,BC
   \   0086  4D                LD      C,L
   \   0087  44                LD      B,H
   \   0088  FD5E02            LD      E,(IY+2)
   \   008B  CD9D00            CALL    LWRD ?0075
     50              dspbuff[9]=']';
   \   008E  DD36095D          LD      (IX+9),93
     51              dspbuff[10]=0x00;
   \   0092  DD360A00          LD      (IX+10),0
     52          }
   \   0096  DDE1              POP     IX
   \   0098  FDE1              POP     IY
   \   009A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   009D            ?0075:
   \   009D  3E00              LD      A,BYTE3 itoa_2
   \   009F  210000            LD      HL,LWRD itoa_2
   \   00A2  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   00A5            GetBooKMarkItem:
     53          
     54          BOOL GetBooKMarkItem(char *iteminfor,int index)
     55          {
   \   00A5  DDE5              PUSH    IX
   \   00A7  D5                PUSH    DE
     56              index=SelIndexToArryIndex(index);
   \   00A8  59                LD      E,C
   \   00A9  50                LD      D,B
   \   00AA  3E00              LD      A,BYTE3 SelIndexToArryIndex
   \   00AC  210000            LD      HL,LWRD SelIndexToArryIndex
   \   00AF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00B2  E5                PUSH    HL
   \   00B3  DDE1              POP     IX
     57              if(index==0xFFFF)
   \   00B5  7D                LD      A,L
   \   00B6  A4                AND     H
   \   00B7  3C                INC     A
   \   00B8  2003              JR      NZ,?0011
   \   00BA            ?0010:
     58                  return FALSE;
   \   00BA  6F                LD      L,A
   \   00BB  1820              JR      ?0012
   \   00BD            ?0011:
     59              TimeInforation(iteminfor,&(BookMarkBuff.MusicBreakPoint[index].BKPTTime));
   \   00BD  211F00            LD      HL,BookMarkBuff+31
   \   00C0  011E00            LD      BC,30
   \   00C3  DDE5              PUSH    IX
   \   00C5  D1                POP     DE
   \   00C6  CD0000            CALL    LWRD ?S_MUL_L02
   \   00C9  19                ADD     HL,DE
   \   00CA  4D                LD      C,L
   \   00CB  44                LD      B,H
   \   00CC  210000            LD      HL,0
   \   00CF  39                ADD     HL,SP
   \   00D0  5E                LD      E,(HL)
   \   00D1  23                INC     HL
   \   00D2  56                LD      D,(HL)
   \   00D3  3E00              LD      A,BYTE3 TimeInforation
   \   00D5  215100            LD      HL,LWRD TimeInforation
   \   00D8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     60          
     61              return TRUE;
   \   00DB  2E01              LD      L,1
     62          }
   \   00DD            ?0012:
   \   00DD  F1                POP     AF
   \   00DE  DDE1              POP     IX
   \   00E0  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00E3            ShowBookMarkList:
     63          
     64          
     65          /********************************************************************************

⌨️ 快捷键说明

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