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

📄 scsi.lis

📁 usb开发(基于D12)。。湖南大学计算机与通信学院同学毕业设计及源代码!!好的很啊
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0092 262E              mov R2,R22
 0094 3324              clr R3
 0096 F0910400          lds R31,_WritePageBuffLen+1
 009A E0910300          lds R30,_WritePageBuffLen
 009E E20D              add R30,R2
 00A0 F31D              adc R31,R3
 00A2 30900200          lds R3,_WritePageBuff+1
 00A6 20900100          lds R2,_WritePageBuff
 00AA E20D              add R30,R2
 00AC F31D              adc R31,R3
 00AE 8C2F              mov R24,R28
 00B0 9D2F              mov R25,R29
 00B2 A62F              mov R26,R22
 00B4 BB27              clr R27
 00B6 A80F              add R26,R24
 00B8 B91F              adc R27,R25
 00BA 2C90              ld R2,x
 00BC 2082              std z+0,R2
 00BE                   .dbline 87
 00BE                 L19:
 00BE                   .dbline 85
 00BE 6395              inc R22
 00C0                 L21:
 00C0                   .dbline 85
                       ;         {
                       ;             j = D12_DATA;
                       ;             csram;
                       ;             asm("st Z+,%j");
                       ;         }
                       ;         for(i=0;i<len;i++){
 00C0 6417              cp R22,R20
 00C2 38F3              brlo L18
 00C4                   .dbline 88
                       ;             WritePageBuff[WritePageBuffLen+i] = Buff[i];
                       ;         }
                       ;         WritePageBuffLen += len;
 00C4 242E              mov R2,R20
 00C6 3324              clr R3
 00C8 50900400          lds R5,_WritePageBuffLen+1
 00CC 40900300          lds R4,_WritePageBuffLen
 00D0 420C              add R4,R2
 00D2 531C              adc R5,R3
 00D4 50920400          sts _WritePageBuffLen+1,R5
 00D8 40920300          sts _WritePageBuffLen,R4
 00DC                   .dbline 89
                       ;         if(WritePageBuffLen == 512){
 00DC 842D              mov R24,R4
 00DE 952D              mov R25,R5
 00E0 8030              cpi R24,0
 00E2 E2E0              ldi R30,2
 00E4 9E07              cpc R25,R30
 00E6 39F4              brne L22
 00E8                   .dbline 89
 00E8                   .dbline 90
                       ;             Usb_BoBulkInData();
 00E8 CDD0              rcall _Usb_BoBulkInData
 00EA                   .dbline 91
                       ;             WritePageBuffLen = 0;
 00EA 2224              clr R2
 00EC 3324              clr R3
 00EE 30920400          sts _WritePageBuffLen+1,R3
 00F2 20920300          sts _WritePageBuffLen,R2
 00F6                   .dbline 92
                       ;         }
 00F6                 L22:
 00F6                   .dbline 93
                       ;     }
 00F6                 L12:
 00F6                 L7:
 00F6                   .dbline 94
                       ;     D12_COMMAND = 0x04;//选择端点(指针指向0位置)
 00F6 84E0              ldi R24,4
 00F8 8093017C          sts 31745,R24
 00FC                   .dbline 95
                       ;     cwait;
 00FC 0000              nop
 00FE                   .dbline 96
                       ;     D12_COMMAND = 0xf1;
 00FE 81EF              ldi R24,241
 0100 8093017C          sts 31745,R24
 0104                   .dbline 97
                       ;     cwait;
 0104 0000              nop
 0106                   .dbline 98
                       ;     D12_COMMAND = 0xf2;//清端点缓冲区
 0106 82EF              ldi R24,242
 0108 8093017C          sts 31745,R24
 010C                   .dbline -2
 010C                   .dbline 99
                       ; }
 010C                 L5:
 010C EF96              adiw R28,63
 010E 2196              adiw R28,1  ; offset = 64
 0110 00D0              rcall pop_gset4
 0112                   .dbline 0 ; func end
 0112 0895              ret
 0114                   .dbsym r p 12 pc
 0114                   .dbsym l Buff 0 A[64:64]c
 0114                   .dbsym r j 10 c
 0114                   .dbsym r i 22 c
 0114                   .dbsym r len 20 c
 0114                   .dbfunc s Usb_BoCommand _Usb_BoCommand fI
                         .area func_lit(rom, con, rel)
 0000                 L53:
 0000 1F01              .word `L41
 0002 3D01              .word `L32
 0004 2401              .word `L42
 0006 3D01              .word `L32
 0008 3D01              .word `L32
 000A 2901              .word `L43
 000C 3D01              .word `L32
 000E 2E01              .word `L44
                         .area text(rom, con, rel)
 0114                   .dbfile G:\source\Scsi.c
                         .even
 0114                 _Usb_BoCommand::
 0114 00D0              rcall push_gset1
 0116                   .dbline -1
 0116                   .dbline 121
                       ; /************************************************************
                       ; **工程名称:U盘固件程序开发
                       ; **编译器类型及版本:ICCAVR 6.26C
                       ; **日期:2004.4.30
                       ; **创建人:陈驰
                       ; **所属单位:湖南大学计算机与通信学院
                       ; 
                       ; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
                       ; **时钟频率:8MHZ
                       ; 
                       ; **函数功能:SCSI命令处理
                       ; **函数输入参数及说明:无
                       ; 
                       ; **函数返回值:无
                       ; **在本函数以外定义的变量:
                       ; **调用的函数说明:无
                       ; 
                       ; **修改人:陈驰
                       ; **修改日期:2004.4.30
                       ; **修改说明:创建
                       ; *************************************************************/
                       ; void Usb_BoCommand(void){   
 0116                   .dbline 122
                       ;     XmtBuff.p_p=1;
 0116 81E0              ldi R24,1
 0118 80934600          sts _XmtBuff+70,R24
 011C                   .dbline 123
                       ;     dCBWDaTrLen=((XmtBuff.b[11]<<8)+(XmtBuff.b[10]))<<15;
 011C 20900A00          lds R2,_XmtBuff+10
 0120 3324              clr R3
 0122 00910B00          lds R16,_XmtBuff+11
 0126 1127              clr R17
 0128 102F              mov R17,R16
 012A 0027              clr R16
 012C 020D              add R16,R2
 012E 131D              adc R17,R3
 0130 2FE0              ldi R18,15
 0132 30E0              ldi R19,0
 0134 00D0              rcall lsl16
 0136 10932D00          sts _dCBWDaTrLen+1,R17
 013A 00932C00          sts _dCBWDaTrLen,R16
 013E                   .dbline 124
                       ;         dCBWDaTrLen=(dCBWDaTrLen<<1)+((XmtBuff.b[9]<<8)+(XmtBuff.b[8])) ;
 013E 20900800          lds R2,_XmtBuff+8
 0142 3324              clr R3
 0144 40900900          lds R4,_XmtBuff+9
 0148 5524              clr R5
 014A 542C              mov R5,R4
 014C 4424              clr R4
 014E 420C              add R4,R2
 0150 531C              adc R5,R3
 0152 202E              mov R2,R16
 0154 312E              mov R3,R17
 0156 220C              lsl R2
 0158 331C              rol R3
 015A 240C              add R2,R4
 015C 351C              adc R3,R5
 015E 30922D00          sts _dCBWDaTrLen+1,R3
 0162 20922C00          sts _dCBWDaTrLen,R2
 0166                   .dbline 125
                       ;     Usb_Cbw.CBWCB[0] = XmtBuff.b[15];
 0166 20900F00          lds R2,_XmtBuff+15
 016A 20920F00          sts _Usb_Cbw+15,R2
 016E                   .dbline 126
                       ;     switch(Usb_Cbw.CBWCB[0]){
 016E 422D              mov R20,R2
 0170 5527              clr R21
 0172 4E31              cpi R20,30
 0174 E0E0              ldi R30,0
 0176 5E07              cpc R21,R30
 0178 09F4              brne X2
 017A 5CC0              rjmp L40
 017C                 X2:
 017C 8EE1              ldi R24,30
 017E 90E0              ldi R25,0
 0180 8417              cp R24,R20
 0182 9507              cpc R25,R21
 0184 D4F0              brlt L48
 0186                 L47:
 0186 4231              cpi R20,18
 0188 E0E0              ldi R30,0
 018A 5E07              cpc R21,R30
 018C 09F4              brne X3
 018E 48C0              rjmp L38
 0190                 X3:
 0190 82E1              ldi R24,18
 0192 90E0              ldi R25,0
 0194 8417              cp R24,R20
 0196 9507              cpc R25,R21
 0198 54F0              brlt L50
 019A                 L49:
 019A 4030              cpi R20,0
 019C 4507              cpc R20,R21
 019E 09F4              brne X4
 01A0 35C0              rjmp L36
 01A2                 X4:
 01A2 4330              cpi R20,3
 01A4 E0E0              ldi R30,0
 01A6 5E07              cpc R21,R30
 01A8 09F4              brne X5
 01AA 35C0              rjmp L37
 01AC                 X5:
 01AC 66C0              rjmp L32
 01AE                 L50:
 01AE 4A31              cpi R20,26
 01B0 E0E0              ldi R30,0
 01B2 5E07              cpc R21,R30
 01B4 09F4              brne X6
 01B6 39C0              rjmp L39
 01B8                 X6:
 01B8 60C0              rjmp L32
 01BA                 L48:
 01BA 4F32              cpi R20,47
 01BC E0E0              ldi R30,0
 01BE 5E07              cpc R21,R30
 01C0 09F4              brne X7
 01C2 51C0              rjmp L45
 01C4                 X7:
 01C4 8FE2              ldi R24,47
 01C6 90E0              ldi R25,0
 01C8 8417              cp R24,R20
 01CA 9507              cpc R25,R21
 01CC CCF0              brlt L52
 01CE                 L51:
 01CE 4332              cpi R20,35
 01D0 E0E0              ldi R30,0
 01D2 5E07              cpc R21,R30
 01D4 0CF4              brge X8
 01D6 51C0              rjmp L32
 01D8                 X8:
 01D8 8AE2              ldi R24,42
 01DA 90E0              ldi R25,0
 01DC 8417              cp R24,R20
 01DE 9507              cpc R25,R21
 01E0 0CF4              brge X9
 01E2 4BC0              rjmp L32
 01E4                 X9:
 01E4 80E0              ldi R24,<L53
 01E6 90E0              ldi R25,>L53
 01E8 042F              mov R16,R20
 01EA 152F              mov R17,R21
 01EC 0352              subi R16,35
 01EE 1040              sbci R17,0
 01F0 000F              lsl R16
 01F2 111F              rol R17
 01F4 080F              add R16,R24
 01F6 191F              adc R17,R25
 01F8 00D0              rcall lpm16
 01FA E02F              mov R30,R16
 01FC F12F              mov R31,R17
 01FE 0994              ijmp
 0200                 L52:
 0200 4A35              cpi R20,90
 0202 E0E0              ldi R30,0
 0204 5E07              cpc R21,R30
 0206 09F4              brne X10
 0208 33C0              rjmp L46
 020A                 X10:
 020A 37C0              rjmp L32
 020C                 X1:
 020C                   .dbline 126
 020C                 L36:
 020C                   .dbline 128
                       ;         case 0x00:
                       ;             SCSICMD_TestUnitReady();
 020C F7D0              rcall _SCSICMD_TestUnitReady
 020E                   .dbline 129
                       ;             BulkStausPhase = InCSWPhase;
 020E 88E0              ldi R24,8
 0210 80932E00          sts _BulkStausPhase,R24
 0214                   .dbline 130
                       ;             break;
 0214 35C0              rjmp L33
 0216                 L37:
 0216                   .dbline 132
                       ;         case 0x03:
                       ;             SCSICMD_RequestSense();
 0216 0CD1              rcall _SCSICMD_RequestSense
 0218                   .dbline 133

⌨️ 快捷键说明

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