>How would you account for the movement of code near the end of the >program Compilers handle this by using two passes. By the second pass all the information required is known (including the size of jumps etc). A loophole optimizer may add additional passes (several) precisely for the reason you gave. None of this happens at the file level, it happens in the data structures of the compiler. Peter -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics