There are a lot of ways to do this, but you're basically going to need as many words as there are nests (or fixtures) on the dial to "track" the status of the part in each nest.
Let's say there are six nests. Usually, you label each nest on the dial and then keep track of where that nest is after each index. When the dial home switch is made, that's usually when Nest 1 is at Station 1, Nest 2 is at Station 2, etc. Now, on the next index, Nest 6 is at Station 1, Nest 1 is at Station 2, ...
OK. So if you assign each nest a pass/fail, you have something like N7:1, N7:2, ... N7:6 holding the nest status. (You might want to skip using N7:0, because you get a nice easy correspondence of word number to nest number if you do, but some people don't care. Me, I try to make it easier to read and maintain.)
So now, let's say that Station 3 is your inspect and Station 6 is your reject. When Nest 1 is at Station 3, you can MOV a 1 for a good part into N7:1, or a zero for a bad part. Table indexes and Nest 1 is at Station 4. You might now read N7:1, and not operate on the part at all because you're rejecting it anyway... this is a common thing to do with stations downstream of an inspection station.
Table indexes again and now Nest 1 is at Station 5... indexes again and it's at Station 6. Now, you read N7:1 and since it's 0 you reject the part.
So, yeah, you have to keep track of indexes and nests and stations. You might be able to do this with a bit shift if you have only one status- pass/fail- for the parts. More often, the nest has more than one status, and you use words so that at exit (or reject) you know exactly what the part is or exactly why it failed. If you are simply p/f, then you can use just a bit, then you do a BSL after each index to move the status around with the parts; if you are using a whole word for each nest, then you copy all the words after each index.
That's the gist of it; I can post some sample code up later if you need it. Or other guys on here probably have some too.