📄 ap_message.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:39:23 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\common\ap_message.c #
# List file = d:\case_i_d913f\ap\ap_setting\list\ap_message.lst #
# Object file = d:\case_i_d913f\ap\ap_setting\release\obj\ap_message.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\COMMON\ap_message.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ap_message(17)
\ 0000 RSEG RCODE(0)
\ 0000 EXTERN GetSysMsg
\ 0000 PUBLIC ap_get_message
\ 0000 EXTERN ap_get_message_core
\ 0000 PUBLIC ap_handle_hotkey
\ 0000 EXTERN ap_handle_hotkey_core
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 RSEG RCODE
\ 0000 ap_get_message:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * ap common lib message file, realtime part
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 * $Id: ap_message.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
10 *******************************************************************************
11 */
12 //#pragma codeseg(COM_MSG)
13
14 #include "ap_common.h"
15
16 char ap_get_message_core(char key);
17 char ap_handle_hotkey_core(char key);
18
19 /*
20 ********************************************************************************
21 * Description : 处理系统消息, 返回按键消息, 同时负责开/关背光
22 ap_get_message_core() 的入口
23 *
24 * Arguments :
25 *
26 * Returns : 返回ap能够识别的消息, 如果没有系统消息, 返回 AP_KEY_NULL
27 *
28 * Notes :
29 ********************************************************************************
30 */
31 non_banked char ap_get_message(void)
32 {
\ 0000 D5 PUSH DE
\ 0001 DDE5 PUSH IX
\ 0003 DD210000 LD IX,0
\ 0007 DD39 ADD IX,SP
\ 0009 F5 PUSH AF
33 char key;
34
35 //获取按键,没有即返回
36 key = GetSysMsg();
\ 000A CD0000 CALL LWRD GetSysMsg
\ 000D DD77FE LD (IX-2),A
37 if(key == Msg_KeyNull) return AP_KEY_NULL;
\ 0010 B7 OR A
\ 0011 2003 JR NZ,?0003
\ 0013 ?0002:
\ 0013 AF XOR A
\ 0014 180C JR ?0004
\ 0016 ?0003:
38 else return ap_get_message_core(key);
\ 0016 DD5EFE LD E,(IX-2)
\ 0019 3E00 LD A,BYTE3 ap_get_message_core
\ 001B 210000 LD HL,LWRD ap_get_message_core
\ 001E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0021 7D LD A,L
39
40 }
\ 0022 ?0004:
\ 0022 DDF9 LD SP,IX
\ 0024 DDE1 POP IX
\ 0026 D1 POP DE
\ 0027 C9 RET
\ 0028 ap_handle_hotkey:
41
42 /*
43 ********************************************************************************
44 * Description : 处理热键消息, 返回结果消息
45 ap_handle_hotkey_core() 的入口
46 *
47 * Arguments : key, 按键消息
48 *
49 * Returns : 如果有可识别的热键消息, 返回结果消息
50 如果没有可识别的热键消息, 返回0
51 *
52 * Notes :
53 *
54 ********************************************************************************
55 */
56 non_banked char ap_handle_hotkey(char key)
57 {
\ 0028 DDE5 PUSH IX
\ 002A DD210000 LD IX,0
\ 002E DD39 ADD IX,SP
\ 0030 53 LD D,E
58 if(key == AP_KEY_NULL) return 0;
\ 0031 1C INC E
\ 0032 1D DEC E
\ 0033 2003 JR NZ,?0006
\ 0035 ?0005:
\ 0035 AF XOR A
\ 0036 180A JR ?0007
\ 0038 ?0006:
59 else return ap_handle_hotkey_core(key);
\ 0038 5A LD E,D
\ 0039 3E00 LD A,BYTE3 ap_handle_hotkey_core
\ 003B 210000 LD HL,LWRD ap_handle_hotkey_core
\ 003E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0041 7D LD A,L
60 }
\ 0042 ?0007:
\ 0042 DDF9 LD SP,IX
\ 0044 DDE1 POP IX
\ 0046 C9 RET
\ 0047 END
Errors: none
Warnings: none
Code size: 71
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -