> But the Binder surely has no way of knowing what the displacement will
> be at run time. Whatever loads your routine (the main one - not the
> low storage one) needs to know the address difference and update the
> JLU at that time. How does it gain knowledge of the load point (0) of
> your called routine? Presumably the load process that loads your main
> routine doesn't also load a module starting at virtual address 0!

In an earlier post in this thread I mentioned that the two CSECTs are 
linked together (with many others) and then the resulting module is loaded 
at location 0.  CSECT A starts at <some mystery location within the 
module> and CSECT B starts at <location 0 within the module>, so CSECT A 
can use JLU to branch to a location in "low storage" (aka CSECT B) using 
only the displacement from A to B within the load module.

- mb

Reply via email to