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

📄 ui_main.lst

📁 action mp3 devo,eki e,eikf, kdife l
💻 LST
📖 第 1 页 / 共 4 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       12/Apr/106  09:56:15 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d35f\ap\common\ui_main.c                  #
#       List file     =  d:\case_i_d35f\ap\ap_main\list\ui_main.lst          #
#       Object file   =  d:\case_i_d35f\ap\ap_main\release\obj\ui_main.r01   #
#       Command line  =  -v0 -mb -OD:\case_i_d35f\ap\ap_main\release\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG              #
#                        -LD:\case_i_d35f\ap\ap_main\List\ -q -t8 -X         #
#                        -Id:\sdk_i_35f\inc\ -Id:\case_i_d35f\inc\           #
#                        d:\case_i_d35f\AP\COMMON\ui_main.c                  #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_main(17)
   \   0000                    RSEG    COM_MAIN(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    RSEG    COM_MAIN_D(0)
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  PutSDImage
   \   0000                    EXTERN  ResShowLogo
   \   0000                    EXTERN  SD_FRead
   \   0000                    EXTERN  SD_FSeek
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  ap_sleep
   \   0000                    PUBLIC  batt_id
   \   0000                    PUBLIC  itoa1
   \   0000                    PUBLIC  itoa2
   \   0000                    PUBLIC  itoa3
   \   0000                    PUBLIC  itoa4
   \   0000                    PUBLIC  main_ResShowPic
   \   0000                    PUBLIC  region_a
   \   0000                    PUBLIC  region_b
   \   0000                    PUBLIC  region_batt
   \   0000                    PUBLIC  region_c
   \   0000                    PUBLIC  region_cd
   \   0000                    PUBLIC  region_d
   \   0000                    PUBLIC  region_d2
   \   0000                    PUBLIC  region_e
   \   0000                    PUBLIC  region_ef
   \   0000                    PUBLIC  region_f
   \   0000                    PUBLIC  region_g
   \   0000                    EXTERN  res_entry
   \   0000                    EXTERN  res_fp
   \   0000                    EXTERN  res_region
   \   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_cd
   \   0000                    PUBLIC  ui_show_d
   \   0000                    PUBLIC  ui_show_d2
   \   0000                    PUBLIC  ui_show_d_pic
   \   0000                    PUBLIC  ui_show_e
   \   0000                    PUBLIC  ui_show_ef
   \   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  ?US_MOD_L02
   \   0000                    EXTERN  ?L_LSH_L03
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    COM_MAIN
   \   0000            itoa1:
      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          
     19          //bank const
     20          /*注意-以下函数必须能访问到这些常量 */
     21          #pragma memory=constseg(COM_MAIN_D)
     22          const region_t region_a = {POSITION_A, 0, 15, 16};
     23          const region_t region_b = {POSITION_B, 0, 21, 16};
     24          const region_t region_c = {POSITION_C, 0, 11, 16};
     25          const region_t region_d2 = {POSITION_D-6, 0, 23, 16};
     26          const region_t region_d = {POSITION_D, 0, 17, 16};
     27          const region_t region_cd = {POSITION_C, 0, 11+17+1, 16};
     28          const region_t region_e = {POSITION_E, 0, 16, 16};
     29          const region_t region_f = {POSITION_F, 0, 29, 16};
     30          const region_t region_ef = {POSITION_E, 0, 15+29+3, 16};
     31          const region_t region_g = {POSITION_G, 16, 128, 16};
     32          const region_t region_batt = {POSITION_BATT, 0, 13, 16};
     33          
     34          const WORD batt_id[9] = {BATTLVL1, BATTLVL2, BATTLVL3, BATTLVL4, 
     35              BATTLVL5, BATTLVL6, BATTLVL7, BATTLVL8, BATTLVL9};    //对应1~9级电量的图标
     36          #pragma memory=default
     37          
     38          /*
     39          ********************************************************************************
     40          * Description : 数字转换成字符串
     41          *
     42          * Arguments   : i, 数字
     43          *               buf, 输出字符串指针, 3 bytes
     44          *
     45          * Returns     : 成功, 输出字符串指针
     46          *
     47          * Notes       : 数字只能是 0~9
     48          *
     49          ********************************************************************************
     50          */
     51          char *itoa1(BYTE i, char *buf)
     52          {
   \   0000  DDE5              PUSH    IX
   \   0002  C5                PUSH    BC
   \   0003  DDE1              POP     IX
     53              //ASSERT(buf != NULL); 
     54              /* 
     55              buf[0] = mychar[i % 10];
     56              buf[1] = 0;
     57              */
     58              buf[0] = (i % 10) + '0';
   \   0005  060A              LD      B,10
   \   0007  7B                LD      A,E
   \   0008  CD0000            CALL    LWRD ?UC_MOD_L01
   \   000B  C630              ADD     A,48
   \   000D  DD7700            LD      (IX+0),A
     59              buf[1] = 0;            
   \   0010  DD360100          LD      (IX+1),0
     60              return buf;
   \   0014            ?0120:
   \   0014  DDE5              PUSH    IX
   \   0016  E1                POP     HL
     61          }
   \   0017  DDE1              POP     IX
   \   0019  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   001C            itoa2:
     62          
     63          /*
     64          ********************************************************************************
     65          * Description : 数字转换成字符串
     66          *
     67          * Arguments   : i, 数字
     68          *               buf, 输出字符串指针, 3 bytes
     69          *
     70          * Returns     : 成功, 输出字符串指针
     71          *
     72          * Notes       : 数字只能是 00~99
     73          *
     74          ********************************************************************************
     75          */
     76          char *itoa2(BYTE i, char *buf)
     77          {
   \   001C  DDE5              PUSH    IX
   \   001E  C5                PUSH    BC
   \   001F  DDE1              POP     IX
   \   0021  53                LD      D,E
     78              //ASSERT(buf != NULL);  
     79              /* 
     80              buf[0] = mychar[(i % 100) / 10];
     81              buf[1] = mychar[i % 10];
     82              buf[2] = 0;
     83              */
     84              buf[0] = (i % 100) / 10 + '0';
   \   0022  0664              LD      B,100
   \   0024  7B                LD      A,E
   \   0025  CD0000            CALL    LWRD ?UC_MOD_L01
   \   0028  060A              LD      B,10
   \   002A  CD0000            CALL    LWRD ?UC_DIV_L01
   \   002D  C630              ADD     A,48
   \   002F  DD7700            LD      (IX+0),A
     85              buf[1] = (i % 10) + '0';
   \   0032  7A                LD      A,D
   \   0033  CD0000            CALL    LWRD ?UC_MOD_L01
   \   0036  C630              ADD     A,48
   \   0038  DD7701            LD      (IX+1),A
     86              buf[2] = 0;    
   \   003B  DD360200          LD      (IX+2),0
     87              return buf;
   \   003F  C31400            JP      LWRD ?0120
     88          }
   \   0042            itoa3:
     89          /*
     90          ********************************************************************************
     91          * Description : 数字转换成字符串
     92          *
     93          * Arguments   : i, 数字
     94          *               buf, 输出字符串指针,4 bytes
     95          *
     96          * Returns     : 成功, 输出字符串指针
     97          *
     98          * Notes       : 数字只能是 000~999
     99          *
    100          ********************************************************************************
    101          */
    102          char *itoa3(WORD i, char *buf)
    103          {
   \   0042  FDE5              PUSH    IY
   \   0044  DDE5              PUSH    IX
   \   0046  C5                PUSH    BC
   \   0047  DDE1              POP     IX
   \   0049  D5                PUSH    DE
   \   004A  FDE1              POP     IY
    104              //ASSERT(buf != NULL);
    105              /*
    106              buf[0] = mychar[(i % 1000) / 100];
    107              buf[1] = mychar[(i % 100) / 10];    
    108              buf[2] = mychar[i % 10];
    109              buf[3] = 0;
    110              */
    111              buf[0] = (i % 1000) / 100 + '0';
   \   004C  01E803            LD      BC,1000
   \   004F  CD0000            CALL    LWRD ?US_MOD_L02
   \   0052  016400            LD      BC,100
    112              buf[1] = (i % 100) / 10 + '0';    
   \   0055  CD7900            CALL    LWRD ?0124
   \   0058  0E0A              LD      C,10
   \   005A  CD0000            CALL    LWRD ?US_DIV_L02
   \   005D  7B                LD      A,E
   \   005E  C630              ADD     A,48
   \   0060  DD7701            LD      (IX+1),A
    113              buf[2] = (i % 10) + '0';
   \   0063  CD8200            CALL    LWRD ?0125
   \   0066  7B                LD      A,E
   \   0067  C630              ADD     A,48
   \   0069  DD7702            LD      (IX+2),A
    114              buf[3] = 0;
   \   006C  DD7003            LD      (IX+3),B
    115          
    116              return buf;
   \   006F            ?0121:
   \   006F  DDE5              PUSH    IX
   \   0071  E1                POP     HL
    117          }
   \   0072  DDE1              POP     IX
   \   0074  FDE1              POP     IY
   \   0076  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0079            ?0124:
   \   0079  CD0000            CALL    LWRD ?US_DIV_L02
   \   007C  7B                LD      A,E
   \   007D  C630              ADD     A,48
   \   007F  DD7700            LD      (IX+0),A
   \   0082            ?0125:
   \   0082  FDE5              PUSH    IY
   \   0084  D1                POP     DE
   \   0085  C30000            JP      LWRD ?US_MOD_L02
   \   0088            itoa4:
    118          /*
    119          ********************************************************************************
    120          * Description : 数字转换成字符串
    121          *
    122          * Arguments   : i, 数字
    123          *               buf, 输出字符串指针,5 bytes
    124          *
    125          * Returns     : 成功, 输出字符串指针
    126          *

⌨️ 快捷键说明

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