📄 scsi.lis
字号:
; BulkStausPhase=InCSWPhase;
0218 88E0 ldi R24,8
021A 80932E00 sts _BulkStausPhase,R24
021E .dbline 134
; break;
021E 30C0 rjmp L33
0220 L38:
0220 .dbline 136
; case 0x12:
; SCSICMD_Inquiry();
0220 73D0 rcall _SCSICMD_Inquiry
0222 .dbline 137
; BulkStausPhase = InCSWPhase;
0222 88E0 ldi R24,8
0224 80932E00 sts _BulkStausPhase,R24
0228 .dbline 138
; break;
0228 2BC0 rjmp L33
022A L39:
022A .dbline 140
; case 0x1a:
; SCSICMD_ModeSense06();
022A 1AD1 rcall _SCSICMD_ModeSense06
022C .dbline 141
; BulkStausPhase=InCSWPhase;
022C 88E0 ldi R24,8
022E 80932E00 sts _BulkStausPhase,R24
0232 .dbline 142
; break;
0232 26C0 rjmp L33
0234 L40:
0234 .dbline 144
; case 0x1e:
; SCSICMD_PreventAllowMediumRemoval();
0234 32D1 rcall _SCSICMD_PreventAllowMediumRemoval
0236 .dbline 145
; BulkStausPhase=InCSWPhase;
0236 88E0 ldi R24,8
0238 80932E00 sts _BulkStausPhase,R24
023C .dbline 146
; break;
023C 21C0 rjmp L33
023E L41:
023E .dbline 148
; case 0x23:
; SCSICMD_ReadFormatCapacities();
023E 9CD0 rcall _SCSICMD_ReadFormatCapacities
0240 .dbline 149
; BulkStausPhase = InCSWPhase;
0240 88E0 ldi R24,8
0242 80932E00 sts _BulkStausPhase,R24
0246 .dbline 150
; break;
0246 1CC0 rjmp L33
0248 L42:
0248 .dbline 152
; case 0x25:
; SCSICMD_ReadCapacity();
0248 B4D0 rcall _SCSICMD_ReadCapacity
024A .dbline 153
; BulkStausPhase=InCSWPhase;
024A 88E0 ldi R24,8
024C 80932E00 sts _BulkStausPhase,R24
0250 .dbline 154
; break;
0250 17C0 rjmp L33
0252 L43:
0252 .dbline 156
; case 0x28:
; SCSICMD_Read10();
0252 C7D0 rcall _SCSICMD_Read10
0254 .dbline 157
; BulkStausPhase=InCSWPhase;
0254 88E0 ldi R24,8
0256 80932E00 sts _BulkStausPhase,R24
025A .dbline 158
; break;
025A 12C0 rjmp L33
025C L44:
025C .dbline 160
; case 0x2a:
; SCSICMD_Write10();
025C 38D1 rcall _SCSICMD_Write10
025E .dbline 161
; BulkPhase =OutDataPhase;
025E 81E0 ldi R24,1
0260 80930000 sts _BulkPhase,R24
0264 .dbline 162
; break;
0264 0DC0 rjmp L33
0266 L45:
0266 .dbline 164
; case 0x2f:
; SCSICMD_Verify10();
0266 4FD1 rcall _SCSICMD_Verify10
0268 .dbline 165
; BulkStausPhase=InCSWPhase;
0268 88E0 ldi R24,8
026A 80932E00 sts _BulkStausPhase,R24
026E .dbline 166
; break;
026E 08C0 rjmp L33
0270 L46:
0270 .dbline 168
; case 0x5a:
; SCSICMD_ModeSense10();
0270 64D1 rcall _SCSICMD_ModeSense10
0272 .dbline 169
; BulkStausPhase=InCSWPhase;
0272 88E0 ldi R24,8
0274 80932E00 sts _BulkStausPhase,R24
0278 .dbline 170
; break;
0278 03C0 rjmp L33
027A L32:
027A .dbline 172
027A 88E0 ldi R24,8
027C 80932E00 sts _BulkStausPhase,R24
0280 .dbline 173
0280 L33:
0280 .dbline -2
0280 .dbline 175
; default:
; BulkStausPhase=InCSWPhase;
; break;
; }
; }
0280 L24:
0280 00D0 rcall pop_gset1
0282 .dbline 0 ; func end
0282 0895 ret
0284 .dbfunc s Usb_BoBulkInData _Usb_BoBulkInData fI
.even
0284 _Usb_BoBulkInData::
0284 .dbline -1
0284 .dbline 197
0284 .dbline 198
0284 10910200 lds R17,_WritePageBuff+1
0288 00910100 lds R16,_WritePageBuff
028C 00D0 rcall _flashWrite
028E .dbline 199
028E 30900100 lds R3,_WriteResidueVal+1
0292 20900000 lds R2,_WriteResidueVal
0296 2220 tst R2
0298 29F4 brne L55
029A 3320 tst R3
029C 19F4 brne L55
029E .dbline 199
029E .dbline 200
029E 2224 clr R2
02A0 20920000 sts _BulkPhase,R2
02A4 .dbline 201
02A4 L55:
02A4 .dbline -2
02A4 .dbline 202
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:PC输入数据处理
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void Usb_BoBulkInData(void){
; flashWrite(WritePageBuff);
; if(WriteResidueVal == 0){
; BulkPhase = CommandPhase;
; }
; }
02A4 L54:
02A4 .dbline 0 ; func end
02A4 0895 ret
02A6 .dbfunc s Bulk_In_Packet _Bulk_In_Packet fI
.even
02A6 _Bulk_In_Packet::
02A6 .dbline -1
02A6 .dbline 224
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:回应批量传输包
; **函数输入参数及说明:无
;
; **函数返回值:无
; **在本函数以外定义的变量:
; **调用的函数说明:无
;
; **修改人:陈驰
; **修改日期:2004.4.30
; **修改说明:创建
; *************************************************************/
; void Bulk_In_Packet(void){
02A6 .dbline 225
; if(XmtBuff.wrLength != 0)
02A6 30904100 lds R3,_XmtBuff+64+1
02AA 20904000 lds R2,_XmtBuff+64
02AE 2220 tst R2
02B0 11F4 brne X11
02B2 3320 tst R3
02B4 11F0 breq L58
02B6 X11:
02B6 .dbline 226
; BULK_submit();
02B6 00D0 rcall _BULK_submit
02B8 26C0 rjmp L59
02BA L58:
02BA .dbline 227
; else if(ReadResidueVal != 0)
02BA 00E0 ldi R16,<L63
02BC 10E0 ldi R17,>L63
02BE 00D0 rcall lpm32
02C0 50900300 lds R5,_ReadResidueVal+2+1
02C4 40900200 lds R4,_ReadResidueVal+2
02C8 30900100 lds R3,_ReadResidueVal+1
02CC 20900000 lds R2,_ReadResidueVal
02D0 2016 cp R2,R16
02D2 3106 cpc R3,R17
02D4 4206 cpc R4,R18
02D6 5306 cpc R5,R19
02D8 11F0 breq L61
02DA .dbline 228
; flashRead();
02DA 00D0 rcall _flashRead
02DC 14C0 rjmp L62
02DE L61:
02DE .dbline 229
; else if(BulkStausPhase == InCSWPhase){
02DE 80912E00 lds R24,_BulkStausPhase
02E2 8830 cpi R24,8
02E4 81F4 brne L64
02E6 .dbline 229
02E6 .dbline 230
; XmtBuff.p_p=0;
02E6 2224 clr R2
02E8 20924600 sts _XmtBuff+70,R2
02EC .dbline 231
; XmtBuff.p = (unsigned char *)&Usb_Csw;
02EC 80E0 ldi R24,<_Usb_Csw
02EE 90E0 ldi R25,>_Usb_Csw
02F0 90934500 sts _XmtBuff+68+1,R25
02F4 80934400 sts _XmtBuff+68,R24
02F8 .dbline 232
; XmtBuff.wrLength = 13;
02F8 8DE0 ldi R24,13
02FA 90E0 ldi R25,0
02FC 90934100 sts _XmtBuff+64+1,R25
0300 80934000 sts _XmtBuff+64,R24
0304 .dbline 233
; BULK_submit();
0304 00D0 rcall _BULK_submit
0306 .dbline 234
; }
0306 L64:
0306 L62:
0306 L59:
0306 .dbline -2
0306 .dbline 235
; }
0306 L57:
0306 .dbline 0 ; func end
0306 0895 ret
0308 .dbfunc s SCSICMD_Inquiry _SCSICMD_Inquiry fI
.even
0308 _SCSICMD_Inquiry::
0308 .dbline -1
0308 .dbline 257
; /************************************************************
; **工程名称:U盘固件程序开发
; **编译器类型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **创建人:陈驰
; **所属单位:湖南大学计算机与通信学院
;
; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **时钟频率:8MHZ
;
; **函数功能:SCSI命令
; **函数输入参数及说明:无
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -