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

📄 ui_main_for_music.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:00:33 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\common\ui_main_for_music.c        #
#       List file     =  d:\case_i_d90f\ap\ap_music\list\ui_main_for_music.lst#
#       Object file   =  d:\case_i_d90f\ap\ap_music\obj\ui_main_for_music.r01#
#       ASM file      =  d:\case_i_d90f\ap\ap_music\list\ui_main_for_music.s01#
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w  #
#                        -gA -z9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d90f\ap\ap_music\List\ -q -t8           #
#                        -AD:\case_i_d90f\ap\ap_music\List\                  #
#                        -ND:\case_i_d90f\ap\ap_music\List\ -X               #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        D:\CASE_I_D90F\AP\COMMON\ui_main_for_music.c        #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_main_for_music(17)
   \   0000                    RSEG    COM_MAIN(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  PutSDImage
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SD_FRead
   \   0000                    EXTERN  SD_FSeek
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  ap_sleep
   \   0000                    PUBLIC  itoa_1
   \   0000                    PUBLIC  itoa_2
   \   0000                    PUBLIC  itoa_3
   \   0000                    PUBLIC  itoa_4
   \   0000                    PUBLIC  main_ResShowPic
   \   0000                    EXTERN  res_entry
   \   0000                    EXTERN  res_fp
   \   0000                    EXTERN  res_region
   \   0000                    EXTERN  sKY_ChargeSet
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_show_a
   \   0000                    PUBLIC  ui_show_b
   \   0000                    PUBLIC  ui_show_batt
   \   0000                    PUBLIC  ui_show_c
   \   0000                    PUBLIC  ui_show_d
   \   0000                    PUBLIC  ui_show_f
   \   0000                    PUBLIC  ui_show_g
   \   0000                    PUBLIC  ui_show_lock
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?UC_DIV_L01
   \   0000                    EXTERN  ?UC_MOD_L01
   \   0000                    EXTERN  ?US_DIV_L02
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?US_MOD_L02
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?L_LSH_L03
   \   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    COM_MAIN
   \   0000            itoa_1:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        ap common lib , main ui control
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *******************************************************************************
     10          */
     11          #pragma codeseg(COM_MAIN)
     12          
     13          #include "ap_common.h"
     14          
     15          //主界面为了不用bank切换而使用 ResShowPic()
     16          extern res_entry_t res_entry;
     17          extern region_t res_region;
     18          extern BYTE charge_flag;
     19          
     20          //bank const
     21          /*注意-以下函数必须能访问到这些常量 */
     22          #pragma memory=constseg(COM_MAIN_D)
     23          
     24          
     25          
     26          
     27          
     28          
     29          //const WORD songtime_id[10]={PRGNUM0,PRGNUM1,PRGNUM2,PRGNUM3,PRGNUM4,PRGNUM5,
     30          //                            PRGNUM6,PRGNUM7,PRGNUM8,PRGNUM9}; //音乐播放时间
     31          
     32          #pragma memory=default
     33          
     34          /*
     35          ********************************************************************************
     36          * Description : 数字转换成字符串
     37          *
     38          * Arguments   : i, 数字
     39          *               buf, 输出字符串指针, 3 bytes
     40          *
     41          * Returns     : 成功, 输出字符串指针
     42          *
     43          * Notes       : 数字只能是 0~9
     44          *
     45          ********************************************************************************
     46          */
     47          char *itoa_1(BYTE i, char *buf)
     48          {
   \   0000  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
     49          
     50              buf[0] = (i % 10)+'0';
   \   0003  060A              LD      B,10
   \   0005  7B                LD      A,E
   \   0006  CD0000            CALL    LWRD ?UC_MOD_L01
   \   0009  C630              ADD     A,48
   \   000B  69                LD      L,C
   \   000C  DD6605            LD      H,(IX+5)
   \   000F  77                LD      (HL),A
     51              buf[1] = 0;
   \   0010  23                INC     HL
   \   0011  3600              LD      (HL),0
     52              return buf;
   \   0013  2B                DEC     HL
     53          }
   \   0014  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0017            itoa_2:
     54          
     55          /*
     56          ********************************************************************************
     57          * Description : 数字转换成字符串
     58          *
     59          * Arguments   : i, 数字
     60          *               buf, 输出字符串指针, 3 bytes
     61          *
     62          * Returns     : 成功, 输出字符串指针
     63          *
     64          * Notes       : 数字只能是 00~99
     65          *
     66          ********************************************************************************
     67          */
     68          char *itoa_2(BYTE i, char *buf)
     69          {
   \   0017  DDE5              PUSH    IX
   \   0019  C5                PUSH    BC
   \   001A  DDE1              POP     IX
   \   001C  53                LD      D,E
     70          
     71          
     72              buf[0] = (i % 100) / 10+'0';
   \   001D  0664              LD      B,100
   \   001F  7B                LD      A,E
   \   0020  CD0000            CALL    LWRD ?UC_MOD_L01
   \   0023  060A              LD      B,10
   \   0025  CD0000            CALL    LWRD ?UC_DIV_L01
   \   0028  C630              ADD     A,48
   \   002A  DD7700            LD      (IX+0),A
     73              buf[1] = (i % 10)+'0';
   \   002D  7A                LD      A,D
   \   002E  CD0000            CALL    LWRD ?UC_MOD_L01
   \   0031  C630              ADD     A,48
   \   0033  DD7701            LD      (IX+1),A
     74              buf[2] = 0;
   \   0036  DD360200          LD      (IX+2),0
     75              return buf;
   \   003A  DDE5              PUSH    IX
   \   003C  E1                POP     HL
     76          }
   \   003D  DDE1              POP     IX
   \   003F  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0042            itoa_3:
     77          /*
     78          ********************************************************************************
     79          * Description : 数字转换成字符串
     80          *
     81          * Arguments   : i, 数字
     82          *               buf, 输出字符串指针,4 bytes
     83          *
     84          * Returns     : 成功, 输出字符串指针
     85          *
     86          * Notes       : 数字只能是 000~999
     87          *
     88          ********************************************************************************
     89          */
     90          char *itoa_3(WORD i, char *buf)
     91          {
   \   0042  FDE5              PUSH    IY
   \   0044  DDE5              PUSH    IX
   \   0046  C5                PUSH    BC
   \   0047  DDE1              POP     IX
   \   0049  D5                PUSH    DE
   \   004A  FDE1              POP     IY
     92          
     93              buf[0] = (i % 1000) / 100+'0' ;
   \   004C  01E803            LD      BC,1000
   \   004F  CD7400            CALL    LWRD ?0037
   \   0052  DD7700            LD      (IX+0),A
     94              buf[1] = (i % 100) / 10+'0' ;
   \   0055  CD8100            CALL    LWRD ?0038
   \   0058  DD7701            LD      (IX+1),A
     95              buf[2] = (i % 10)+'0';
   \   005B  FDE5              PUSH    IY
   \   005D  D1                POP     DE
   \   005E  CD0000            CALL    LWRD ?US_MOD_L02
   \   0061  7B                LD      A,E
   \   0062  C630              ADD     A,48
   \   0064  DD7702            LD      (IX+2),A
     96              buf[3] = 0;
   \   0067  DD7003            LD      (IX+3),B
     97          
     98              return buf;
   \   006A            ?0032:
   \   006A  DDE5              PUSH    IX
   \   006C  E1                POP     HL
     99          }
   \   006D  DDE1              POP     IX
   \   006F  FDE1              POP     IY
   \   0071  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0074            ?0037:
   \   0074  CD0000            CALL    LWRD ?US_MOD_L02
   \   0077  016400            LD      BC,100
   \   007A  CD0000            CALL    LWRD ?US_DIV_L02
   \   007D  7B                LD      A,E
   \   007E  C630              ADD     A,48
   \   0080  C9                RET
   \   0081            ?0038:
   \   0081  FDE5              PUSH    IY
   \   0083  D1                POP     DE
   \   0084  CD0000            CALL    LWRD ?US_MOD_L02
   \   0087  0E0A              LD      C,10
   \   0089            ?0039:
   \   0089  CD0000            CALL    LWRD ?US_DIV_L02
   \   008C  7B                LD      A,E
   \   008D  C630              ADD     A,48
   \   008F  C9                RET
   \   0090            itoa_4:
    100          /*

⌨️ 快捷键说明

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