Annotation of 43BSD/contrib/icon/rt/setbound.s, revision 1.1.1.1

1.1       root        1: #include "../h/config.h"
                      2: Global(_boundary)      /* Icon/C boundary */
                      3: Global(_setbound)      /* Set the Icon/C boundary */
                      4: Global(_clrbound)      /* Clear the Icon/C boundary */
                      5: 
                      6: #ifdef VAX
                      7: /*
                      8:  * setbound sets the boundary to the value of the fp of the
                      9:  *  calling procedure.
                     10:  */
                     11: _setbound:
                     12:        Mask    0x0             # Don't need to save any registers
                     13:        tstl    _boundary       # If the boundary is already set
                     14:        jneq    f1              #  just leave it alone
                     15:        movl    12(fp),_boundary # Otherwise, set boundary to fp of
                     16:                                #  calling procedure.  Must use saved
                     17:                                #  fp because current fp points to
                     18:                                #  frame made upon entry to setbound.
                     19: f1:    ret                     # Return
                     20: /*
                     21:  * clrbound clears the Icon/C boundary if returning to Icon
                     22:  *  code from C code.
                     23:  */
                     24: _clrbound:
                     25:        Mask    0x0             # Don't need to save any registers
                     26:        cmpl    12(fp),_boundary # If the fp of the caller is equal
                     27:                                #  to the boundary, the return is
                     28:                                #  from C to Icon.
                     29:        jneq    f11             # If that is the case,
                     30:        clrl    _boundary       #  clear the boundary, otherwise,
                     31: f11:   ret                     #  just return.
                     32: #endif VAX
                     33: 
                     34: #ifdef PORT
                     35: DummyFcn(_setbound)
                     36: DummyFcn(_clrbound)
                     37: #endif PORT
                     38: 
                     39: #ifdef PDP11
                     40: DummyFcn(_setbound)
                     41: DummyFcn(_clrbound)
                     42: #endif PDP11

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.