just one jump table is needed... H&K is correct with how the command works. if I remember right, the value just branches to the index number of the list following the gosub (or goto). if the value is greater or less than the number of items in the list the program continues with the next line. so the only jump table is line numbers.
[edit] unless you're counting the actual jump using the index?... actually there might not even be one jump table... I'm pretty sure that language was completely interpreted... no pre-compile.
[edit] scratch that, what was I thinking! sure, there had to be a jump table for the lines. don't mind me, it's late ;)
[edit] well, it seems there was no jump table for the line numbers either...
[edit] unless you're counting the actual jump using the index?... actually there might not even be one jump table... I'm pretty sure that language was completely interpreted... no pre-compile.
[edit] scratch that, what was I thinking! sure, there had to be a jump table for the lines. don't mind me, it's late ;)
[edit] well, it seems there was no jump table for the line numbers either...
Much like a modern singly linked list, each program line was stored in memory as a line number, a pointer, and then the tokenized code for the line. The pointer contained address in memory of the next program line.
http://en.wikipedia.org/wiki/Commodore_BASIC