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)2029630SsamRegister (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)4929630SsamReplace (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