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	5.4 (Berkeley) 3/9/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 r6 - r12, ap, 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)
  29:     movab   setsav,r0
  30:     movq    r6,(r0)+
  31:     movq    r8,(r0)+
  32:     movq    r10,(r0)+
  33:     movq    8(fp),(r0)+     # ap, fp
  34:     movab   4(ap),(r0)+     # sp
  35:     movl    16(fp),(r0)     # pc
  36:     clrl    r0
  37:     ret
  38: 
  39: ENTRY(reset)
  40:     movl    4(ap),r0    # returned value
  41:     movab   setsav,r1
  42:     movq    (r1)+,r6
  43:     movq    (r1)+,r8
  44:     movq    (r1)+,r10
  45:     movq    (r1)+,r12
  46:     movl    (r1)+,sp
  47:     jmp     *(r1)
  48: 
  49:     .data
  50: setsav: .space  10*4

Defined functions

ENTRY defined in line 7; never used
movl defined in line 7; used 3 times
movq defined in line 7; used 4 times
Last modified: 1986-03-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: ?E00
Valid CSS Valid XHTML 1.0 Strict