Register parameters
Code Block | ||||
---|---|---|---|---|
| ||||
IN: B = 0, bind in physical address in HL BHL = extended pointer to bind into physical address space IY points at OSPUSH frame (preserved by previous OZ call) containing: offset: contents: 10 <RETurn address to caller> 0E <original bank bindings for segment 2 & 3> 0C <HL> 0A <DE> 08 <BC> 06 <AF> 04 <pointer to OZ call address> 02 <original bank bindings for segment 2 & 3> 00 <IY> OUT: DE = old binding of segment 1 in E, and segment 2 in D. B = 0, always, identifying a converted local pointer HL = (possibly modified) address for segment 1. Registers changed after return: A..C..../IXIY same .FB.DEHL/.... different |
...
Internal operating system usage.
OS_Bix and OS_Box are called from GN_ or OS_ 2 byte calls. Binds in extended or local address, identified by BHL (B=0 local) into segment 1. The (offset) address is automatically forced to segment 1, if necessary. If the address already are in segment 1 or 0, no binding occur (the bindings are still returned in DE). B = 0 always returned to indicate a local address in segment 1 or segment 0.
If request address was in segment 3 then segment 2 was not affected.
...