?? per_q.lst
字號:
C51 COMPILER V7.02b PER_Q 01/18/2005 21:37:40 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE PER_Q
OBJECT MODULE PLACED IN PER_Q.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE PER_Q.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************/
2 /* Copyright (c) 2004, 通信工程學(xué)院戴佳 */
3 /* All rights reserved. */
4 /* 作 者:戴佳 */
5 /****************************************/
6
7
8 //性能查詢
9 #include <other.h>
10 void PolFill(struct instruction AlmValue);
11 void Perf_query()
12 {
13 1 //struct instruction AlmVal;
14 1 struct instruction PolVal;
15 1 uchar i,j;
16 1 uchar xdata tmp[16];
17 1 uchar xdata tmp2[16];
18 1 if (f40ms==1)
19 1 {
20 2 f40ms=0;
21 2 for (i=0;i<16;i++)
22 2 {
23 3 switch (i)
24 3 {
25 4 case 0: tmp[i]=M1_033;tmp2[i]=M1_034;break;
26 4 case 1: tmp[i]=M1_063;tmp2[i]=M1_064;break;
27 4 case 2: tmp[i]=M1_093;tmp2[i]=M1_094;break;
28 4 case 3: tmp[i]=M1_0C3;tmp2[i]=M1_0C4;break;
29 4 case 4: tmp[i]=M2_033;tmp2[i]=M2_034;break;
30 4 case 5: tmp[i]=M2_063;tmp2[i]=M2_064;break;
31 4 case 6: tmp[i]=M2_093;tmp2[i]=M2_094;break;
32 4 case 7: tmp[i]=M2_0C3;tmp2[i]=M2_0C4;break;
33 4 case 8: tmp[i]=M3_033;tmp2[i]=M3_034;break;
34 4 case 9: tmp[i]=M3_063;tmp2[i]=M3_064;break;
35 4 case 10: tmp[i]=M3_093;tmp2[i]=M3_094;break;
36 4 case 11: tmp[i]=M3_0C3;tmp2[i]=M3_0C4;break;
37 4 case 12: tmp[i]=M4_033;tmp2[i]=M4_034;break;
38 4 case 13: tmp[i]=M4_063;tmp2[i]=M4_064;break;
39 4 case 14: tmp[i]=M4_093;tmp2[i]=M4_094;break;
40 4 case 15: tmp[i]=M4_0C3;tmp2[i]=M4_0C4;break;
41 4 }
42 3 CounterBIP[i]=CounterBIP[i]+tmp[i];
43 3 }
44 2 }
45 1 if (f1s==0x01)
46 1 {
47 2 f1s=0;
48 2 for (i=0;i<16;i++)
49 2 {
50 3 if (f[i]==1)
51 3 {
52 4 if ((CounterBIP[i]>0)&&(CounterBIP[i]<SESNUM))
53 4 {
54 5 CounterES[i]++;
55 5 if ((CounterES[i]>=ESThre[i])&&(ESAlm[i]==0)&&(FgPEREn[i]==1))
C51 COMPILER V7.02b PER_Q 01/18/2005 21:37:40 PAGE 2
56 5 {
57 6 ESAlm[i]=1;
58 6 PolVal.head=0x08;
59 6 PolVal.oper_obj=16;
60 6 PolVal.ObjVal[0]=i;
61 6 PolFill(PolVal);
62 6 }
63 5 if (USFlag[i]==0)
64 5 k[i]=0;
65 5 else if (m!=0)
66 5 m[i]--;
67 5 else
68 5 {
69 6 USFlag[i]=0;
70 6 CounterUS[i]=CounterUS[i]-10;
71 6 // l=0;
72 6 }
73 5
74 5 }
75 4 else if (CounterBIP[i]>=SESNUM)
76 4 {
77 5 CounterES[i]++;
78 5 CounterSES[i]++;
79 5 if ((CounterSES[i]>=SESThre[i])&&(SESAlm[i]==0)&&(FgPEREn[i]==1))
80 5 {
81 6 SESAlm[i]=1;
82 6 PolVal.head=0x08;
83 6 PolVal.oper_obj=17;
84 6 PolVal.ObjVal[0]=i;
85 6 PolFill(PolVal);
86 6 }
87 5 if (k[i]!=10)
88 5 k[i]++;
89 5 else
90 5 {
91 6 if (USFlag[i]==0)
92 6 {
93 7 USFlag[i]=1;
94 7 CounterUS[i]=CounterUS[i]+11;
95 7 }
96 6 else
97 6 CounterUS[i]++;
98 6 if ((CounterUS[i]>=USThre[i])&&(USAlm[i]==0)&&(FgPEREn[i]==1))
99 6 {
100 7 USAlm[i]=1;
101 7 PolVal.head=0x08;
102 7 PolVal.oper_obj=18;
103 7 PolVal.ObjVal[0]=i;
104 7 PolFill(PolVal);
105 7 }
106 6 m[i]=10;
107 6 }
108 5 }
109 4 }
110 3 CounterBIP[i]=0;
111 3 }
112 2 if (f15min==1)
113 2 {
114 3 f15min=0;
115 3 for (i=0;i<7;i++)
116 3 {
117 4 for (j=0;j<16;j++)
C51 COMPILER V7.02b PER_Q 01/18/2005 21:37:40 PAGE 3
118 4 {
119 5 switch (i)
120 5 {
121 6 case 0:
122 6 if (CounterES[j]-CounterUS[j]>255)
123 6 {
124 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=(CounterES[j]-CounterUS[j]
-)>>8;
125 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=(CounterES[j]-CounterUS[j]
-)&0x00FF;
126 7 }
127 6 else
128 6 {
129 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
130 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterES[j]-CounterUS[j];
131 7 }
132 6 break;
133 6 case 1:
134 6 if (CounterSES[j]-CounterUS[j]>255)
135 6 {
136 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=(CounterSES[j]-CounterUS[j
-])>>8;
137 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=(CounterSES[j]-CounterUS[j
-])&0x00FF;
138 7 }
139 6 else
140 6 {
141 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
142 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterSES[j]-CounterUS[j]
-;
143 7 }
144 6 break;
145 6 case 2:
146 6 if (CounterUS[j]>255)
147 6 {
148 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=CounterUS[j]>>8;
149 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterUS[j]&0x00FF;
150 7 }
151 6 else
152 6 {
153 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+2)=0;
154 7 *(AddrDPR+PERQ_ST_ADDR_L+(PERQ_ST_ADDR_H<<8)+((i*16+j)<<3)+3)=CounterUS[j];
155 7 }
156 6 break;
157 6 case 3:
158 6 break;
159 6 case 4:
160 6 break;
161 6 case 5:
162 6 break;
163 6 case 6:
164 6 break;
165 6 }
166 5 }
167 4 }
168 3 PolVal.head=0x10;
169 3 PolFill(PolVal);
170 3 for (i=0;i<16;i++)
171 3 {
172 4 CounterES[i]=0;
173 4 CounterSES[i]=0;
174 4 CounterUS[i]=0;
C51 COMPILER V7.02b PER_Q 01/18/2005 21:37:40 PAGE 4
175 4 ESAlm[i]=0;
176 4 SESAlm[i]=0;
177 4 USAlm[i]=0;
178 4 }
179 3 }
180 2 }
181 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2123 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 32
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -