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