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

📄 ui_clock.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       27/Sep/107  17:40:24 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_setting\ui_clock.c            #
#       List file     =  d:\case_i_d913f\ap\ap_setting\list\ui_clock.lst     #
#       Object file   =  d:\case_i_d913f\ap\ap_setting\release\obj\ui_clock.r01#
#       Command line  =  -v0 -mb                                             #
#                        -OD:\case_i_d913f\ap\ap_setting\release\Obj\ -e -K  #
#                        -w -gA -s7 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_setting\List\ -q -t8        #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_SETTING\ui_clock.c            #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_clock(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  TM_GetDate
   \   0000                    EXTERN  TM_GetTime
   \   0000                    EXTERN  TM_SetDate
   \   0000                    EXTERN  TM_SetTime
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  VMWrite
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    PUBLIC  clock_region
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  gwtime
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  itoa_4
   \   0000                    PUBLIC  month_days
   \   0000                    PUBLIC  show_clock
   \   0000                    EXTERN  systemtime
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            show_clock:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        system setting ap of sdk 3.0, ui part,
      5          *    this function is too big to fit in a bank with others
      6          *
      7          *        (c) Copyright, Actions Co,Ld.
      8          *             All Right Reserved
      9          *
     10          *  $Id: ui_clock.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
     11          *******************************************************************************
     12          */
     13          #include "actos.h"
     14          #include "enhanced.h"
     15          #include "ap_common.h"
     16          #include "ap_setting.h"
     17          
     18          #define POSITION_CLOCK_BG    30
     19          
     20          extern unsigned long systemtime;
     21          extern unsigned long gwtime;
     22          
     23          const region_t clock_region= {34, 40, 60, 16};
     24          
     25          //days of month
     26          const char month_days[]={31,28,31,30,31,30,31,31,30,31,30,31 };
     27          
     28          /*
     29          ********************************************************************************
     30          * Description : 录音时间设定界面
     31          *
     32          * Arguments   :
     33          *
     34          * Returns     :
     35          *
     36          * Notes       :
     37          *
     38          ********************************************************************************
     39          */
     40          int show_clock(void)
     41          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  DDE5              PUSH    IX
   \   0004  DD210000          LD      IX,0
   \   0008  DD39              ADD     IX,SP
   \   000A  21D4FF            LD      HL,65492
   \   000D  39                ADD     HL,SP
   \   000E  F9                LD      SP,HL
     42              char  bSettime=0;
   \   000F  DD36E000          LD      (IX-32),0
     43              char  bTimeAdd=0xFF;
   \   0013  DD36E3FF          LD      (IX-29),255
     44              date_t date={2007, 1, 1};
   \   0017  210000            LD      HL,0
   \   001A  39                ADD     HL,SP
   \   001B  5D                LD      E,L
   \   001C  54                LD      D,H
   \   001D  211000            LD      HL,?0002
   \   0020  010400            LD      BC,4
   \   0023  EDB0              LDIR
     45              time_t time={12, 00, 00};
   \   0025  210400            LD      HL,4
   \   0028  39                ADD     HL,SP
   \   0029  5D                LD      E,L
   \   002A  54                LD      D,H
   \   002B  211400            LD      HL,?0003
   \   002E  010300            LD      BC,3
   \   0031  EDB0              LDIR
     46              char buf[11];    //date &  time
     47              char key;
     48              char set_what=0;    //0, 非设定状态, 1,year, 2,month...
   \   0033  DD36DC00          LD      (IX-36),0
     49              BOOL show_what=TRUE;    //true, 显示, false, 不显示
   \   0037  DD36E601          LD      (IX-26),1
     50              char days;        //本月的天数
     51              BOOL result;
     52              BOOL need_draw=TRUE;
   \   003B  DD36DF01          LD      (IX-33),1
     53              BOOL need_draw_backgroud=TRUE;
   \   003F  DD36E501          LD      (IX-27),1
     54              BOOL set_ok=FALSE;    //设置完成
   \   0043  DD36E400          LD      (IX-28),0
     55              BOOL adjusting=FALSE;        //正在设置,不要闪烁
   \   0047  DD36E100          LD      (IX-31),0
     56              kval_t  kval;
     57          
     58              //read date & time
     59              result = TM_GetDate(&date, 0);
   \   004B  0E00              LD      C,0
   \   004D  210000            LD      HL,0
   \   0050  39                ADD     HL,SP
   \   0051  5D                LD      E,L
   \   0052  54                LD      D,H
   \   0053  CD0000            CALL    LWRD TM_GetDate
   \   0056  DD77E2            LD      (IX-30),A
     60              //DUMP("get date ok!", 0);
     61              ASSERT(result);
     62              result = TM_GetTime(&time);
   \   0059  210400            LD      HL,4
   \   005C  39                ADD     HL,SP
   \   005D  5D                LD      E,L
   \   005E  54                LD      D,H
   \   005F  CD0000            CALL    LWRD TM_GetTime
   \   0062  DD77E2            LD      (IX-30),A
     63              //DUMP("get time ok!", 0);
     64              ASSERT(result);
     65              bSettime=0;
   \   0065  DD36E000          LD      (IX-32),0
     66              bTimeAdd=0xFF;
   \   0069  DD36E3FF          LD      (IX-29),255
   \   006D            ?0005:
     67              
     68              while(1)
     69              {
     70                  //显示背景
     71                  if(need_draw_backgroud)
   \   006D  AF                XOR     A
   \   006E  DDB6E5            OR      (IX-27)
   \   0071  284D              JR      Z,?0008
   \   0073            ?0007:
     72                  {
     73                        ResShowPic(CLKBCK,0,0);
   \   0073  0E00              LD      C,0
   \   0075  C5                PUSH    BC
   \   0076  0E00              LD      C,0
   \   0078  112400            LD      DE,36
   \   007B  3E00              LD      A,BYTE3 ResShowPic
   \   007D  210000            LD      HL,LWRD ResShowPic
   \   0080  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0083  F1                POP     AF
     74                        ///-SetTextOutMode(1);
     75                        SetBackgdColor(0x0000df1c);
   \   0084  010000            LD      BC,0
   \   0087  111CDF            LD      DE,57116
   \   008A  CD0000            CALL    LWRD SetBackgdColor
     76                        SetPenColor(Color_BLACK_def);
   \   008D  010000            LD      BC,0
   \   0090  110000            LD      DE,0
   \   0093  CD0000            CALL    LWRD SetPenColor
     77                        ResShowMultiString(SMAIN1,g_comval.langid,255,1);
   \   0096  0E01              LD      C,1
   \   0098  C5                PUSH    BC
   \   0099  0EFF              LD      C,255
   \   009B  C5                PUSH    BC
   \   009C  ED4B0C00          LD      BC,(g_comval+12)
   \   00A0  11F101            LD      DE,497
   \   00A3  3E00              LD      A,BYTE3 ResShowMultiString
   \   00A5  210000            LD      HL,LWRD ResShowMultiString
   \   00A8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00AB  F1                POP     AF
   \   00AC  F1                POP     AF
     78                        SetBackgdColor(Color_MENU_def);
   \   00AD  010000            LD      BC,0
   \   00B0  11FFFF            LD      DE,65535
   \   00B3  CD0000            CALL    LWRD SetBackgdColor
     79                        ///-SetTextOutMode(0);
     80                        output8(0x4e,input8(0x4e)|0x08);
   \   00B6  DB4E              IN      A,(78)
   \   00B8  CBDF              SET     3,A
   \   00BA  D34E              OUT     (78),A
     81                        need_draw_backgroud = FALSE;
   \   00BC  DD36E500          LD      (IX-27),0
   \   00C0            ?0008:
     82                  }
     83          
     84                  //显示时钟
     85                  if(need_draw)
   \   00C0  AF                XOR     A
   \   00C1  DDB6DF            OR      (IX-33)
   \   00C4  CAD302            JP      Z,?0010
   \   00C7            ?0009:
     86                  {
     87                      if(bTimeAdd==0xff)
   \   00C7  DD46E3            LD      B,(IX-29)
   \   00CA  04                INC     B
   \   00CB  203B              JR      NZ,?0014
   \   00CD            ?0011:
     88                      {
     89                          result = TM_GetDate(&date, 0);
   \   00CD  0E00              LD      C,0
   \   00CF  210000            LD      HL,0
   \   00D2  39                ADD     HL,SP
   \   00D3  5D                LD      E,L
   \   00D4  54                LD      D,H
   \   00D5  CD0000            CALL    LWRD TM_GetDate
   \   00D8  DD77E2            LD      (IX-30),A
     90                          result = TM_GetTime(&time);
   \   00DB  210400            LD      HL,4
   \   00DE  39                ADD     HL,SP
   \   00DF  5D                LD      E,L
   \   00E0  54                LD      D,H
   \   00E1  CD0000            CALL    LWRD TM_GetTime
   \   00E4  DD77E2            LD      (IX-30),A
     91          
     92                          //系统时间没作2098限制,ap层限制
     93                          if ( date.year >= 2099 )    //2000~2098
   \   00E7  013308            LD      BC,2099
   \   00EA  DD6ED4            LD      L,(IX-44)
   \   00ED  DD66D5            LD      H,(IX-43)
   \   00F0  A7                AND     A
   \   00F1  ED42              SBC     HL,BC
   \   00F3  3813              JR      C,?0014
   \   00F5            ?0013:
     94                          {
     95                              date.year = 2000;
   \   00F5  DD36D4D0          LD      (IX-44),208
   \   00F9  DD36D507          LD      (IX-43),7
     96                              TM_SetDate(&date, 0);
   \   00FD  0E00              LD      C,0
   \   00FF  210000            LD      HL,0
   \   0102  39                ADD     HL,SP
   \   0103  5D                LD      E,L
   \   0104  54                LD      D,H
   \   0105  CD0000            CALL    LWRD TM_SetDate
   \   0108            ?0014:
   \   0108            ?0012:
     97                          }
     98                          ASSERT(result);
     99                      }
    100          
    101                      SetPenColor(Color_WHITE_def); 
   \   0108  010000            LD      BC,0
   \   010B  11FFFF            LD      DE,65535
   \   010E  CD0000            CALL    LWRD SetPenColor
    102                      itoa_4(date.year, buf);  
   \   0111  211400            LD      HL,20
   \   0114  39                ADD     HL,SP
   \   0115  4D                LD      C,L
   \   0116  44                LD      B,H
   \   0117  DD5ED4            LD      E,(IX-44)
   \   011A  DD56D5            LD      D,(IX-43)
   \   011D  3E00              LD      A,BYTE3 itoa_4
   \   011F  210000            LD      HL,LWRD itoa_4
   \   0122  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    103                      
    104                      SetTextPos(23-9,47-2);
   \   0125  0E2D              LD      C,45
   \   0127  1E0E              LD      E,14
   \   0129  CD0000            CALL    LWRD SetTextPos
    105                      if(set_what == 1)
   \   012C  DD46DC            LD      B,(IX-36)
   \   012F  05                DEC     B
   \   0130  2016              JR      NZ,?0016
   \   0132            ?0015:
    106                      {
    107                             SetBackgdColor(Color_BLACK_def);
   \   0132  010000            LD      BC,0
   \   0135  110000            LD      DE,0
   \   0138  CD0000            CALL    LWRD SetBackgdColor
    108                             PutS(buf, -1);
   \   013B  0EFF              LD      C,255
   \   013D  211400            LD      HL,20
   \   0140  39                ADD     HL,SP
   \   0141  5D                LD      E,L
   \   0142  54                LD      D,H
   \   0143  CD0000            CALL    LWRD PutS
    109                      }
    110                      else 
   \   0146  1814              JR      ?0017
   \   0148            ?0016:
    111                      {
    112                          SetBackgdColor(0x930);
   \   0148  010000            LD      BC,0
   \   014B  113009            LD      DE,2352
   \   014E  CD0000            CALL    LWRD SetBackgdColor
    113                          PutS(buf, -1);
   \   0151  0EFF              LD      C,255
   \   0153  211400            LD      HL,20
   \   0156  39                ADD     HL,SP

⌨️ 快捷键说明

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