I am just unclear on how the actual table functions and how it determines a value to be returned.
It functions by using an array to fetch values given to it in the form of an array index.
So if you the array table, as shown above and have a reading of 6 then
value = table;
Will return the sixth value in your array. Or if your reading was in a variable called "reading" then
value = table[reading];
Would give you the appropriate value in your array.
Note here you have to have one array element for every reading you are going to get, so for an analogue input you would require an array with 1024 values in it. This is too big most of the time so there are tricks to reduce this. However you just want a restricted range of reading from 600 to 990, that is just 390 elements in your array. So you take your reading and subtract 600 from it to get the array element to use.
Even that may be too big an array, in which case you break it up into ranges and do an linear interpolation between the readings.