ClassRequestHandler or VendorRequestHandler wIndex must be less than NumIFs

P1_ro:20000EEA ClassRequestHandler                     ; CODE XREF: USB__HandleSetup+38j
P1_ro:20000EEA                 LDRB    R0, [R4,#4]     ; wIndexLow
P1_ro:20000EEC                 LDRB    R1, [R5,#1]     ; NumIFs
P1_ro:20000EEE                 CMP     R0, R1
P1_ro:20000EF0                 BCS     def_20000D70    ; jumptable 20000D70 default case
P1_ro:20000EF2 ADD.W R1, R0, R0,LSL#1 P1_ro:20000EF6 ADD.W R0, R5, R1,LSL#3 P1_ro:20000EFA ADDW R0, R0, #0xC P1_ro:20000EFE LDR R1, [R0,#0xC] P1_ro:20000F00 MOVS R0, R1 P1_ro:20000F02 BEQ def_20000D70 ; jumptable 20000D70 default case P1_ro:20000F04 MOV R0, R4 P1_ro:20000F06 BLX R1 P1_ro:20000F08 CBNZ R0, def_20000D70 ; jumptable 20000D70 default case P1_ro:20000F0A B loc_20000F30 P1_ro:20000F0C ; --------------------------------------------------------------------------- P1_ro:20000F0C P1_ro:20000F0C VendorRequestHandler ; CODE XREF: USB__HandleSetup+3Ej P1_ro:20000F0C LDRB R0, [R4,#4] ; wIndexLow P1_ro:20000F0E LDRB R1, [R5,#1] ; NumIFs P1_ro:20000F10 CMP R0, R1 P1_ro:20000F12 BCS def_20000D70 ; jumptable 20000D70 default case P1_ro:20000F14 ADD.W R1, R0, R0,LSL#1 P1_ro:20000F18 ADD.W R0, R5, R1,LSL#3 P1_ro:20000F1C ADDW R0, R0, #0xC P1_ro:20000F20 LDR R1, [R0,#0x10] P1_ro:20000F22 MOVS R0, R1 P1_ro:20000F24 BEQ def_20000D70 ; jumptable 20000D70 default case P1_ro:20000F26 MOV R0, R4 P1_ro:20000F28 BLX R1 ; VendorRequestHandler P1_ro:20000F2A CBZ R0, loc_20000F30 P1_ro:20000F2C P1_ro:20000F2C def_20000D70 ; CODE XREF: USB__HandleSetup+42j P1_ro:20000F2C ; USB__HandleSetup+48j ... P1_ro:20000F2C LDR R0, [R6,#0x24] ; jumptable 20000D70 default case

 

posted @ 2014-07-10 00:56  IAmAProgrammer  阅读(287)  评论(0编辑  收藏  举报