On 7/25/2012 12:51 AM, Don Clugston wrote:
so that there is no lookup table, just a multiply.
Rethinking your idea a bit...Suppose the switch jump_address[] array was really an array of hardcoded jmp instructions, 5 bytes each:
jmp_table: jmp Lcase1; jmp Lcase2; jmp Lcase3; ... and then the switch(EBX) would be: lea EAX,jmp_table[EBX][EBX*4] jmp EAX is that kick-ass or what? (There'd be some additional complication for PIC code.)