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

📄 d12.lst

📁 c51单片机+pdiusbd12芯片的假u盘设计
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   D12                                                                   11/12/2008 23:04:10 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE D12
OBJECT MODULE PLACED IN D12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D12.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #include "D12_Define.h"
   3          #include <stdio.h>
   4          #include "D12.h"
   5          
   6          
   7          code unsigned char Sense[]=                                      //模式探测返回数据
   8          {
   9          0x70, 0x00, 0x05, 0x00, 0x00, 0x00,
  10          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00
  11          };
  12          
  13          
  14          code uchar DBR[]=
  15          {/*
  16                  0xeb,0x03,0x90,      //3个字节的跳转指令
  17                  'M','S','W','I','N','4','.','1',//OEM name
  18                  0x02,0x00,             //一个扇区的字节数
  19                  64,                   //每簇扇区数
  20                  1,0,                //保留扇区数  ,fat16为1,fat32为32
  21                  2,                              //文件分配表的份数
  22                                                          //根目录项数  每项为32个字节
  23                                      //本媒介的扇区总数  两个字节
  24                  0x78,               //媒介描述符  固定存储介质
  25                                                          //每个分区表所占扇区数,两个字节
  26                  0,                              //每道扇区数,没有使用柱面是存储介质
  27                  0,0,0,0,                                        //此DBR之前所隐藏的扇区数
  28                  0,0,0,0,                                        //对于fat16这里为0
  29                  0x80,                           //软盘为0,硬盘为0x80
  30                  0,                                      //保留一个字节
  31                  0x29,                           //表示后面扩展的3个BPR可以用
  32                  0x88, 0x09, 0x71, 0x20,                                              //标卷序列号
  33                  0xBC, 0xD9, 0x55, 0xC5, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    //磁盘标卷
  34                  0x46, 0x41, 0x54, 0x31, 0x36, 0x20,  0x20, 0x20,                     //文件系统类型信息
  35          ///代码引导区   固定
  36                  0xf1, 0x7d,
  37                  0xfa, 0x33, 0xc9, 0x8e,  0xd1, 0xbc, 0xfc, 0x7b,  0x16, 0x07, 0xbd, 0x78,  0x00, 0xc5, 0x76, 0x00,
  38                  0x1e, 0x56, 0x16, 0x55,  0xbf, 0x22, 0x05, 0x89,  0x7e, 0x00, 0x89, 0x4e,  0x02, 0xb1, 0x0b, 0xfc,
  39                  0xf3, 0xa4, 0x06, 0x1f,  0xbd, 0x00, 0x7c, 0xc6,  0x45, 0xfe, 0x0f, 0x8b,  0x46, 0x18, 0x88, 0x45,
  40                  0xf9, 0xfb, 0x38, 0x66,  0x24, 0x7c, 0x04, 0xcd,  0x13, 0x72, 0x3c, 0x8a,  0x46, 0x10, 0x98, 0xf7,
  41                  0x66, 0x16, 0x03, 0x46,  0x1c, 0x13, 0x56, 0x1e,  0x03, 0x46, 0x0e, 0x13,  0xd1, 0x50, 0x52, 0x89,
  42                  0x46, 0xfc, 0x89, 0x56,  0xfe, 0xb8, 0x20, 0x00,  0x8b, 0x76, 0x11, 0xf7,  0xe6, 0x8b, 0x5e, 0x0b,
  43                  0x03, 0xc3, 0x48, 0xf7,  0xf3, 0x01, 0x46, 0xfc,  0x11, 0x4e, 0xfe, 0x5a,  0x58, 0xbb, 0x00, 0x07,
  44                  0x8b, 0xfb, 0xb1, 0x01,  0xe8, 0x94, 0x00, 0x72,  0x47, 0x38, 0x2d, 0x74,  0x19, 0xb1, 0x0b, 0x56,
  45                  0x8b, 0x76, 0x3e, 0xf3,  0xa6, 0x5e, 0x74, 0x4a,  0x4e, 0x74, 0x0b, 0x03,  0xf9, 0x83, 0xc7, 0x15,
  46                  0x3b, 0xfb, 0x72, 0xe5,  0xeb, 0xd7, 0x2b, 0xc9,  0xb8, 0xd8, 0x7d, 0x87,  0x46, 0x3e, 0x3c, 0xd8,
  47                  0x75, 0x99, 0xbe, 0x80,  0x7d, 0xac, 0x98, 0x03,  0xf0, 0xac, 0x84, 0xc0,  0x74, 0x17, 0x3c, 0xff,
  48                  0x74, 0x09, 0xb4, 0x0e,  0xbb, 0x07, 0x00, 0xcd,  0x10, 0xeb, 0xee, 0xbe,  0x83, 0x7d, 0xeb, 0xe5,
  49                  0xbe, 0x81, 0x7d, 0xeb,  0xe0, 0x33, 0xc0, 0xcd,  0x16, 0x5e, 0x1f, 0x8f,  0x04, 0x8f, 0x44, 0x02,
  50                  0xcd, 0x19, 0xbe, 0x82,  0x7d, 0x8b, 0x7d, 0x0f,  0x83, 0xff, 0x02, 0x72,  0xc8, 0x8b, 0xc7, 0x48,
  51                  0x48, 0x8a, 0x4e, 0x0d,  0xf7, 0xe1, 0x03, 0x46,  0xfc, 0x13, 0x56, 0xfe,  0xbb, 0x00, 0x07, 0x53,
  52                  0xb1, 0x04, 0xe8, 0x16,  0x00, 0x5b, 0x72, 0xc8,  0x81, 0x3f, 0x4d, 0x5a,  0x75, 0xa7, 0x81, 0xbf,
  53                  0x00, 0x02, 0x42, 0x4a,  0x75, 0x9f, 0xea, 0x00,  0x02, 0x70, 0x00, 0x50,  0x52, 0x51, 0x91, 0x92,
  54                  0x33, 0xd2, 0xf7, 0x76,  0x18, 0x91, 0xf7, 0x76,  0x18, 0x42, 0x87, 0xca,  0xf7, 0x76, 0x1a, 0x8a,
  55                  0xf2, 0x8a, 0x56, 0x24,  0x8a, 0xe8, 0xd0, 0xcc,  0xd0, 0xcc, 0x0a, 0xcc,  0xb8, 0x01, 0x02, 0xcd,
C51 COMPILER V7.06   D12                                                                   11/12/2008 23:04:10 PAGE 2   

  56                  0x13, 0x59, 0x5a, 0x58,  0x72, 0x09, 0x40, 0x75,  0x01, 0x42, 0x03, 0x5e,  0x0b, 0xe2, 0xcc, 0xc3,
  57                  0x03, 0x18, 0x01, 0x27,  0x0d, 0x0a, 0x49, 0x6e,  0x76, 0x61, 0x6c, 0x69,  0x64, 0x20, 0x73, 0x79,
  58                  0x73, 0x74, 0x65, 0x6d,  0x20, 0x64, 0x69, 0x73,  0x6b, 0xff, 0x0d, 0x0a,  0x44, 0x69, 0x73, 0x6b,
  59                  0x20, 0x49, 0x2f, 0x4f,  0x20, 0x65, 0x72, 0x72,  0x6f, 0x72, 0xff, 0x0d,  0x0a, 0x52, 0x65, 0x70,
  60                  0x6c, 0x61, 0x63, 0x65,  0x20, 0x74, 0x68, 0x65,  0x20, 0x64, 0x69, 0x73,  0x6b, 0x2c, 0x20, 0x61,
  61                  0x6e, 0x64, 0x20, 0x74,  0x68, 0x65, 0x6e, 0x20,  0x70, 0x72, 0x65, 0x73,  0x73, 0x20, 0x61, 0x6e,
  62                  0x79, 0x20, 0x6b, 0x65,  0x79, 0x0d, 0x0a, 0x00,  0x49, 0x4f, 0x20, 0x20,  0x20, 0x20, 0x20, 0x20,
  63                  0x53, 0x59, 0x53, 0x4d,  0x53, 0x44, 0x4f, 0x53,  0x20, 0x20, 0x20, 0x53,  0x59, 0x53, 0x80, 0x01,
  64                  0x00, 0x57, 0x49, 0x4e,  0x42, 0x4f, 0x4f, 0x54,  0x20, 0x53, 0x59, 0x53,  0x00, 0x00,
  65          ///代码引导区   固定
  66                  0x55,0xaa                       //DBR结束标志*/
  67          
  68           0xeb, 0x3e, 0x90,                                                    //跳转指令
  69           0x4d, 0x53, 0x44, 0x4f, 0x53, 0x35, 0x2e, 0x30,                      //文件系统版本信息
  70           0x00, 0x02,                                                          //扇区字节数
  71           0x10,                                                                //每簇扇区数
  72           0x01, 0x00,                                                          //保留扇区数
  73           0x02,                                                                //该分区的FAT副本数
  74           0xF0, 0x01,                                                          //根目录项数
  75           0x00, 0x00,                                                          //小扇区数
  76           0xf8,                                                                //媒体描述符
  77           0x10, 0x00,                                                          //每FAT扇区数
  78           0x20, 0x00,                                                          //每道扇区数
  79           0x40, 0x00,                                                          //磁头数
  80           0x00, 0x00, 0x00, 0x00,                                              //隐藏扇区数
  81           0x40, 0xff, 0x00, 0x00,                                              //大扇区数
  82           0x80,                                                                //磁盘驱动器参数,80表示硬盘
  83           0x00,                                                                //保留
  84           0x29,                                                                //扩展引导标记,0x29表示后三个区可用
             - 
  85           0x88, 0x09, 0x71, 0x20,                                              //标卷序列号
  86           0xBC, 0xD9, 0x55, 0xC5, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    //磁盘标卷
  87           0x46, 0x41, 0x54, 0x31, 0x36, 0x20,  0x20, 0x20,                     //文件系统类型信息
  88           0xf1, 0x7d,
  89           0xfa, 0x33, 0xc9, 0x8e,  0xd1, 0xbc, 0xfc, 0x7b,  0x16, 0x07, 0xbd, 0x78,  0x00, 0xc5, 0x76, 0x00,
  90           0x1e, 0x56, 0x16, 0x55,  0xbf, 0x22, 0x05, 0x89,  0x7e, 0x00, 0x89, 0x4e,  0x02, 0xb1, 0x0b, 0xfc,
  91           0xf3, 0xa4, 0x06, 0x1f,  0xbd, 0x00, 0x7c, 0xc6,  0x45, 0xfe, 0x0f, 0x8b,  0x46, 0x18, 0x88, 0x45,
  92           0xf9, 0xfb, 0x38, 0x66,  0x24, 0x7c, 0x04, 0xcd,  0x13, 0x72, 0x3c, 0x8a,  0x46, 0x10, 0x98, 0xf7,
  93           0x66, 0x16, 0x03, 0x46,  0x1c, 0x13, 0x56, 0x1e,  0x03, 0x46, 0x0e, 0x13,  0xd1, 0x50, 0x52, 0x89,
  94           0x46, 0xfc, 0x89, 0x56,  0xfe, 0xb8, 0x20, 0x00,  0x8b, 0x76, 0x11, 0xf7,  0xe6, 0x8b, 0x5e, 0x0b,
  95           0x03, 0xc3, 0x48, 0xf7,  0xf3, 0x01, 0x46, 0xfc,  0x11, 0x4e, 0xfe, 0x5a,  0x58, 0xbb, 0x00, 0x07,
  96           0x8b, 0xfb, 0xb1, 0x01,  0xe8, 0x94, 0x00, 0x72,  0x47, 0x38, 0x2d, 0x74,  0x19, 0xb1, 0x0b, 0x56,
  97           0x8b, 0x76, 0x3e, 0xf3,  0xa6, 0x5e, 0x74, 0x4a,  0x4e, 0x74, 0x0b, 0x03,  0xf9, 0x83, 0xc7, 0x15,
  98           0x3b, 0xfb, 0x72, 0xe5,  0xeb, 0xd7, 0x2b, 0xc9,  0xb8, 0xd8, 0x7d, 0x87,  0x46, 0x3e, 0x3c, 0xd8,
  99           0x75, 0x99, 0xbe, 0x80,  0x7d, 0xac, 0x98, 0x03,  0xf0, 0xac, 0x84, 0xc0,  0x74, 0x17, 0x3c, 0xff,
 100           0x74, 0x09, 0xb4, 0x0e,  0xbb, 0x07, 0x00, 0xcd,  0x10, 0xeb, 0xee, 0xbe,  0x83, 0x7d, 0xeb, 0xe5,
 101           0xbe, 0x81, 0x7d, 0xeb,  0xe0, 0x33, 0xc0, 0xcd,  0x16, 0x5e, 0x1f, 0x8f,  0x04, 0x8f, 0x44, 0x02,
 102           0xcd, 0x19, 0xbe, 0x82,  0x7d, 0x8b, 0x7d, 0x0f,  0x83, 0xff, 0x02, 0x72,  0xc8, 0x8b, 0xc7, 0x48,
 103           0x48, 0x8a, 0x4e, 0x0d,  0xf7, 0xe1, 0x03, 0x46,  0xfc, 0x13, 0x56, 0xfe,  0xbb, 0x00, 0x07, 0x53,
 104           0xb1, 0x04, 0xe8, 0x16,  0x00, 0x5b, 0x72, 0xc8,  0x81, 0x3f, 0x4d, 0x5a,  0x75, 0xa7, 0x81, 0xbf,
 105           0x00, 0x02, 0x42, 0x4a,  0x75, 0x9f, 0xea, 0x00,  0x02, 0x70, 0x00, 0x50,  0x52, 0x51, 0x91, 0x92,
 106           0x33, 0xd2, 0xf7, 0x76,  0x18, 0x91, 0xf7, 0x76,  0x18, 0x42, 0x87, 0xca,  0xf7, 0x76, 0x1a, 0x8a,
 107           0xf2, 0x8a, 0x56, 0x24,  0x8a, 0xe8, 0xd0, 0xcc,  0xd0, 0xcc, 0x0a, 0xcc,  0xb8, 0x01, 0x02, 0xcd,
 108           0x13, 0x59, 0x5a, 0x58,  0x72, 0x09, 0x40, 0x75,  0x01, 0x42, 0x03, 0x5e,  0x0b, 0xe2, 0xcc, 0xc3,
 109           0x03, 0x18, 0x01, 0x27,  0x0d, 0x0a, 0x49, 0x6e,  0x76, 0x61, 0x6c, 0x69,  0x64, 0x20, 0x73, 0x79,
 110           0x73, 0x74, 0x65, 0x6d,  0x20, 0x64, 0x69, 0x73,  0x6b, 0xff, 0x0d, 0x0a,  0x44, 0x69, 0x73, 0x6b,
 111           0x20, 0x49, 0x2f, 0x4f,  0x20, 0x65, 0x72, 0x72,  0x6f, 0x72, 0xff, 0x0d,  0x0a, 0x52, 0x65, 0x70,
 112           0x6c, 0x61, 0x63, 0x65,  0x20, 0x74, 0x68, 0x65,  0x20, 0x64, 0x69, 0x73,  0x6b, 0x2c, 0x20, 0x61,
 113           0x6e, 0x64, 0x20, 0x74,  0x68, 0x65, 0x6e, 0x20,  0x70, 0x72, 0x65, 0x73,  0x73, 0x20, 0x61, 0x6e,
 114           0x79, 0x20, 0x6b, 0x65,  0x79, 0x0d, 0x0a, 0x00,  0x49, 0x4f, 0x20, 0x20,  0x20, 0x20, 0x20, 0x20,
 115           0x53, 0x59, 0x53, 0x4d,  0x53, 0x44, 0x4f, 0x53,  0x20, 0x20, 0x20, 0x53,  0x59, 0x53, 0x80, 0x01,
 116           0x00, 0x57, 0x49, 0x4e,  0x42, 0x4f, 0x4f, 0x54,  0x20, 0x53, 0x59, 0x53,  0x00, 0x00, 0x55, 0xaa,              
C51 COMPILER V7.06   D12                                                                   11/12/2008 23:04:10 PAGE 3   

 117          };
 118          
 119          
 120          
 121          code uchar Inquire[]=
 122          {
 123                  0x00,//perpheral device type
 124                  0x80,//RMB
 125                  0x00,// ISO ECMA ANSI Version
 126                  0x01,//Data Format
 127                  0x1f,//additional length
 128                  0x00,//Reserved
 129                  0x00,//Reserved
 130                  0x00,//Reserved
 131                  'S','h','u','s','h','i','@','@', //生产商       
 132                  'M','p','3','P','l','a','y','e','r',' ',' ',' ',' ',' ',' ',' ',
 133                  '0','0','0','0'
 134          };
 135          
 136          
 137          code uchar Cap[]=                                                               
 138          {       
 139                  0x00, 0x00, 0xfe, 0xa0,    //Last  Logical Block Address for 32MB 
 140                  0x00, 0x00, 0x02, 0x00     //block length in bytes
 141          };
 142          
 143          
 144          code uchar Format_Cap[]=
 145          {
 146                  0x00, 0x00, 0x00, 0x10,         //capacity list header
 147                  0x00, 0x00, 0x07, 0xf5, 0x01, 0x00, 0x02, 0x00, //capacity descriptor
 148                  //Number of Blocks =2037,unformatted media,blocklength = 512Bytes
 149                  0x00, 0x00, 0x07, 0xfd, 0x00, 0x00, 0x02, 0x00  //Formattable Capacity Descriptors
 150          };
 151          
 152          code uchar Language_Id[]={4,3,0x04,0x08};
 153          code uchar Manufacturer[]={
 154          46,         //该描述符的长度为46字节
 155          0x03,       //字符串描述符的类型编码为0x03
 156          0x12, 0x82, //舒
 157          0x02, 0x90, //适
 158          0x20, 0x00, // 
 159          0x20, 0x00, // 
 160          0x73, 0x00, //s
 161          0x68, 0x00, //h
 162          0x75, 0x00, //u
 163          0x73, 0x00, //s
 164          0x68, 0x00, //h
 165          0x69, 0x00, //i
 166          0x30, 0x00, //0
 167          0x31, 0x00, //1
 168          0x32, 0x00, //2
 169          0x33, 0x00, //3
 170          0x40, 0x00, //@
 171          0x31, 0x00, //1
 172          0x32, 0x00, //2
 173          0x36, 0x00, //6
 174          0x2e, 0x00, //.
 175          0x63, 0x00, //c
 176          0x6f, 0x00, //o
 177          0x6d, 0x00 //m
 178          };
C51 COMPILER V7.06   D12                                                                   11/12/2008 23:04:10 PAGE 4   

 179          code uchar Product[]=
 180          {12,         //该描述符的长度为12字节
 181          0x03,       //字符串描述符的类型编码为0x03
 182          0x12, 0x82, //舒
 183          0x02, 0x90, //适
 184          0x84, 0x76, //的
 185          0x55, 0x00, //U
 186          0xd8, 0x76  //盘
 187          };
 188          code uchar SerialNumber[]=
 189          {22,         //该描述符的长度为22字节
 190          0x03,       //字符串描述符的类型编码为0x03
 191          0x32, 0x00, //2
 192          0x30, 0x00, //0
 193          0x30, 0x00, //0
 194          0x38, 0x00, //8
 195          0x2d, 0x00, //-
 196          0x30, 0x00, //0
 197          0x38, 0x00, //8
 198          0x2d, 0x00, //-
 199          0x31, 0x00, //1
 200          0x33, 0x00,//3
 201          };
 202          
 203          code DEVICE_DESCRIPTOR Device_Descriptor=
 204          {
 205                  0x12,
 206                  0x01,
 207                  0x1001,
 208                  0,
 209                  0,
 210                  0,
 211                  0x10,
 212                  0x3412,
 213                  0x7856,
 214                  0x0100,
 215                  1,
 216                  2,
 217                  3,
 218                  1
 219          };
 220          
 221          code CON_INTER_ENDP_DESCRIPTOR Con_Inter_Endp_Descriptor=
 222          {
 223                  {
 224                          9,
 225                          2,
 226                          SWAP(sizeof(CON_INTER_ENDP_DESCRIPTOR)),
 227                          1,
 228                          1,
 229                          0,      
 230                          0xa0,   
 231                          0xc8,
 232                  },
 233                  {
 234                          9,
 235                          4,
 236                          0,      
 237                          0,
 238                          2,
 239                          0x08,
 240                          0x06,
C51 COMPILER V7.06   D12                                                                   11/12/2008 23:04:10 PAGE 5   

⌨️ 快捷键说明

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