?? cksum.lst
字號(hào):
C51 COMPILER V7.06 CKSUM 07/29/2006 13:15:57 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE CKSUM
OBJECT MODULE PLACED IN Cksum.OBJ
COMPILER INVOKED BY: c:\KEIL\C51\BIN\C51.exe Cksum.c DB OE
stmt level source
1 /*
2 ;-------------------------------------------------------------------------
3 ; Copyright (c) 2002 Jim Brady
4 ; Do not use commercially without author's permission
5 ; Last revised August 2002
6 ; CKSUM.A51
7 ;
8 ; This computes the internet checksum on an 8051
9 ;
10 ; Call from C program: UINT cksum(UCHAR xdata * buf, UINT length);
11 ; Where * buf is pointer to first char (must be in xdata space)
12 ; and "length" is number of bytes (not words) to sum over
13 ;-------------------------------------------------------------------------
14 */
15 #include "net.h"
16
17 UINT cksum(UCHAR xdata *check,UINT length) //計(jì)算校驗(yàn)和
18 {
19 1 LONG sum=0;
20 1 UINT i;
21 1 UINT xdata *ptr;
22 1 ptr=(UINT xdata *)check;
23 1 for (i=0;i<(length)/2;i++)
24 1 {
25 2 sum+=*ptr++;
26 2 }
27 1 if (length&0x01)//表示長度為單數(shù)
28 1 {
29 2 sum=sum+((*ptr)&0xff00);
30 2 }
31 1 sum=(sum&0xffff)+((sum>>16)&0xffff);//高16位和低16位相加
32 1 if(sum&0xffff0000)
33 1 {//表示有進(jìn)位
34 2 sum++;
35 2 }
36 1 return ( (UINT)((sum)&0xffff));
37 1 // return ( (UINT)(~((sum)&0xffff)));
38 1 }
39
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 202 ----
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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -