# # This module contains the stack push routine and the fltused # symbol definition. Push() doesn't have to be machine coded # but it does get called alot. The fltused definition will # prevent the loader from adding some printf-associated modules. # # If APL is to be loaded from a library, then some undefined # symbol must be present in the module which contains the # fltused definition. In that sense, it is necessary to # have _push (or something) in machine code. # # Ross Harvey 18-May-78 # .text .globl _push _push: .word 0 movl _sp, r0 # movl 4(ap),(r0) # acbl $4,_sp,_staktop,ok movl 4(ap),(r0)+ cmpl r0, _staktop bgtr toobig movl r0, _sp ret toobig: movl r0,_sp calls $0,_newstak ret