⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 per_q.lst

📁 SDH光端机支路单元盘开发程序
💻 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, 通信工程学院戴佳 */
   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)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -