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 * @(#)Amull2.c 7.1 (Berkeley) 12/06/90
11 */
12
13 #include "align.h"
14 int zzz1,zzz2,zzz3,zzz4,zzz5;
mull2(infop)15 mull2(infop) process_info *infop;
16 /*
17 /* Multiply longwords, 2 operands.
18 /*
19 /*****************************************/
20 {
21 register long Register_12; /* Has to be first reg ! */
22 register long result, data0, data1;
23
24 data0 = operand(infop,0)->data;
25 data1 = operand(infop,1)->data;
26 Register_12=psl;
27 Set_psl(r12); /* restore the user psl */
28 result = data0 * data1;
29 asm("movpsl r12");
30 New_cc (Register_12);
31 write_back (infop,result, operand(infop,1) );
32 }
33