1 /*- 2 * Copyright (c) 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Computer Consoles Inc. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)Aloadr.c 7.1 (Berkeley) 12/06/90 11 */ 12 13 #include "align.h" 14 loadr(infop) process_info *infop; 15 /* 16 /* Load multiple registers. 17 /* 18 /***************************************/ 19 { 20 register long mask, next_register, new_address; 21 22 mask = operand(infop,0)->data & 0x3fff; /* Bits 0 to 13 only */ 23 new_address = operand(infop,1)->address; 24 next_register = 0; /* Register # */ 25 while (next_register <= 13) 26 { 27 if (mask & 1 << next_register) 28 { 29 Replace (infop, next_register, 30 get_longword (infop, new_address)); 31 new_address += 4; 32 } 33 next_register++ ; 34 } 35 } 36