ANSIfy syscall args
[unix-history] / usr / src / sys / tahoe / align / Awrite_quad.c
CommitLineData
7c27088c
KB
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 * @(#)Awrite_quad.c 7.1 (Berkeley) %G%
11 */
8bf43721 12
6499767c 13#include "align.h"
8bf43721
SL
14
15write_quadword (infop, qword, where)
16process_info *infop;
17quadword qword;
18struct oprnd *where;
19/*
20/* Put the quadword at the given address in memory.
21/*
22/*
23/**************************************************/
24{
25 if (! (where->mode & W)) exception(infop, ILL_ADDRMOD);
26 switch (where->mode & ADDFIELD) /* Mask out R/W bits */
27 {
28 case Add:
29 put_longword (infop, qword.high, where->address);
30 where->address += 4;
31 put_longword (infop, qword.low, where->address);
32 break;
33 case Dir:
34 if ( where->reg_number >= SPOINTER || (where->reg_number & 1) == 1 )
35 exception (infop, ILL_OPRND);
36 Replace (infop, where->reg_number, qword.high);
37 Replace (infop, where->reg_number+1, qword.low);
38 break;
39 case SPmode:
40 exception(infop, ILL_ADDRMOD);
41 break;
42 default:
43 printf("Unknown destination in write_quad (alignment code)\n");
44 };
45}