A low level programming
construct used in situations where a numerical value x determines what block of code
gets executed next. It generally takes the form of an array
of addresses. The indices
of the array correspond to possible values of x. Thus x is used as an offset into the array, the address is read from the array and control jumps to that address. Ideally this can all be done without any expensive
comparison operations. In the real world
there will probably be two comparisons to make sure that x is not above the maximum index in the array or below the minimum.
A high level representation of this concept is the switch()
which is typically compiled into a jump table. If you've understood what I've said so far you'll also understand that it's a Good Thing
to try and keep the conditions in your switch contiguous
so as to avoid situations where most of the space the produced jump table is taking up is used to jump to the default code.
I'd supply a nice example of a jump table in assembly language
here, but I don't remember much assembly language. That's why I'm an untergeek and not an ubergeek