Annotation of 43BSDTahoe/lib/libc/compat-4.1/compat-4.1.tahoe/reset.c, revision 1.1.1.1

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: #ifdef LIBC_SCCS
                      7: _sccsid:.asciz "@(#)reset.c    1.2 (Berkeley/CCI) 8/1/86"
                      8: #endif LIBC_SCCS
                      9: 
                     10: /*
                     11:  * C library -- reset, setexit
                     12:  *
                     13:  *     reset(x)
                     14:  * will generate a "return" from
                     15:  * the last call to
                     16:  *     setexit()
                     17:  * by restoring r2 - r12, fp
                     18:  * and doing a return.
                     19:  * The returned value is x; on the original
                     20:  * call the returned value is 0.
                     21:  *
                     22:  * useful for going back to the main loop
                     23:  * after a horrible error in a lowlevel
                     24:  * routine.
                     25:  */
                     26: #include "DEFS.h"
                     27: 
                     28: ENTRY(setexit, 0)
                     29:        movab   setsav,r0
                     30:        storer  $0x1ffc, (r0)
                     31:        movl    (fp),44(r0)             # fp
                     32:        moval   4(fp),48(r0)            # sp
                     33:        movl    -8(fp),52(r0)           # pc
                     34:        clrl    r0
                     35:        ret
                     36: 
                     37: ENTRY(reset, 0)
                     38:        movl    4(fp),r0        # returned value
                     39:        movab   setsav,r1
                     40:        loadr   $0x1ffc,(r1)
                     41:        movl    44(r1),fp
                     42:        movl    48(r1),sp
                     43:        jmp     *52(r1)
                     44: 
                     45:        .data
                     46: setsav:        .space  14*4

unix.superglobalmegacorp.com

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