ClassRequestHandler or VendorRequestHandler wIndex must be less than NumIFs

时间:2024-03-22 13:34:50
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#
P1_ro:20000EF6 ADD.W R0, R5, R1,LSL#
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#
P1_ro:20000F18 ADD.W R0, R5, R1,LSL#
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