xref: /original-bsd/sys/tahoe/align/Aloadr.c (revision e59fb703)
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