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