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

📄 ne2000.lst

📁 周立功DP-51单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.10   NE2000                                                                07/27/2007 17:19:47 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE NE2000
OBJECT MODULE PLACED IN Ne2000.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Ne2000.h DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

line level    source

   1          #define  uint   unsigned int
   2          #define  uchar  unsigned char
   3          #define  ulong  unsigned long
   4          union   u {      unsigned int   word;
   5                           struct{unsigned char   high;unsigned char      low;}bytes;//字节顺序为高位在前的2byte结构
   6                            };
   7          
   8          union   w {  ulong      dwords;
   9                       struct {uint       high ;uint       low;}words;
  10                               struct {uchar      byte3;uchar  byte2;uchar        byte1;uchar     byte0;}bytes;
  11                    };
  12          union   Ethernet_Address_Type{
  13                                                  uint    words[3];
  14                                                          uchar   bytes[6];
  15                                           };
  16          union   Ip_Address_Type{
  17                                  ulong   dwords;
  18                                  uint    words[2];
  19                                                  uchar   bytes[4];
  20                                 };
  21          
  22          /******************以太网帧**********************/
  23          struct  ethernet {  uchar       RecStatus;              /*接收状态*/
  24                              uchar       NextPage;               /*下一个页*/
  25                              uint        length;                 /*以太网长度,以字节为单位,*/
  26                              uint        DestMacId[3];           /*目的网卡地址*/
  27                              uint        SourceMacId[3];         /*源网卡地址*/
  28                              uint        NextProtocal;       /*下一层协议*/
  29                              uchar       packet[1518];           /*包的内容*/
  30                             } ;
  31          struct  retransmit {uchar       RtStatus;                   /*重发缓冲区状态*/
  32                              uchar       timeout;                /*超时时间值,单位为10毫秒,最大2.55秒*/
  33                              uint        length;                 /*以太网长度,以字节为单位,*/
  34                              uint        DestMacId[3];           /*目的网卡地址*/
  35                              uint        SourceMacId[3];     /*源网卡地址*/
  36                              uint        NextProtocal;       /*下一层协议 */
  37                              uchar       packet[1518];       /*包的内容*/
  38                             }  ;
  39          
  40          /*******************IP包,仅当IHL=5时用,当不=5时作转换*********/
  41          struct ip { uint        EtherHead[9];   /*以太网包头*/
  42                      uchar       VerandIphLen;   /*版本与头长度*/
  43                      uchar       ServerType;     /*服务类型*/
  44                      uint        TotalLen;       /*总长度*/
  45                      uint        FrameIndex;     /*IP帧序号*/
  46                      uint        Segment;        /*分段标志*/
  47                      uchar       ttl;            /*生存时间*/
  48                      uchar       NextProtocal;   /*下一层协议*/
  49                      uint        Crc;            /*校验和*/
  50                      uint        SourceIp[2];    /*源IP*/
  51                      uint        DestId[2];      /*目的IP*/
  52                      uchar       packet[1498];   /*IP包的内容*/
  53                    };
  54          struct IpPacket  { uint         EtherHead[9];   /*以太网包头*/
  55                             uint         IpPacket[720];  /*IP包的内容*/
C51 COMPILER V7.10   NE2000                                                                07/27/2007 17:19:47 PAGE 2   

  56                           };
  57          struct arp     { uint   EtherHead[9];       /*以太网头*//* arp报文的内容总长28字节*/
  58                                                 
  59                           uint   HardwareType;       /*以太网为0x0001*/
  60                           uint   ProtocalType;           /*ip 为0X0800*/
  61                           uchar  HardwareLen;        /*=0X06*/
  62                           uchar  ProtocalLen;        /*=0X04*/
  63                           uint   Operation;              /*操作  0X0001为请求   0X0002为应答  */
  64                                                          /*0X0003为反向地址请求 0X0004为反向地址应答*/
  65                           uint   SourceMacId[3];         /*源网卡地址*/
  66                           uint   SourceIp[2];            /*源IP地址*/
  67                           uint   DestMacId[3];           /*目的网卡地址*/
  68                           uint   DestId[2];              /*目的IP地址*/
  69                          };
  70          
  71          struct icmp {/*包含在IP包中,是IP的上层为0X01的应用*/
  72                          uint    EtherHead[9];       /*以太网头*/
  73                          uint    IpHead[10];             /*IP头*/
  74                          uchar   type;                   /*0X08 PING请求 0X00 PING应答*/
  75                          uchar   option;                         /*0X00 PING*/
  76                          uint    Crc;
  77                          uint    id;
  78                          uint    seq;
  79                          uchar   icmpdata[1478];
  80                        };
  81          
  82          struct tcp {   uint     EtherHead[9];
  83                         uint     IpHead[10];
  84                         uint     SourcePort;             /*源端口*/
  85                         uint     DestPort;               /*目的端口*/
  86                         ulong    SeqNum;                         /*顺序号*/
  87                         ulong    AckNum;                         /*确认号*/
  88                         uchar    offset;                 /*数据偏移量*/
  89                         uchar    control;                /*连接控制*/
  90                         uint     window;                 /*流控*/
  91                         uint     Crc;                    /*校验和 ,包括伪头部,TCP头部,数据*/
  92                         uint     urg;                    /*紧急指针*/
  93                         uchar    tcpdata[1478];          /*TCP数据*/
  94                       };
  95          
  96          struct udp {   uint     EtherHead[9];
  97                         uint     IpHead[10];
  98                         uint     SourcePort;        /*源端口*/
  99                         uint     DestPort;          /*目的端口*/
 100                         uint     length;
 101                         uint     Crc;               /*校验和,包括伪头部,udp头部,数据*/
 102                         uchar    udpdata[1478];     /*udp数据*/
 103                       };
 104          
 105               /*所有协议的共用体*/
 106          union Netcard {struct   {uchar          bytebuf[1536];}bytes;
 107                         struct   {uint           wordbuf[768];}words;
 108                         struct   ethernet    EtherFrame;
 109                             struct       retransmit  ResendFrame;
 110                         struct   arp             ArpFrame;
 111                         struct   icmp            IcmpFrame;
 112                         struct   tcp             TcpFrame;
 113                         struct   ip              IpFrame;
 114                             struct       udp             UdpFrame;
 115                         struct   IpPacket        IpPacket;
 116                        };
 117          
C51 COMPILER V7.10   NE2000                                                                07/27/2007 17:19:47 PAGE 3   

 118          struct Socket_Type{
 119                                  uint    My_Port;                                //本机端口
 120                                                  uint    Dest_Port;                              //对方端口
 121                                                  uint    Dest_Ip[2];                             //对方ip
 122                                                  uint    Dest_Mac_Id[3];                 //对方的以太网地址
 123                                                  ulong   IRS;                                    //初始化顺序号
 124                                  ulong   ISS;                                    //我的初始化序列号
 125                                  ulong   Rcv_Next;                               //对方的顺序号
 126                                                  ulong   Send_Next;                              //我的已经发送顺序号
 127                                  ulong   Sent_UnAck;                             //我的还没有确认顺序号
 128                                                                                                                  //unsigned long dest_ack_number;
 129                                                  uint    Rcv_Window;                             //对方的window大小
 130                                  uint    Snd_Window;                     //我的window大小
 131                                          uint    Dest_Max_Seg_Size;              //对方接受的最大的数据包大小MTU
 132                                  uint    My_Max_Seg_Size;                //我能接受的最大的数据包大小
 133                                                  ulong   My_Wl1;         //seq
 134                                                  ulong   My_Wl2;         //ack
 135                                  uchar   State;          //连接状态
 136                                                  uchar   Open;
 137                            };
 138          
 139          /*tcp state define */
 140          
 141          #define         TCP_STATE_LISTEN        0
 142          #define         TCP_STATE_SYN_RCVD      1
 143          #define         TCP_STATE_SYN_SENT      2
 144          #define         TCP_STATE_ESTABLISHED   3
 145          #define         TCP_STATE_FIN_WAIT1     4
 146          #define         TCP_STATE_FIN_WAIT2     5
 147          #define         TCP_STATE_CLOSING       6
 148          #define         TCP_STATE_CLOSE_WAIT    7
 149          #define         TCP_STATE_LAST_ACK      8
 150          #define         TCP_STATE_CLOSED        9
 151          #define         TCP_STATE_TIME_WAIT     10
 152          //tcp连接的标志位
 153          #define         TCP_FIN 0x01
 154          #define         TCP_SYN 0x02
 155          #define         TCP_RST 0x04
 156          #define         TCP_PSH 0x08
 157          #define         TCP_ACK 0x10
 158          #define         TCP_URG 0x20
 159          
 160          
 161          /***    RTL8019's address deifne     ***/
 162          #define dp668
 163          #ifdef  dp668   //reg00- 10为isa网卡接口的寄存器地址300-31f
 164          #define     RED_ADDR0   RTL8019AS_BASE_ADDRESS+0x00
 165          #define     RED_ADDR1   RTL8019AS_BASE_ADDRESS+0x01
 166          #define     RED_ADDR2   RTL8019AS_BASE_ADDRESS+0x02
 167          #define     RED_ADDR3   RTL8019AS_BASE_ADDRESS+0x03
 168          #define     RED_ADDR4   RTL8019AS_BASE_ADDRESS+0x04
 169          #define     RED_ADDR5   RTL8019AS_BASE_ADDRESS+0x05
 170          #define     RED_ADDR6   RTL8019AS_BASE_ADDRESS+0x06
 171          #define     RED_ADDR7   RTL8019AS_BASE_ADDRESS+0x07
 172          #define     RED_ADDR8   RTL8019AS_BASE_ADDRESS+0x08
 173          #define     RED_ADDR9   RTL8019AS_BASE_ADDRESS+0x09

⌨️ 快捷键说明

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