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

📄 scsi.s

📁 USB通信程序开发(附源码 精品)包括详细论文说明
💻 S
📖 第 1 页 / 共 3 页
字号:
	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 + -