xref: /csrg-svn/sys/tahoe/align/Aregister.c (revision 29630)
1*29630Ssam /*	Aregister.c	1.1	86/07/20	*/
2*29630Ssam 
3*29630Ssam #include "../tahoealign/align.h"
4*29630Ssam 
5*29630Ssam /*
6*29630Ssam  * Return the specified register from the big structure.
7*29630Ssam  */
8*29630Ssam 
9*29630Ssam long
10*29630Ssam Register (infop, number)
11*29630Ssam process_info	*infop;
12*29630Ssam long		number;
13*29630Ssam {
14*29630Ssam 
15*29630Ssam 	switch (number) {
16*29630Ssam 		case 0:	return (r0);
17*29630Ssam 		case 1:	return (r1);
18*29630Ssam 		case 2:	return (r2);
19*29630Ssam 		case 3:	return (r3);
20*29630Ssam 		case 4:	return (r4);
21*29630Ssam 		case 5:	return (r5);
22*29630Ssam 		case 6:	return (r6);
23*29630Ssam 		case 7:	return (r7);
24*29630Ssam 		case 8:	return (r8);
25*29630Ssam 		case 9:	return (r9);
26*29630Ssam 		case 10:	return (r10);
27*29630Ssam 		case 11:	return (r11);
28*29630Ssam 		case 12:	return (r12);
29*29630Ssam 		case 13:	return (fp);
30*29630Ssam 		case 14:	return (sp);
31*29630Ssam 		case 15:	return (pc);
32*29630Ssam 	}
33*29630Ssam }
34*29630Ssam 
35*29630Ssam 
36*29630Ssam /*
37*29630Ssam  * Replace a given register with the given value.
38*29630Ssam  */
39*29630Ssam Replace (infop,number, newvalue)
40*29630Ssam process_info	*infop;
41*29630Ssam long		number;
42*29630Ssam long		newvalue;
43*29630Ssam {
44*29630Ssam 
45*29630Ssam 	switch (number) {
46*29630Ssam 		case 0:	r0 = newvalue; return;
47*29630Ssam 		case 1:	r1 = newvalue; return;
48*29630Ssam 		case 2:	r2 = newvalue; return;
49*29630Ssam 		case 3:	r3 = newvalue; return;
50*29630Ssam 		case 4:	r4 = newvalue; return;
51*29630Ssam 		case 5:	r5 = newvalue; return;
52*29630Ssam 		case 6:	r6 = newvalue; return;
53*29630Ssam 		case 7:	r7 = newvalue; return;
54*29630Ssam 		case 8:	r8 = newvalue; return;
55*29630Ssam 		case 9:	r9 = newvalue; return;
56*29630Ssam 		case 10:	r10 = newvalue; return;
57*29630Ssam 		case 11:	r11 = newvalue; return;
58*29630Ssam 		case 12:	r12 = newvalue; return;
59*29630Ssam 		case 13:	fp = newvalue; return;
60*29630Ssam 		case 14:	sp = newvalue & ~3; return;
61*29630Ssam 		case 15:	pc = newvalue; return;
62*29630Ssam 	}
63*29630Ssam }
64