📄 scsi.lis
字号:
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_Inquiry(void){
0308 .dbline 258
; Usb_Set_Csw();
0308 17D0 rcall _Usb_Set_Csw
030A .dbline 259
; Usb_Csw.dCSWDataResidue[1] = 0;
030A 2224 clr R2
030C 20922800 sts _Usb_Csw+8+1,R2
0310 .dbline 260
; Usb_Csw.dCSWDataResidue[2] = 0;
0310 20922900 sts _Usb_Csw+8+2,R2
0314 .dbline 261
; Usb_Csw.dCSWDataResidue[3] = 0;
0314 20922A00 sts _Usb_Csw+8+3,R2
0318 .dbline 262
; Usb_Csw.dCSWDataResidue[4] = 0;
0318 20922B00 sts _Usb_Csw+8+4,R2
031C .dbline 263
; XmtBuff.pp = SCSI_INQUIRY;
031C 80E0 ldi R24,<_SCSI_INQUIRY
031E 90E0 ldi R25,>_SCSI_INQUIRY
0320 90934300 sts _XmtBuff+66+1,R25
0324 80934200 sts _XmtBuff+66,R24
0328 .dbline 264
; XmtBuff.wrLength = 36;
0328 84E2 ldi R24,36
032A 90E0 ldi R25,0
032C 90934100 sts _XmtBuff+64+1,R25
0330 80934000 sts _XmtBuff+64,R24
0334 .dbline 265
; BULK_submit();
0334 00D0 rcall _BULK_submit
0336 .dbline -2
0336 .dbline 266
; }
0336 L69:
0336 .dbline 0 ; func end
0336 0895 ret
0338 .dbfunc s Usb_Set_Csw _Usb_Set_Csw fI
.even
0338 _Usb_Set_Csw::
0338 .dbline -1
0338 .dbline 288
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:创建CSW数据块
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void Usb_Set_Csw(void){
0338 .dbline 289
; Usb_Csw.dCSWSignature[0] = 0x55;
0338 85E5 ldi R24,85
033A 80931F00 sts _Usb_Csw,R24
033E .dbline 290
; Usb_Csw.dCSWSignature[1] = 0x53;
033E 83E5 ldi R24,83
0340 80932000 sts _Usb_Csw+1,R24
0344 .dbline 291
; Usb_Csw.dCSWSignature[2] = 0x42;
0344 82E4 ldi R24,66
0346 80932100 sts _Usb_Csw+2,R24
034A .dbline 292
; Usb_Csw.dCSWSignature[3] = 0x53;
034A 83E5 ldi R24,83
034C 80932200 sts _Usb_Csw+3,R24
0350 .dbline 293
; Usb_Csw.dCSWTag[0] = XmtBuff.b[4];
0350 20900400 lds R2,_XmtBuff+4
0354 20922300 sts _Usb_Csw+4,R2
0358 .dbline 294
; Usb_Csw.dCSWTag[1] = XmtBuff.b[5];
0358 20900500 lds R2,_XmtBuff+5
035C 20922400 sts _Usb_Csw+4+1,R2
0360 .dbline 295
; Usb_Csw.dCSWTag[2] = XmtBuff.b[6];
0360 20900600 lds R2,_XmtBuff+6
0364 20922500 sts _Usb_Csw+4+2,R2
0368 .dbline 296
; Usb_Csw.dCSWTag[3] = XmtBuff.b[7];
0368 20900700 lds R2,_XmtBuff+7
036C 20922600 sts _Usb_Csw+4+3,R2
0370 .dbline 297
; Usb_Csw.bCSWStatus = 0;
0370 2224 clr R2
0372 20922B00 sts _Usb_Csw+12,R2
0376 .dbline -2
0376 .dbline 298
; }
0376 L80:
0376 .dbline 0 ; func end
0376 0895 ret
0378 .dbfunc s SCSICMD_ReadFormatCapacities _SCSICMD_ReadFormatCapacities fI
.even
0378 _SCSICMD_ReadFormatCapacities::
0378 .dbline -1
0378 .dbline 320
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_ReadFormatCapacities(void){
0378 .dbline 321
; Usb_Set_Csw();
0378 DFDF rcall _Usb_Set_Csw
037A .dbline 322
; Usb_Csw.dCSWDataResidue[0]=(unsigned char)(dCBWDaTrLen-0x0c);
037A 90912D00 lds R25,_dCBWDaTrLen+1
037E 80912C00 lds R24,_dCBWDaTrLen
0382 0C97 sbiw R24,12
0384 80932700 sts _Usb_Csw+8,R24
0388 .dbline 323
; Usb_Csw.dCSWDataResidue[1]=0;
0388 2224 clr R2
038A 20922800 sts _Usb_Csw+8+1,R2
038E .dbline 324
; Usb_Csw.dCSWDataResidue[2]=0;
038E 20922900 sts _Usb_Csw+8+2,R2
0392 .dbline 325
; Usb_Csw.dCSWDataResidue[3]=0;
0392 20922A00 sts _Usb_Csw+8+3,R2
0396 .dbline 326
; XmtBuff.pp = SCSIDATA_ReadFormatCapacities;
0396 80E0 ldi R24,<_SCSIDATA_ReadFormatCapacities
0398 90E0 ldi R25,>_SCSIDATA_ReadFormatCapacities
039A 90934300 sts _XmtBuff+66+1,R25
039E 80934200 sts _XmtBuff+66,R24
03A2 .dbline 327
; XmtBuff.wrLength = 12;
03A2 8CE0 ldi R24,12
03A4 90E0 ldi R25,0
03A6 90934100 sts _XmtBuff+64+1,R25
03AA 80934000 sts _XmtBuff+64,R24
03AE .dbline 328
; BULK_submit();
03AE 00D0 rcall _BULK_submit
03B0 .dbline -2
03B0 .dbline 329
; }
03B0 L96:
03B0 .dbline 0 ; func end
03B0 0895 ret
03B2 .dbfunc s SCSICMD_ReadCapacity _SCSICMD_ReadCapacity fI
.even
03B2 _SCSICMD_ReadCapacity::
03B2 .dbline -1
03B2 .dbline 351
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_ReadCapacity(void){
03B2 .dbline 352
; Usb_Set_Csw();
03B2 C2DF rcall _Usb_Set_Csw
03B4 .dbline 353
; Usb_Csw.dCSWDataResidue[1] = 0;
03B4 2224 clr R2
03B6 20922800 sts _Usb_Csw+8+1,R2
03BA .dbline 354
; Usb_Csw.dCSWDataResidue[2] = 0;
03BA 20922900 sts _Usb_Csw+8+2,R2
03BE .dbline 355
; Usb_Csw.dCSWDataResidue[3] = 0;
03BE 20922A00 sts _Usb_Csw+8+3,R2
03C2 .dbline 356
; Usb_Csw.dCSWDataResidue[4] = 0;
03C2 20922B00 sts _Usb_Csw+8+4,R2
03C6 .dbline 357
; XmtBuff.pp = SCSIDATA_ReadCapacity;
03C6 80E0 ldi R24,<_SCSIDATA_ReadCapacity
03C8 90E0 ldi R25,>_SCSIDATA_ReadCapacity
03CA 90934300 sts _XmtBuff+66+1,R25
03CE 80934200 sts _XmtBuff+66,R24
03D2 .dbline 358
; XmtBuff.wrLength = 8;
03D2 88E0 ldi R24,8
03D4 90E0 ldi R25,0
03D6 90934100 sts _XmtBuff+64+1,R25
03DA 80934000 sts _XmtBuff+64,R24
03DE .dbline 359
; BULK_submit();
03DE 00D0 rcall _BULK_submit
03E0 .dbline -2
03E0 .dbline 360
; }
03E0 L106:
03E0 .dbline 0 ; func end
03E0 0895 ret
03E2 .dbfunc s SCSICMD_Read10 _SCSICMD_Read10 fI
.even
03E2 _SCSICMD_Read10::
03E2 .dbline -1
03E2 .dbline 382
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_Read10(void){
03E2 .dbline 383
; Usb_Set_Csw();
03E2 AADF rcall _Usb_Set_Csw
03E4 .dbline 384
; Usb_Csw.dCSWDataResidue[0]=0;
03E4 2224 clr R2
03E6 20922700 sts _Usb_Csw+8,R2
03EA .dbline 385
; Usb_Csw.dCSWDataResidue[1]=0;
03EA 20922800 sts _Usb_Csw+8+1,R2
03EE .dbline 386
; Usb_Csw.dCSWDataResidue[2]=0;
03EE 20922900 sts _Usb_Csw+8+2,R2
03F2 .dbline 387
; Usb_Csw.dCSWDataResidue[3]=0;
03F2 20922A00 sts _Usb_Csw+8+3,R2
03F6 .dbline 388
; flashReadcmd();
03F6 00D0 rcall _flashReadcmd
03F8 .dbline 389
; flashRead();
03F8 00D0 rcall _flashRead
03FA .dbline -2
03FA .dbline 390
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -