|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifdef LIBC_SCCS ! 8: .asciz "@(#)alloca.s 5.3 (Berkeley) 3/9/86" ! 9: #endif LIBC_SCCS ! 10: ! 11: /* like alloc, but automatic free in return */ ! 12: ! 13: #include "DEFS.h" ! 14: ! 15: ENTRY(alloca, 0) ! 16: subl2 4(ap),sp /* crude allocation */ ! 17: movl 16(fp),r1 /* pc */ ! 18: movq 8(fp),ap /* new (old) ap and fp */ ! 19: bicl2 $3,sp /* 4-byte align */ ! 20: addl2 $7*4,sp /* reuse space of mscp */ ! 21: movl sp,r0 /* return value */ ! 22: jmp (r1) /* funny return */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.