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; 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