📄 message.lst
字号:
C51 COMPILER V8.02 MESSAGE 05/04/2008 21:35:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MESSAGE
OBJECT MODULE PLACED IN MESSAGE.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE MESSAGE.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<config.h>
2 #include<head.h>
3 #define MSGLEN 10
4 MSG idata msgbuf[MSGLEN];
5 Uchar msgbufwp=0,msgbufrp=0;
6 void MessageInit()
7 {
8 1 char i;
9 1 for(i=0;i<MSGLEN;i++)
10 1 msgbuf[i].message=0;
11 1 }
12 /**************************************************************************
13 * 函数原型:void SysPostMessage(char message,char param,char mode);
14 * 功 能:发送消息。
15 * 入 口: 消息类型,消息值
16 **************************************************************************/
17 void SysPostMessage(char message,char param,char mode)
18 {
19 1 char i;
20 1 if(mode==1)
21 1 {
22 2 for(i=0;i<MSGLEN;i++)
23 2 if(msgbuf[i].message==message)
24 2 {
25 3 msgbuf[i].param+=param;
26 3 return;
27 3 }
28 2 }
29 1 msgbuf[msgbufwp].message=message;
30 1 msgbuf[msgbufwp++].param=param;
31 1 if(msgbufwp>=MSGLEN)msgbufwp=0;
32 1 }
33 /**************************************************************************
34 * 函数原型:void PostMessageOne(char message,char param);
35 * 功 能:发送一次性消息。
36 * 入 口: 消息类型,消息值
37 **************************************************************************/
38 void PostMessageOne(char message,char param)
39 {
40 1 SysPostMessage(message,param,1);
41 1 }
42 /**************************************************************************
43 * 函数原型:void PostMessageOne(char message,char param);
44 * 功 能:发送一次性消息。
45 * 入 口: 消息类型,消息值
46 **************************************************************************/
47 void PostMessage(char message,char param)
48 {
49 1 SysPostMessage(message,param,0);
50 1 }
51 /**************************************************************************
52 * 函数原型:void GetMessage(MSG *msg);
53 * 功 能:接收消息消息。
54 * 入 口: 消息结构的地址
55 * 出 口: 成功获得信息为1,没有获得信息为0
C51 COMPILER V8.02 MESSAGE 05/04/2008 21:35:46 PAGE 2
56 **************************************************************************/
57 BOOL GetMessage(MSG *pMsg)
58 {
59 1 Uchar i,j;
60 1
61 1 for(i=0;i<MSGLEN;i++)
62 1 {
63 2 j=(i+msgbufrp)%MSGLEN;
64 2 if(msgbuf[j].message)
65 2 {
66 3 pMsg->message=msgbuf[j].message;
67 3 pMsg->param=msgbuf[j].param;
68 3 msgbuf[j].message=0;
69 3 if(++msgbufrp>=MSGLEN)msgbufrp=0;
70 3 return 1;
71 3 }
72 2 }
73 1 return 0;
74 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 151 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = 20 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -