Annotation of 3BSD/cmd/apl/apl_s.s, revision 1.1

1.1     ! root        1: #
        !             2: #      This module contains the stack push routine and the fltused
        !             3: #      symbol definition.  Push() doesn't have to be machine coded
        !             4: #      but it does get called alot.  The fltused definition will
        !             5: #      prevent the loader from adding some printf-associated modules.
        !             6: #
        !             7: #      If APL is to be loaded from a library, then some undefined
        !             8: #      symbol must be present in the module which contains the
        !             9: #      fltused definition.  In that sense, it is necessary to
        !            10: #      have _push (or something) in machine code.
        !            11: #
        !            12: #                                      Ross Harvey 18-May-78
        !            13: #
        !            14: .text
        !            15: .globl _push
        !            16: _push: .word   0
        !            17:        movl    _sp, r0
        !            18: #      movl    4(ap),(r0)
        !            19: #      acbl    $4,_sp,_staktop,ok
        !            20:        movl    4(ap),(r0)+
        !            21:        cmpl    r0, _staktop
        !            22:        bgtr    toobig
        !            23:        movl    r0, _sp
        !            24:        ret
        !            25: toobig:        movl    r0,_sp
        !            26:        calls   $0,_newstak
        !            27:        ret

unix.superglobalmegacorp.com

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