📄 d12.lst
字号:
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 + -