1*45760Sbostic /*- 2*45760Sbostic * Copyright (c) 1986 The Regents of the University of California. 3*45760Sbostic * All rights reserved. 4*45760Sbostic * 5*45760Sbostic * This code is derived from software contributed to Berkeley by 6*45760Sbostic * Computer Consoles Inc. 7*45760Sbostic * 8*45760Sbostic * %sccs.include.redist.c% 9*45760Sbostic * 10*45760Sbostic * @(#)Astorer.c 7.1 (Berkeley) 12/06/90 11*45760Sbostic */ 1229636Ssam 1345699Sbostic #include "align.h" storer(infop)1429636Ssamstorer(infop) process_info *infop; 1529636Ssam /* 1629636Ssam /* Store multiple registers. 1729636Ssam /* 1829636Ssam /***************************************/ 1929636Ssam { 2029636Ssam register int mask, next_register, new_address; 2129636Ssam 2229636Ssam mask = operand(infop,0)->data & 0x3fff; /* Bits 0 to 13 only */ 2329636Ssam new_address = operand(infop,1)->address; 2429636Ssam next_register = 0; /* Register # */ 2529636Ssam while (next_register <= 13) 2629636Ssam { 2729636Ssam if (mask & 1 << next_register) 2829636Ssam { 2929636Ssam put_longword (infop, Register (infop, next_register), 3029636Ssam new_address); 3129636Ssam new_address += 4; 3229636Ssam } 3329636Ssam next_register++; 3429636Ssam } 3529636Ssam } 36