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

📄 isr.lis

📁 基于D12
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 04F6           L103:
 04F6                   .dbline 210
 04F6           ;      else
 04F6           ;        Bulk_CSWHandler();   
 04F6 0E940000          xcall _Bulk_CSWHandler
 04FA           L104:
 04FA           L99:
 04FA                   .dbline 211
 04FA           ;   }    
 04FA           L95:
 04FA           L93:
 04FA           L78:
 04FA                   .dbline -2
 04FA           L76:
 04FA 2296              adiw R28,2
 04FC 0E940000          xcall pop_gset1
 0500                   .dbline 0 ; func end
 0500 0895              ret
 0502                   .dbsym r i 20 i
 0502                   .dbend
 0502                   .dbfunc e main_rxdone _main_rxdone fV
 0502           ;            len -> R20
 0502           ;              i -> R20
                        .even
 0502           _main_rxdone::
 0502 0E940000          xcall push_gset1
 0506 2297              sbiw R28,2
 0508                   .dbline -1
 0508                   .dbline 214
 0508           ; }
 0508           ; void main_rxdone(void)
 0508           ; {
 0508                   .dbline 216
 0508           ;   unsigned char len,i;
 0508           ;   D12_ReadLastTransactionStatus(4);
 0508 04E0              ldi R16,4
 050A 0E940000          xcall _D12_ReadLastTransactionStatus
 050E                   .dbline 217
 050E           ;   if(bEPPflags.bits.bulk_state==BULK_IDLE)         
 050E 80910800          lds R24,_bEPPflags+2
 0512 8770              andi R24,7
 0514 19F4              brne L117
 0516                   .dbline 218
 0516           ;        Bulk_CBWHandler();
 0516 0E940000          xcall _Bulk_CBWHandler
 051A B0C0              xjmp L118
 051C           L117:
 051C                   .dbline 219
 051C           ;   else if(bEPPflags.bits.bulk_state==BULK_DATA_RECIEVE)
 051C 80910800          lds R24,_bEPPflags+2
 0520 8770              andi R24,7
 0522 8430              cpi R24,4
 0524 09F0              breq X10
 0526 AAC0              xjmp L120
 0528           X10:
 0528                   .dbline 220
 0528           ;   {
 0528                   .dbline 221
 0528           ;       len=D12_ReadEndpoint(4,64,PageBuf+Bulk_Control_w.BufCount);
 0528 80E0              ldi R24,<_PageBuf
 052A 90E0              ldi R25,>_PageBuf
 052C 20900600          lds R2,_Bulk_Control_w+6
 0530 30900700          lds R3,_Bulk_Control_w+6+1
 0534 280E              add R2,R24
 0536 391E              adc R3,R25
 0538 3982              std y+1,R3
 053A 2882              std y+0,R2
 053C 20E4              ldi R18,64
 053E 04E0              ldi R16,4
 0540 0E940000          xcall _D12_ReadEndpoint
 0544 402F              mov R20,R16
 0546                   .dbline 222
 0546           ;         Bulk_Control_w.BufCount+=len;
 0546 242E              mov R2,R20
 0548 3324              clr R3
 054A 40900600          lds R4,_Bulk_Control_w+6
 054E 50900700          lds R5,_Bulk_Control_w+6+1
 0552 420C              add R4,R2
 0554 531C              adc R5,R3
 0556 50920700          sts _Bulk_Control_w+6+1,R5
 055A 40920600          sts _Bulk_Control_w+6,R4
 055E                   .dbline 223
 055E           ;         if(Bulk_Control_w.BufCount>=448)
 055E C201              movw R24,R4
 0560 803C              cpi R24,192
 0562 E1E0              ldi R30,1
 0564 9E07              cpc R25,R30
 0566 C0F0              brlo L125
 0568                   .dbline 224
 0568           ;         {
 0568                   .dbline 225
 0568           ;          len=D12_ReadEndpoint(4,64,PageBuf+Bulk_Control_w.BufCount);
 0568 80E0              ldi R24,<_PageBuf
 056A 90E0              ldi R25,>_PageBuf
 056C 1201              movw R2,R4
 056E 280E              add R2,R24
 0570 391E              adc R3,R25
 0572 3982              std y+1,R3
 0574 2882              std y+0,R2
 0576 20E4              ldi R18,64
 0578 04E0              ldi R16,4
 057A 0E940000          xcall _D12_ReadEndpoint
 057E 402F              mov R20,R16
 0580                   .dbline 226
 0580           ;                Bulk_Control_w.BufCount+=len;            
 0580 242E              mov R2,R20
 0582 3324              clr R3
 0584 40900600          lds R4,_Bulk_Control_w+6
 0588 50900700          lds R5,_Bulk_Control_w+6+1
 058C 420C              add R4,R2
 058E 531C              adc R5,R3
 0590 50920700          sts _Bulk_Control_w+6+1,R5
 0594 40920600          sts _Bulk_Control_w+6,R4
 0598                   .dbline 227
 0598           ;         } 
 0598           L125:
 0598                   .dbline 228
 0598           ;         if(Bulk_Control_w.BufCount>=512)      
 0598 80910600          lds R24,_Bulk_Control_w+6
 059C 90910700          lds R25,_Bulk_Control_w+6+1
 05A0 8030              cpi R24,0
 05A2 E2E0              ldi R30,2
 05A4 9E07              cpc R25,R30
 05A6 08F1              brlo L130
 05A8                   .dbline 229
 05A8           ;       {
 05A8                   .dbline 230
 05A8           ;           WritePage(Bulk_Control_w.CurrentBlock,Bulk_Control_w.CurrentPage,PageBuf);
 05A8 80E0              ldi R24,<_PageBuf
 05AA 90E0              ldi R25,>_PageBuf
 05AC 9983              std y+1,R25
 05AE 8883              std y+0,R24
 05B0 20910400          lds R18,_Bulk_Control_w+4
 05B4 3327              clr R19
 05B6 00910200          lds R16,_Bulk_Control_w+2
 05BA 10910300          lds R17,_Bulk_Control_w+2+1
 05BE 0E940000          xcall _WritePage
 05C2                   .dbline 231
 05C2           ;               Bulk_Control_w.CurrentPage++;
 05C2 80910400          lds R24,_Bulk_Control_w+4
 05C6 8F5F              subi R24,255    ; addi 1
 05C8 80930400          sts _Bulk_Control_w+4,R24
 05CC                   .dbline 232
 05CC           ;               Bulk_Control_w.Transfer_Length--;
 05CC 80910000          lds R24,_Bulk_Control_w
 05D0 90910100          lds R25,_Bulk_Control_w+1
 05D4 0197              sbiw R24,1
 05D6 90930100          sts _Bulk_Control_w+1,R25
 05DA 80930000          sts _Bulk_Control_w,R24
 05DE                   .dbline 233
 05DE           ;               Bulk_Control_w.BufCount=0;                       
 05DE 2224              clr R2
 05E0 3324              clr R3
 05E2 30920700          sts _Bulk_Control_w+6+1,R3
 05E6 20920600          sts _Bulk_Control_w+6,R2
 05EA                   .dbline 234
 05EA           ;         }      
 05EA           L130:
 05EA                   .dbline 235
 05EA           ;         if((Bulk_Control_w.Transfer_Length>0)&&(Bulk_Control_w.CurrentPage==32))
 05EA 20900000          lds R2,_Bulk_Control_w
 05EE 30900100          lds R3,_Bulk_Control_w+1
 05F2 2220              tst R2
 05F4 11F4              brne X8
 05F6 3320              tst R3
 05F8 D9F0              breq L137
 05FA           X8:
 05FA 80910400          lds R24,_Bulk_Control_w+4
 05FE 8032              cpi R24,32
 0600 B9F4              brne L137
 0602                   .dbline 236
 0602           ;         {
 0602                   .dbline 237
 0602           ;               Bulk_Control_w.CurrentBlock++;
 0602 80910200          lds R24,_Bulk_Control_w+2
 0606 90910300          lds R25,_Bulk_Control_w+2+1
 060A 0196              adiw R24,1
 060C 90930300          sts _Bulk_Control_w+2+1,R25
 0610 80930200          sts _Bulk_Control_w+2,R24
 0614                   .dbline 238
 0614           ;               Bulk_Control_w.CurrentPage=0;
 0614 2224              clr R2
 0616 20920400          sts _Bulk_Control_w+4,R2
 061A                   .dbline 239
 061A           ;               Bulk_Control_w.BeginPage=0;
 061A 20920500          sts _Bulk_Control_w+5,R2
 061E                   .dbline 240
 061E           ;           Bulk_Control_w.BufCount=0;
 061E 3324              clr R3
 0620 30920700          sts _Bulk_Control_w+6+1,R3
 0624 20920600          sts _Bulk_Control_w+6,R2
 0628                   .dbline 241
 0628           ;               Erase_Cluster(Bulk_Control_w.CurrentBlock);             
 0628 8C01              movw R16,R24
 062A 0E940000          xcall _Erase_Cluster
 062E                   .dbline 242
 062E           ;         } 
 062E 26C0              xjmp L138
 0630           L137:
 0630                   .dbline 243
 0630           ;         else if(Bulk_Control_w.Transfer_Length==0)
 0630 20900000          lds R2,_Bulk_Control_w
 0634 30900100          lds R3,_Bulk_Control_w+1
 0638 2220              tst R2
 063A 01F5              brne L145
 063C 3320              tst R3
 063E F1F4              brne L145
 0640           X9:
 0640                   .dbline 244
 0640           ;         {
 0640                   .dbline 245
 0640           ;               for(i=Bulk_Control_w.CurrentPage;i<32;i++)
 0640 40910400          lds R20,_Bulk_Control_w+4
 0644 17C0              xjmp L150
 0646           L147:
 0646                   .dbline 246
 0646                   .dbline 247
 0646 80E0              ldi R24,<_PageBuf
 0648 90E0              ldi R25,>_PageBuf
 064A 9983              std y+1,R25
 064C 8883              std y+0,R24
 064E 242F              mov R18,R20
 0650 3327              clr R19
 0652 0FEF              ldi R16,2047
 0654 17E0              ldi R17,7
 0656 0E940000          xcall _ReadPage
 065A                   .dbline 248
 065A 80E0              ldi R24,<_PageBuf
 065C 90E0              ldi R25,>_PageBuf
 065E 9983              std y+1,R25
 0660 8883              std y+0,R24
 0662 242F              mov R18,R20
 0664 3327              clr R19
 0666 00910200          lds R16,_Bulk_Control_w+2
 066A 10910300          lds R17,_Bulk_Control_w+2+1
 066E 0E940000          xcall _WritePage
 0672                   .dbline 249
 0672           L148:
 0672                   .dbline 245
 0672 4395              inc R20
 0674           L150:
 0674                   .dbline 245
 0674 4032              cpi R20,32
 0676 38F3              brlo L147
 0678                   .dbline 250
 0678           ;               {
 0678           ;                 ReadPage(CANCEL_BLOCK,i,PageBuf);
 0678           ;                 WritePage(Bulk_Control_w.CurrentBlock,i,PageBuf);
 0678           ;               }
 0678           ;               Bulk_CSWHandler();
 0678 0E940000          xcall _Bulk_CSWHandler
 067C                   .dbline 251
 067C           ;        }
 067C           L145:
 067C           L138:
 067C                   .dbline 252
 067C           ;   }                      
 067C           L120:
 067C           L118:
 067C                   .dbline -2
 067C           L116:
 067C 2296              adiw R28,2
 067E 0E940000          xcall pop_gset1
 0682                   .dbline 0 ; func end
 0682 0895              ret
 0684                   .dbsym r len 20 c
 0684                   .dbsym r i 20 c
 0684                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile J:\PDIUSBD12-Materials\富昌\优盘5.0\ISR.C
 0000           _ioRequest::
 0000                   .blkb 6
 0006                   .dbstruct 0 6 _IO_REQUEST
 0006                   .dbfield 0 uAddressL s
 0006                   .dbfield 2 bAddressH c
 0006                   .dbfield 3 uSize s
 0006                   .dbfield 5 bCommand c
 0006                   .dbend
 0006                   .dbsym e ioRequest _ioRequest S[_IO_REQUEST]
 0006           _bEPPflags::
 0006                   .blkb 3
 0009                   .dbstruct 0 3 _flags
 0009                   .dbfield 0 bus_reset F[0:1]
 0009                   .dbfield 0 suspend F[1:1]
 0009                   .dbfield 0 setup_packet F[2:1]
 0009                   .dbfield 0 remote_wakeup F[3:1]
 0009                   .dbfield 0 in_isr F[4:1]
 0009                   .dbfield 0 control_state F[5:2]
 0009                   .dbfield 0 configuration F[7:1]
 0009                   .dbfield 0 ep1_rxdone F[8:1]
 0009                   .dbfield 0 ep1_txdone F[9:1]
 0009                   .dbfield 0 ep1buf_full F[10:1]
 0009                   .dbfield 0 rom_state F[11:1]
 0009                   .dbfield 0 power_down F[12:1]
 0009                   .dbfield 0 main_rxdone F[13:1]
 0009                   .dbfield 0 main_txdone F[14:1]
 0009                   .dbfield 0 mainbuf_full F[15:1]
 0009                   .dbfield 2 bulk_state F[0:3]
 0009                   .dbfield 2 reserved F[3:5]
 0009                   .dbend
 0009                   .dbunion 0 3 _epp_flags
 0009                   .dbfield 0 bits S[_flags]
 0009                   .dbfield 0 value s
 0009                   .dbend
 0009                   .dbsym e bEPPflags _bEPPflags S[_epp_flags]

⌨️ 快捷键说明

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