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

📄 cksum.lst

📁 8051 Web Server project See Makefile for build notes Written for Keil C51 V5.1 compiler, notes:
💻 LST
字号:
C51 COMPILER V8.02   CKSUM                                                                 01/11/2008 21:15:52 PAGE 1   


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

line level    source

   1          /*
   2          ;-------------------------------------------------------------------------
   3          ; CKSUM.A51
   4          ;
   5          ; This computes the internet checksum on an 8051
   6          ;
   7          ; Call from C program: UINT cksum(UCHAR xdata * buf, UINT length);
   8          ; Where * buf is pointer to first char (must be in xdata space)
   9          ; and "length" is number of bytes (not words) to sum over
  10          ;-------------------------------------------------------------------------
  11          */
  12          #include "net.h"
  13          
  14          UINT cksum(UCHAR xdata *check,UINT length) //计算校验和
  15          {
  16   1              LONG sum=0;
  17   1              UINT i;
  18   1              UINT xdata *ptr; 
  19   1          ptr=(UINT xdata *)check;
  20   1              for (i=0;i<(length)/2;i++)
  21   1              {
  22   2                      sum+=*ptr++;
  23   2              }
  24   1              if (length&0x01)//表示长度为单数
  25   1              {
  26   2                      sum=sum+((*ptr)&0xff00);
  27   2              }
  28   1              sum=(sum&0xffff)+((sum>>16)&0xffff);//高16位和低16位相加
  29   1              if(sum&0xffff0000)
  30   1              {//表示有进位
  31   2                      sum++;
  32   2              }
  33   1              return ( (UINT)((sum)&0xffff));
  34   1      //      return ( (UINT)(~((sum)&0xffff)));
  35   1      }
  36          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    192    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       8
   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 + -