|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.