📄 ui_main_for_music.lst
字号:
##############################################################################
# #
# 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 + -