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

📄 sieve.lst

📁 keil c51 UV3 最新版编译器的例子程序2。
💻 LST
字号:
C51 COMPILER V8.02   SIEVE                                                                 02/18/2006 22:10:18 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE SIEVE
OBJECT MODULE PLACED IN Sieve.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Sieve.c LARGE OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*------------------------------------------------------------------------------
   2          SIEVE.C:  Eratosthenes Sieve Prime Number Program in C from Byte Jan 1983.
   3          ------------------------------------------------------------------------------*/
   4          
   5          #include <intrins.h>
   6          #include <stdio.h>
   7          #include <reg51.h>
   8          
   9          #define TRUE 1
  10          #define FALSE 0
  11          #define SIZE 8190
  12          
  13          char xdata flags[SIZE+1];
  14          
  15          /*------------------------------------------------
  16          ------------------------------------------------*/
  17          void main (void)  {
  18   1          register int i,k;
  19   1          int prime,count,iter;
  20   1      
  21   1      /*------------------------------------------------
  22   1      Setup the serial port for 1200 baud at 16MHz.
  23   1      ------------------------------------------------*/
  24   1          SCON  = 0x50;                       /* SCON: mode 1, 8-bit UART, enable rcvr    */
  25   1          TMOD |= 0x20;                       /* TMOD: timer 1, mode 2, 8-bit reload      */
  26   1          TH1   = 221;                        /* TH1:  reload value for 1200 baud @ 16MHz */
  27   1          TR1   = 1;                          /* TR1:  timer 1 run                        */
  28   1          TI    = 1;                          /* TI:   set TI to send first char of UART  */
  29   1      
  30   1      /*------------------------------------------------
  31   1      Th following code is an implementation of the 
  32   1      Sieve of Eratosthenes.
  33   1      ------------------------------------------------*/
  34   1          printf("10 iterations\n");
  35   1          for (iter = 1; iter <= 10; iter++)  /* do program 10 times */
  36   1            { 
  37   2              P1 = iter;                      /* output iter on P1 */
  38   2      
  39   2              count = 0;                      /* initialize prime counter */
  40   2              for (i = 0; i <= SIZE; i++)     /* set all flags true */
  41   2                flags[i] = TRUE;
  42   2              for (i = 0; i <= SIZE; i++)
  43   2              {
  44   3                  if (flags[i])               /* found a prime */
  45   3                    {
  46   4                      prime = i + i + 3;      /* twice index + 3 */
  47   4                      for (k = i + prime; k <= SIZE; k += prime)
  48   4                        flags[k] = FALSE;     /* kill all multiples */
  49   4                      count++;                /* primes found */
  50   4                    }
  51   3                  }
  52   2            }
  53   1          printf("%d primes.\n",count);       /* primes found in 10th pass */
  54   1      
  55   1          while (1);
C51 COMPILER V8.02   SIEVE                                                                 02/18/2006 22:10:18 PAGE 2   

  56   1        }
  57          
  58          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    226    ----
   CONSTANT SIZE    =     27    ----
   XDATA SIZE       =   8191       6
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -