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 * @(#)Ashll.c 7.1 (Berkeley) 12/06/90 11 */ 12 13 #include "align.h" 14 15 shll(infop) process_info *infop; 16 /* 17 /* Shift logical left (longword). 18 /* Checks for overflow. 19 /* 20 /*******************************/ 21 { 22 register long Register_12; /* Has to be first reg ! */ 23 register long Register_11; 24 register long Register_10; 25 26 Register_12 = operand(infop,0)->data; 27 Register_11 = operand(infop,1)->data; 28 Register_10 = psl; 29 Set_psl(r10); /*save the orig CC bits of the psl */ 30 asm(" shll r12,r11,r10"); 31 asm(" movpsl r12"); 32 New_cc (Register_12); 33 write_back (infop, Register_10, operand(infop,2)); 34 } 35