[Main]
Name=__jmp_tbl
Type=Variable
Header Files=default.h
Definition=#define __jmp_tbl (*(void***)0xC8)

[Description]
A variable which points to the TIOS jump table of ROM calls.

[Explanation]
__jmp_tbl is a global variable, which is implemented here as a macro. Defining
<CODE><A HREF="$$INFOLINK(httigcc/advanced_optrom)">OPTIMIZE_ROM_CALLS</A></CODE> causes this definition to be overridden; in
this case, __jmp_tbl will be a real variable stored in the register <CODE>a5</CODE>.
<BR><BR>
__jmp_tbl is always a pointer to a void pointer, so you can treat it as an
array of void pointers. Its size can be determined using the
<A HREF="$$LINK(compat.h/TIOS_entries)">TIOS_entries</A> pseudo-constant.
<BR><BR>
Most of the entries in the jump table point to functions, but some of them
actually point to global variables of the operating system.
<BR><BR>
Usually, it is not desirable to use __jmp_tbl directly. The code may be
optimized a little better if you use the
<A HREF="$$LINK(default.h/_rom_call)">_rom_call</A> and
<A HREF="$$LINK(default.h/_rom_call_addr)">_rom_call_addr</A> macros instead.
