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

📄 scsi.lis

📁 基于D12
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0250           ;   Bulk_Control_r.BufCount=0;  
 0250 2224              clr R2
 0252 3324              clr R3
 0254 30921102          sts _Bulk_Control_r+6+1,R3
 0258 20921002          sts _Bulk_Control_r+6,R2
 025C                   .dbline 142
 025C           ;   bEPPflags.bits.bulk_state=BULK_DATA_TRANS;
 025C 80910200          lds R24,_bEPPflags+2
 0260 887F              andi R24,248
 0262 8160              ori R24,1
 0264 80930200          sts _bEPPflags+2,R24
 0268                   .dbline 143
 0268           ;   Bulk_ErrorHandler(CSW_GOOD,CBW_bCBWCBLength);
 0268 20910800          lds R18,_Bulk_Block+8
 026C 30910900          lds R19,_Bulk_Block+8+1
 0270 0027              clr R16
 0272 0E940000          xcall _Bulk_ErrorHandler
 0276                   .dbline 144
 0276           ;   D12_WriteEndpoint(5,EP2_PACKET_SIZE,PageBuf);   
 0276 80E0              ldi R24,<_PageBuf
 0278 90E0              ldi R25,>_PageBuf
 027A 9983              std y+1,R25
 027C 8883              std y+0,R24
 027E 20E4              ldi R18,64
 0280 30E0              ldi R19,0
 0282 05E0              ldi R16,5
 0284 10E0              ldi R17,0
 0286 0E940000          xcall _D12_WriteEndpoint
 028A                   .dbline 145
 028A           ;   return TRUE;
 028A 01E0              ldi R16,1
 028C                   .dbline -2
 028C           L25:
 028C 2696              adiw R28,6
 028E 0E940000          xcall pop_gset2
 0292                   .dbline 0 ; func end
 0292 0895              ret
 0294                   .dbsym l Logical_Block_Address 2 l
 0294                   .dbend
 0294                   .dbfunc e RBC_ReadCapacity _RBC_ReadCapacity fc
                        .even
 0294           _RBC_ReadCapacity::
 0294                   .dbline -1
 0294                   .dbline 149
 0294           ; #undef  cdbRead10 
 0294           ; }
 0294           ; BOOLEAN  RBC_ReadCapacity(void)
 0294           ; {
 0294                   .dbline 150
 0294           ;   Bulk_code_transmit((const unsigned char*)&ReadCapacityData,
 0294 28E0              ldi R18,8
 0296 30E0              ldi R19,0
 0298 00E0              ldi R16,<_ReadCapacityData
 029A 10E0              ldi R17,>_ReadCapacityData
 029C 0E940000          xcall _Bulk_code_transmit
 02A0                   .dbline 152
 02A0           ;                             sizeof(READ_CAPACITY_DATA));
 02A0           ;   return TRUE;  
 02A0 01E0              ldi R16,1
 02A2                   .dbline -2
 02A2           L50:
 02A2                   .dbline 0 ; func end
 02A2 0895              ret
 02A4                   .dbend
 02A4                   .dbfunc e SPC_FormatCapacity _SPC_FormatCapacity fc
                        .even
 02A4           _SPC_FormatCapacity::
 02A4                   .dbline -1
 02A4                   .dbline 155
 02A4           ; }
 02A4           ; BOOLEAN  SPC_FormatCapacity(void)
 02A4           ; {
 02A4                   .dbline 156
 02A4           ;   Bulk_code_transmit((const unsigned char*)&CapacitylistHead,
 02A4 2CE0              ldi R18,12
 02A6 30E0              ldi R19,0
 02A8 00E0              ldi R16,<_CapacitylistHead
 02AA 10E0              ldi R17,>_CapacitylistHead
 02AC 0E940000          xcall _Bulk_code_transmit
 02B0                   .dbline 158
 02B0           ;                             CAPACITY_LIST_LENGTH);
 02B0           ;   return TRUE;
 02B0 01E0              ldi R16,1
 02B2                   .dbline -2
 02B2           L51:
 02B2                   .dbline 0 ; func end
 02B2 0895              ret
 02B4                   .dbend
 02B4                   .dbfunc e SPC_TestUnit _SPC_TestUnit fc
                        .even
 02B4           _SPC_TestUnit::
 02B4                   .dbline -1
 02B4                   .dbline 161
 02B4           ; }
 02B4           ; BOOLEAN  SPC_TestUnit(void)
 02B4           ; {
 02B4                   .dbline 162
 02B4           ;   Bulk_ErrorHandler(CSW_GOOD,0); 
 02B4 2227              clr R18
 02B6 3327              clr R19
 02B8 0027              clr R16
 02BA 0E940000          xcall _Bulk_ErrorHandler
 02BE                   .dbline 163
 02BE           ;   Bulk_CSWHandler();
 02BE 0E940000          xcall _Bulk_CSWHandler
 02C2                   .dbline 164
 02C2           ;   return TRUE;
 02C2 01E0              ldi R16,1
 02C4                   .dbline -2
 02C4           L52:
 02C4                   .dbline 0 ; func end
 02C4 0895              ret
 02C6                   .dbend
 02C6                   .dbfunc e RBC_Verify10 _RBC_Verify10 fc
                        .even
 02C6           _RBC_Verify10::
 02C6                   .dbline -1
 02C6                   .dbline 167
 02C6           ; }
 02C6           ; BOOLEAN  RBC_Verify10(void)
 02C6           ; {
 02C6                   .dbline 168
 02C6           ;   Bulk_ErrorHandler(CSW_GOOD,0); 
 02C6 2227              clr R18
 02C8 3327              clr R19
 02CA 0027              clr R16
 02CC 0E940000          xcall _Bulk_ErrorHandler
 02D0                   .dbline 169
 02D0           ;   Bulk_CSWHandler();
 02D0 0E940000          xcall _Bulk_CSWHandler
 02D4                   .dbline 170
 02D4           ;   return TRUE;
 02D4 01E0              ldi R16,1
 02D6                   .dbline -2
 02D6           L53:
 02D6                   .dbline 0 ; func end
 02D6 0895              ret
 02D8                   .dbend
 02D8                   .dbfunc e RBC_Write10 _RBC_Write10 fc
 02D8           ;        pageNum -> y+6
 02D8           ; Logical_Block_Address -> y+2
 02D8           ;       blockNum -> R12,R13
 02D8           ;              j -> R14
 02D8           ;              i -> R10
                        .even
 02D8           _RBC_Write10::
 02D8 0E940000          xcall push_gset5
 02DC 2797              sbiw R28,7
 02DE                   .dbline -1
 02DE                   .dbline 173
 02DE           ; }
 02DE           ; BOOLEAN  RBC_Write10(void)
 02DE           ; {  
 02DE                   .dbline 178
 02DE           ;   #define cdbWrite10 Bulk_Block.cbw.CBWCB.RbcCdb_Write10
 02DE           ;   unsigned char i,j,pageNum;
 02DE           ;   unsigned int  blockNum;
 02DE           ;   unsigned long Logical_Block_Address;
 02DE           ;   Logical_Block_Address=cdbWrite10.LogicalBlockAddress[0]*0x1000000;
 02DE 20901100          lds R2,_Bulk_Block+15+2
 02E2 3324              clr R3
 02E4 4424              clr R4
 02E6 5524              clr R5
 02E8 40E0              ldi R20,0
 02EA 50E0              ldi R21,0
 02EC 60E0              ldi R22,0
 02EE 71E0              ldi R23,1
 02F0 5A92              st -y,R5
 02F2 4A92              st -y,R4
 02F4 3A92              st -y,R3
 02F6 2A92              st -y,R2
 02F8 8A01              movw R16,R20
 02FA 9B01              movw R18,R22
 02FC 0E940000          xcall empy32s
 0300 FE01              movw R30,R28
 0302 0283              std z+2,R16
 0304 1383              std z+3,R17
 0306 2483              std z+4,R18
 0308 3583              std z+5,R19
 030A                   .dbline 179
 030A           ;   Logical_Block_Address+=cdbWrite10.LogicalBlockAddress[1]*0x10000;
 030A 20901200          lds R2,_Bulk_Block+15+2+1
 030E 3324              clr R3
 0310 4424              clr R4
 0312 5524              clr R5
 0314 40E0              ldi R20,0
 0316 50E0              ldi R21,0
 0318 61E0              ldi R22,1
 031A 70E0              ldi R23,0
 031C 5A92              st -y,R5
 031E 4A92              st -y,R4
 0320 3A92              st -y,R3
 0322 2A92              st -y,R2
 0324 8A01              movw R16,R20
 0326 9B01              movw R18,R22
 0328 0E940000          xcall empy32s
 032C FE01              movw R30,R28
 032E 2280              ldd R2,z+2
 0330 3380              ldd R3,z+3
 0332 4480              ldd R4,z+4
 0334 5580              ldd R5,z+5
 0336 200E              add R2,R16
 0338 311E              adc R3,R17
 033A 421E              adc R4,R18
 033C 531E              adc R5,R19
 033E FE01              movw R30,R28
 0340 2282              std z+2,R2
 0342 3382              std z+3,R3
 0344 4482              std z+4,R4
 0346 5582              std z+5,R5
 0348                   .dbline 180
 0348           ;   Logical_Block_Address+=cdbWrite10.LogicalBlockAddress[2]*0x100;
 0348 20911300          lds R18,_Bulk_Block+15+2+2
 034C 3327              clr R19
 034E 00E0              ldi R16,256
 0350 11E0              ldi R17,1
 0352 0E940000          xcall empy16s
 0356 1801              movw R2,R16
 0358 4424              clr R4
 035A 37FC              sbrc R3,7
 035C 4094              com R4
 035E 5524              clr R5
 0360 47FC              sbrc R4,7
 0362 5094              com R5
 0364 FE01              movw R30,R28
 0366 6280              ldd R6,z+2
 0368 7380              ldd R7,z+3
 036A 8480              ldd R8,z+4
 036C 9580              ldd R9,z+5
 036E 620C              add R6,R2
 0370 731C              adc R7,R3
 0372 841C              adc R8,R4
 0374 951C              adc R9,R5
 0376 FE01              movw R30,R28
 0378 6282              std z+2,R6
 037A 7382              std z+3,R7
 037C 8482              std z+4,R8
 037E 9582              std z+5,R9
 0380                   .dbline 181
 0380           ;   Logical_Block_Address+=cdbWrite10.LogicalBlockAddress[3];
 0380 20901400          lds R2,_Bulk_Block+15+2+3
 0384 3324              clr R3
 0386 4424              clr R4
 0388 5524              clr R5
 038A FE01              movw R30,R28
 038C 6280              ldd R6,z+2
 038E 7380              ldd R7,z+3
 0390 8480              ldd R8,z+4
 0392 9580              ldd R9,z+5
 0394 620C              add R6,R2
 0396 731C              adc R7,R3
 0398 841C              adc R8,R4
 039A 951C              adc R9,R5
 039C FE01              movw R30,R28
 039E 6282              std z+2,R6
 03A0 7382              std z+3,R7
 03A2 8482              std z+4,R8
 03A4 9582              std z+5,R9
 03A6                   .dbline 182
 03A6           ;   Bulk_Control_w.Transfer_Length=cdbWrite10.TransferLength[0]*256+cdbWrite10.TransferLength[1];
 03A6 20911600          lds R18,_Bulk_Block+15+7
 03AA 3327              clr R19
 03AC 00E0              ldi R16,256
 03AE 11E0              ldi R17,1
 03B0 0E940000          xcall empy16s
 03B4 1801              movw R2,R16
 03B6 40901700          lds R4,_Bulk_Block+15+7+1
 03BA 5524              clr R5
 03BC 240C              add R2,R4
 03BE 351C              adc R3,R5
 03C0 30920102          sts _Bulk_Control_w+1,R3
 03C4 20920002          sts _Bulk_Control_w,R2
 03C8                   .dbline 183
 03C8           ;   Bulk_Control_w.CurrentPage=Logical_Block_Address%32;
 03C8 4FE1              ldi R20,31
 03CA 50E0              ldi R21,0
 03CC 60E0              ldi R22,0
 03CE 70E0              ldi R23,0
 03D0 FE01              movw R30,R28
 03D2 2280              ldd R2,z+2
 03D4 3380              ldd R3,z+3
 03D6 4480              ldd R4,z+4
 03D8 5580              ldd R5,z+5
 03DA 2422              and R2,R20
 03DC 3522              and R3,R21
 03DE 4622              and R4,R22
 03E0 5722              and R5,R23
 03E2 20920402          sts _Bulk_Control_w+4,R2
 03E6                   .dbline 184
 03E6           ;   Bulk_Control_w.CurrentBlock=Logical_Block_Address/32;
 03E6 85E0              ldi R24,5
 03E8 90E0              ldi R25,0
 03EA FE01              movw R30,R28
 03EC 2280              ldd R2,z+2
 03EE 3380              ldd R3,z+3
 03F0 4480              ldd R4,z+4
 03F2 5580              ldd R5,z+5
 03F4 8A93              st -y,R24
 03F6 8101              movw R16,R2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -