|
|
1.1 ! root 1: /* Astorer.c 1.1 86/07/20 */ ! 2: ! 3: #include "../tahoealign/align.h" ! 4: storer(infop) process_info *infop; ! 5: /* ! 6: /* Store multiple registers. ! 7: /* ! 8: /***************************************/ ! 9: { ! 10: register int mask, next_register, new_address; ! 11: ! 12: mask = operand(infop,0)->data & 0x3fff; /* Bits 0 to 13 only */ ! 13: new_address = operand(infop,1)->address; ! 14: next_register = 0; /* Register # */ ! 15: while (next_register <= 13) ! 16: { ! 17: if (mask & 1 << next_register) ! 18: { ! 19: put_longword (infop, Register (infop, next_register), ! 20: new_address); ! 21: new_address += 4; ! 22: } ! 23: next_register++; ! 24: } ! 25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.