xref: /csrg-svn/sys/tahoe/align/Awrite_long.c (revision 45699)
1*45699Sbostic /*	Awrite_long.c	1.2	90/12/04	*/
229642Ssam 
3*45699Sbostic #include	"align.h"
429642Ssam 
529642Ssam write_longword (infop, longword, where)
629642Ssam process_info	*infop;
729642Ssam long		longword;
829642Ssam struct oprnd 	*where;
929642Ssam /*
1029642Ssam /*	Put the longword at the given address in
1129642Ssam /*	tahoe's memory.
1229642Ssam /*
1329642Ssam /**************************************************/
1429642Ssam {
1529642Ssam 	if (! (where->mode & W)) exception(infop, ILL_ADDRMOD);
1629642Ssam 	switch (where->mode & ADDFIELD)	/* Mask out R/W bits */
1729642Ssam 	{
1829642Ssam 	case Add:
1929642Ssam 	case SPmode:
2029642Ssam 		put_longword (infop, longword, where->address);
2129642Ssam 		break;
2229642Ssam 	case Dir:
2329642Ssam 		Replace (infop, where->reg_number, longword);
2429642Ssam 		break;
2529642Ssam 	default:
2629642Ssam 		printf("Unknown destination in write_long (alignment code)\n");
2729642Ssam 	};
2829642Ssam }
29