📄 scsi.s
字号:
ldi R24,8
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 359
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 360
; }
L106:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_Read10 _SCSICMD_Read10 fI
.even
_SCSICMD_Read10::
.dbline -1
.dbline 382
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_Read10(void){
.dbline 383
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 384
; Usb_Csw.dCSWDataResidue[0]=0;
clr R2
sts _Usb_Csw+8,R2
.dbline 385
; Usb_Csw.dCSWDataResidue[1]=0;
sts _Usb_Csw+8+1,R2
.dbline 386
; Usb_Csw.dCSWDataResidue[2]=0;
sts _Usb_Csw+8+2,R2
.dbline 387
; Usb_Csw.dCSWDataResidue[3]=0;
sts _Usb_Csw+8+3,R2
.dbline 388
; flashReadcmd();
rcall _flashReadcmd
.dbline 389
; flashRead();
rcall _flashRead
.dbline -2
.dbline 390
; }
L117:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_TestUnitReady _SCSICMD_TestUnitReady fI
.even
_SCSICMD_TestUnitReady::
.dbline -1
.dbline 412
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_TestUnitReady(void){
.dbline 413
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 414
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 415
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 416
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 417
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 418
; XmtBuff.p_p=0;
sts _XmtBuff+70,R2
.dbline 419
; XmtBuff.p = (unsigned char *)&Usb_Csw;
ldi R24,<_Usb_Csw
ldi R25,>_Usb_Csw
sts _XmtBuff+68+1,R25
sts _XmtBuff+68,R24
.dbline 420
; XmtBuff.wrLength = 13;
ldi R24,13
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 421
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 422
; }
L125:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_RequestSense _SCSICMD_RequestSense fI
.even
_SCSICMD_RequestSense::
.dbline -1
.dbline 444
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_RequestSense(void){
.dbline 445
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 446
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 447
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 448
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 449
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 450
; XmtBuff.pp = SCSIDATA_RequestSense;
ldi R24,<_SCSIDATA_RequestSense
ldi R25,>_SCSIDATA_RequestSense
sts _XmtBuff+66+1,R25
sts _XmtBuff+66,R24
.dbline 451
; XmtBuff.wrLength = 18;
ldi R24,18
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 452
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 453
; }
L137:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_ModeSense06 _SCSICMD_ModeSense06 fI
.even
_SCSICMD_ModeSense06::
.dbline -1
.dbline 475
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_ModeSense06(void){
.dbline 476
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 477
; Usb_Csw.dCSWDataResidue[1]=(unsigned char)(dCBWDaTrLen-0x04);
lds R25,_dCBWDaTrLen+1
lds R24,_dCBWDaTrLen
sbiw R24,4
sts _Usb_Csw+8+1,R24
.dbline 478
; Usb_Csw.dCSWDataResidue[2] = 0;
clr R2
sts _Usb_Csw+8+2,R2
.dbline 479
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 480
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 481
; XmtBuff.pp = SCSIDATA_Sense;
ldi R24,<_SCSIDATA_Sense
ldi R25,>_SCSIDATA_Sense
sts _XmtBuff+66+1,R25
sts _XmtBuff+66,R24
.dbline 482
; XmtBuff.wrLength = 4;
ldi R24,4
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 483
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 484
; }
L148:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_PreventAllowMediumRemoval _SCSICMD_PreventAllowMediumRemoval fI
.even
_SCSICMD_PreventAllowMediumRemoval::
.dbline -1
.dbline 506
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_PreventAllowMediumRemoval(void){
.dbline 507
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 508
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 509
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 510
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 511
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 512
; XmtBuff.p_p=0;
sts _XmtBuff+70,R2
.dbline 513
; XmtBuff.p = (unsigned char *)&Usb_Csw;
ldi R24,<_Usb_Csw
ldi R25,>_Usb_Csw
sts _XmtBuff+68+1,R25
sts _XmtBuff+68,R24
.dbline 514
; XmtBuff.wrLength = 13;
ldi R24,13
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 515
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 516
; }
L159:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_Write10 _SCSICMD_Write10 fI
.even
_SCSICMD_Write10::
.dbline -1
.dbline 538
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_Write10(void){
.dbline 539
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 540
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 541
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 542
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 543
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 544
; flashWritecmd();
rcall _flashWritecmd
.dbline 545
; XmtBuff.p_p=0;
clr R2
sts _XmtBuff+70,R2
.dbline 546
; XmtBuff.p = (unsigned char *)&Usb_Csw;
ldi R24,<_Usb_Csw
ldi R25,>_Usb_Csw
sts _XmtBuff+68+1,R25
sts _XmtBuff+68,R24
.dbline 547
; XmtBuff.wrLength = 13;
ldi R24,13
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 548
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 549
; }
L171:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_Verify10 _SCSICMD_Verify10 fI
.even
_SCSICMD_Verify10::
.dbline -1
.dbline 571
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_Verify10(void){
.dbline 572
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 573
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 574
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 575
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 576
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 577
; XmtBuff.p_p=0;
sts _XmtBuff+70,R2
.dbline 578
; XmtBuff.p = (unsigned char *)&Usb_Csw;
ldi R24,<_Usb_Csw
ldi R25,>_Usb_Csw
sts _XmtBuff+68+1,R25
sts _XmtBuff+68,R24
.dbline 579
; XmtBuff.wrLength = 13;
ldi R24,13
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 580
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 581
; }
L183:
.dbline 0 ; func end
ret
.dbfunc s SCSICMD_ModeSense10 _SCSICMD_ModeSense10 fI
.even
_SCSICMD_ModeSense10::
.dbline -1
.dbline 603
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void SCSICMD_ModeSense10(void){
.dbline 604
; Usb_Set_Csw();
rcall _Usb_Set_Csw
.dbline 605
; Usb_Csw.dCSWDataResidue[1] = 0;
clr R2
sts _Usb_Csw+8+1,R2
.dbline 606
; Usb_Csw.dCSWDataResidue[2] = 0;
sts _Usb_Csw+8+2,R2
.dbline 607
; Usb_Csw.dCSWDataResidue[3] = 0;
sts _Usb_Csw+8+3,R2
.dbline 608
; Usb_Csw.dCSWDataResidue[4] = 0;
sts _Usb_Csw+8+4,R2
.dbline 609
; XmtBuff.p_p=0;
sts _XmtBuff+70,R2
.dbline 610
; XmtBuff.p = (unsigned char *)&Usb_Csw;
ldi R24,<_Usb_Csw
ldi R25,>_Usb_Csw
sts _XmtBuff+68+1,R25
sts _XmtBuff+68,R24
.dbline 611
; XmtBuff.wrLength = 13;
ldi R24,13
ldi R25,0
sts _XmtBuff+64+1,R25
sts _XmtBuff+64,R24
.dbline 612
; BULK_submit();
rcall _BULK_submit
.dbline -2
.dbline 613
; }
L195:
.dbline 0 ; func end
ret
.area bss(ram, con, rel)
.dbfile G:\source\Scsi.c
_Usb_Cbw::
.blkb 31
.dbsym s Usb_Cbw _Usb_Cbw X
_Usb_Csw::
.blkb 13
.dbsym s Usb_Csw _Usb_Csw X
_dCBWDaTrLen::
.blkb 2
.dbsym s dCBWDaTrLen _dCBWDaTrLen i
_BulkStausPhase::
.blkb 1
.dbsym s BulkStausPhase _BulkStausPhase c
.area lit(rom, con, rel)
L63:
.word 0,0
.area data(ram, con, rel)
.dbfile G:\source\Scsi.c
L4:
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile G:\source\Scsi.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -