📄 ap_message.s01
字号:
NAME ap_message(17)
RSEG RCODE(0)
EXTERN GetSysMsg
PUBLIC ap_get_message
EXTERN ap_get_message_core
PUBLIC ap_handle_hotkey
EXTERN ap_handle_hotkey_core
EXTERN ?CLZ80B_4_04_L00
EXTERN ?BANK_CALL_DIRECT_L08
RSEG RCODE
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. {
PUSH DE
PUSH AF
; 33. char key;
; 34.
; 35.
; 36. //获取按键,没有即返回
; 37. key = GetSysMsg();
CALL LWRD GetSysMsg
LD HL,0
ADD HL,SP
LD (HL),A
; 38. if(key == Msg_KeyNull) return AP_KEY_NULL;
XOR A
OR (HL)
JR Z,?0004
?0002:
?0003:
; 39. else return ap_get_message_core(key);
LD E,A
LD A,BYTE3 ap_get_message_core
LD HL,LWRD ap_get_message_core
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,L
; 40.
; 41. }
?0004:
POP HL
POP DE
RET
ap_handle_hotkey:
; 42.
; 43. /*
; 44. ********************************************************************************
; 45. * Description : 处理热键消息, 返回结果消息
; 46. ap_handle_hotkey_core() 的入口
; 47. *
; 48. * Arguments : key, 按键消息
; 49. *
; 50. * Returns : 如果有可识别的热键消息, 返回结果消息
; 51. 如果没有可识别的热键消息, 返回0
; 52. *
; 53. * Notes :
; 54. *
; 55. ********************************************************************************
; 56. */
; 57. non_banked char ap_handle_hotkey(char key)
; 58. {
; 59. if(key == AP_KEY_NULL) return 0;
INC E
DEC E
JR NZ,?0006
?0005:
XOR A
RET
?0006:
; 60. else return ap_handle_hotkey_core(key);
LD A,BYTE3 ap_handle_hotkey_core
LD HL,LWRD ap_handle_hotkey_core
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,L
; 61. }
?0007:
RET
; 62.
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -