xref: /csrg-svn/sys/tahoe/align/Aregister.c (revision 45760)
1*45760Sbostic /*-
2*45760Sbostic  * Copyright (c) 1986 The Regents of the University of California.
3*45760Sbostic  * All rights reserved.
4*45760Sbostic  *
5*45760Sbostic  * This code is derived from software contributed to Berkeley by
6*45760Sbostic  * Computer Consoles Inc.
7*45760Sbostic  *
8*45760Sbostic  * %sccs.include.redist.c%
9*45760Sbostic  *
10*45760Sbostic  *	@(#)Aregister.c	7.1 (Berkeley) 12/06/90
11*45760Sbostic  */
1229630Ssam 
1345699Sbostic #include "align.h"
1429630Ssam 
1529630Ssam /*
1629630Ssam  * Return the specified register from the big structure.
1729630Ssam  */
1829630Ssam 
1929630Ssam long
Register(infop,number)2029630Ssam Register (infop, number)
2129630Ssam process_info	*infop;
2229630Ssam long		number;
2329630Ssam {
2429630Ssam 
2529630Ssam 	switch (number) {
2629630Ssam 		case 0:	return (r0);
2729630Ssam 		case 1:	return (r1);
2829630Ssam 		case 2:	return (r2);
2929630Ssam 		case 3:	return (r3);
3029630Ssam 		case 4:	return (r4);
3129630Ssam 		case 5:	return (r5);
3229630Ssam 		case 6:	return (r6);
3329630Ssam 		case 7:	return (r7);
3429630Ssam 		case 8:	return (r8);
3529630Ssam 		case 9:	return (r9);
3629630Ssam 		case 10:	return (r10);
3729630Ssam 		case 11:	return (r11);
3829630Ssam 		case 12:	return (r12);
3929630Ssam 		case 13:	return (fp);
4029630Ssam 		case 14:	return (sp);
4129630Ssam 		case 15:	return (pc);
4229630Ssam 	}
4329630Ssam }
4429630Ssam 
4529630Ssam 
4629630Ssam /*
4729630Ssam  * Replace a given register with the given value.
4829630Ssam  */
Replace(infop,number,newvalue)4929630Ssam Replace (infop,number, newvalue)
5029630Ssam process_info	*infop;
5129630Ssam long		number;
5229630Ssam long		newvalue;
5329630Ssam {
5429630Ssam 
5529630Ssam 	switch (number) {
5629630Ssam 		case 0:	r0 = newvalue; return;
5729630Ssam 		case 1:	r1 = newvalue; return;
5829630Ssam 		case 2:	r2 = newvalue; return;
5929630Ssam 		case 3:	r3 = newvalue; return;
6029630Ssam 		case 4:	r4 = newvalue; return;
6129630Ssam 		case 5:	r5 = newvalue; return;
6229630Ssam 		case 6:	r6 = newvalue; return;
6329630Ssam 		case 7:	r7 = newvalue; return;
6429630Ssam 		case 8:	r8 = newvalue; return;
6529630Ssam 		case 9:	r9 = newvalue; return;
6629630Ssam 		case 10:	r10 = newvalue; return;
6729630Ssam 		case 11:	r11 = newvalue; return;
6829630Ssam 		case 12:	r12 = newvalue; return;
6929630Ssam 		case 13:	fp = newvalue; return;
7029630Ssam 		case 14:	sp = newvalue & ~3; return;
7129630Ssam 		case 15:	pc = newvalue; return;
7229630Ssam 	}
7329630Ssam }
74