📄 ui_clockdrm.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:40:37 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_setting\ui_clockdrm.c #
# List file = d:\case_i_d913f\ap\ap_setting\list\ui_clockdrm.lst #
# Object file = d:\case_i_d913f\ap\ap_setting\release\obj\ui_clockdrm.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_clockdrm.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_clockdrm(17)
\ 0000 RSEG CODE(0)
\ 0000 RSEG CONST(0)
\ 0000 EXTERN ClearScreen
\ 0000 PUBLIC CpDate
\ 0000 PUBLIC CpTime
\ 0000 PUBLIC MessageBox
\ 0000 EXTERN PutS
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextOutMode
\ 0000 EXTERN SetTextPos
\ 0000 EXTERN TM_GetGWDate
\ 0000 EXTERN TM_GetGWTime
\ 0000 EXTERN TM_SetGWDate
\ 0000 EXTERN TM_SetGWTime
\ 0000 EXTERN VMRead
\ 0000 EXTERN VMWrite
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN g_comval
\ 0000 EXTERN gwtime
\ 0000 EXTERN itoa_2
\ 0000 EXTERN itoa_4
\ 0000 EXTERN month_days
\ 0000 PUBLIC show_clockdrm
\ 0000 EXTERN systemtime
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CODE
\ 0000 CpTime:
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_clockdrm.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_BGDRM 30
19 extern comval_t g_comval;
20 extern const region_t clock_region;
21 extern unsigned long systemtime;
22 extern unsigned long gwtime;
23
24 //days of month
25 extern const char month_days[];
26
27 char CpTime(time_t *time1,time_t *time2)
28 {
\ 0000 FDE5 PUSH IY
\ 0002 DDE5 PUSH IX
\ 0004 DD210000 LD IX,0
\ 0008 DD39 ADD IX,SP
\ 000A D5 PUSH DE
\ 000B C5 PUSH BC
\ 000C FDE1 POP IY
29 if( (time1->hour) > (time2->hour) )
\ 000E 1A LD A,(DE)
\ 000F 57 LD D,A
\ 0010 0A LD A,(BC)
\ 0011 BA CP D
\ 0012 3004 JR NC,?0003
\ 0014 ?0002:
30 {
31 return 1;
\ 0014 2E01 LD L,1
32 }
\ 0016 1858 JR ?0014
\ 0018 ?0003:
33 if( (time1->hour) < (time2->hour) )
\ 0018 DD6EFE LD L,(IX-2)
\ 001B DD66FF LD H,(IX-1)
\ 001E 7E LD A,(HL)
\ 001F FDBE00 CP (IY+0)
\ 0022 3004 JR NC,?0005
\ 0024 ?0004:
34 {
35 return 0xff;
\ 0024 2EFF LD L,255
36 }
\ 0026 1848 JR ?0014
\ 0028 ?0005:
37
38 if( (time1->minute) > (time2->minute) )
\ 0028 DD6EFE LD L,(IX-2)
\ 002B DD66FF LD H,(IX-1)
\ 002E 23 INC HL
\ 002F FD7E01 LD A,(IY+1)
\ 0032 BE CP (HL)
\ 0033 3004 JR NC,?0007
\ 0035 ?0006:
39 {
40 return 1;
\ 0035 2E01 LD L,1
41 }
\ 0037 1837 JR ?0014
\ 0039 ?0007:
42
43 if( (time1->minute) < (time2->minute) )
\ 0039 DD6EFE LD L,(IX-2)
\ 003C DD66FF LD H,(IX-1)
\ 003F 23 INC HL
\ 0040 7E LD A,(HL)
\ 0041 FDBE01 CP (IY+1)
\ 0044 3004 JR NC,?0009
\ 0046 ?0008:
44 {
45 return 0xff;
\ 0046 2EFF LD L,255
46 }
\ 0048 1826 JR ?0014
\ 004A ?0009:
47
48 if( (time1->second) > (time2->second) )
\ 004A DD6EFE LD L,(IX-2)
\ 004D DD66FF LD H,(IX-1)
\ 0050 23 INC HL
\ 0051 23 INC HL
\ 0052 FD7E02 LD A,(IY+2)
\ 0055 BE CP (HL)
\ 0056 3004 JR NC,?0011
\ 0058 ?0010:
49 {
50 return 1;
\ 0058 2E01 LD L,1
51 }
\ 005A 1814 JR ?0014
\ 005C ?0011:
52
53 if( (time1->second) < (time2->second) )
\ 005C DD6EFE LD L,(IX-2)
\ 005F DD66FF LD H,(IX-1)
\ 0062 23 INC HL
\ 0063 23 INC HL
\ 0064 7E LD A,(HL)
\ 0065 FDBE02 CP (IY+2)
\ 0068 3004 JR NC,?0013
\ 006A ?0012:
54 {
55 return 0xff;
\ 006A 2EFF LD L,255
56 }
\ 006C 1802 JR ?0014
\ 006E ?0013:
57
58 return 0;
\ 006E 2E00 LD L,0
59 }
\ 0070 ?0014:
\ 0070 DDF9 LD SP,IX
\ 0072 DDE1 POP IX
\ 0074 FDE1 POP IY
\ 0076 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0079 CpDate:
60
61 char CpDate(date_t *date1,date_t *date2)
62 {
\ 0079 FDE5 PUSH IY
\ 007B DDE5 PUSH IX
\ 007D DD210000 LD IX,0
\ 0081 DD39 ADD IX,SP
\ 0083 D5 PUSH DE
\ 0084 C5 PUSH BC
\ 0085 FDE1 POP IY
63 if( (date1->year) > (date2->year) )
\ 0087 EB EX DE,HL
\ 0088 5E LD E,(HL)
\ 0089 23 INC HL
\ 008A 56 LD D,(HL)
\ 008B 0A LD A,(BC)
\ 008C 6F LD L,A
\ 008D 03 INC BC
\ 008E 0A LD A,(BC)
\ 008F 67 LD H,A
\ 0090 A7 AND A
\ 0091 ED52 SBC HL,DE
\ 0093 3004 JR NC,?0016
\ 0095 ?0015:
64 {
65 return 1;
\ 0095 2E01 LD L,1
66 }
\ 0097 1865 JR ?0027
\ 0099 ?0016:
67 if( (date1->year) < (date2->year) )
\ 0099 FD4E00 LD C,(IY+0)
\ 009C FD4601 LD B,(IY+1)
\ 009F DD6EFE LD L,(IX-2)
\ 00A2 DD66FF LD H,(IX-1)
\ 00A5 56 LD D,(HL)
\ 00A6 23 INC HL
\ 00A7 66 LD H,(HL)
\ 00A8 6A LD L,D
\ 00A9 A7 AND A
\ 00AA ED42 SBC HL,BC
\ 00AC 3004 JR NC,?0018
\ 00AE ?0017:
68 {
69 return 0xff;
\ 00AE 2EFF LD L,255
70 }
\ 00B0 184C JR ?0027
\ 00B2 ?0018:
71
72 if( (date1->month) > (date2->month) )
\ 00B2 DD6EFE LD L,(IX-2)
\ 00B5 DD66FF LD H,(IX-1)
\ 00B8 23 INC HL
\ 00B9 23 INC HL
\ 00BA FD7E02 LD A,(IY+2)
\ 00BD BE CP (HL)
\ 00BE 3004 JR NC,?0020
\ 00C0 ?0019:
73 {
74 return 1;
\ 00C0 2E01 LD L,1
75 }
\ 00C2 183A JR ?0027
\ 00C4 ?0020:
76
77 if( (date1->month) < (date2->month) )
\ 00C4 DD6EFE LD L,(IX-2)
\ 00C7 DD66FF LD H,(IX-1)
\ 00CA 23 INC HL
\ 00CB 23 INC HL
\ 00CC 7E LD A,(HL)
\ 00CD FDBE02 CP (IY+2)
\ 00D0 3004 JR NC,?0022
\ 00D2 ?0021:
78 {
79 return 0xff;
\ 00D2 2EFF LD L,255
80 }
\ 00D4 1828 JR ?0027
\ 00D6 ?0022:
81
82 if( (date1->day) > (date2->day) )
\ 00D6 DD6EFE LD L,(IX-2)
\ 00D9 DD66FF LD H,(IX-1)
\ 00DC 23 INC HL
\ 00DD 23 INC HL
\ 00DE 23 INC HL
\ 00DF FD7E03 LD A,(IY+3)
\ 00E2 BE CP (HL)
\ 00E3 3004 JR NC,?0024
\ 00E5 ?0023:
83 {
84 return 1;
\ 00E5 2E01 LD L,1
85 }
\ 00E7 1815 JR ?0027
\ 00E9 ?0024:
86
87 if( (date1->day) < (date2->day) )
\ 00E9 DD6EFE LD L,(IX-2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -