Annotation of 3BSD/cmd/apl/apl_s.s, revision 1.1.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.