1 /* Ashal.c 1.1 86/07/20 */ 2 3 #include "../tahoealign/align.h" 4 shal(infop) process_info *infop; 5 /* 6 /* Shift arithmetic left (longword). 7 /* Checks for overflow. 8 /* 9 /*******************************/ 10 { 11 register long Register_12; /* Has to be first reg ! */ 12 register long Register_11; 13 register long Register_10; 14 15 Register_12 = operand(infop,0)->data; 16 Register_11 = operand(infop,1)->data; 17 Register_10=psl; 18 Set_psl(r10); /* restore the user psl */ 19 asm (" shal r12,r11,r10"); 20 asm (" movpsl r12"); 21 New_cc (Register_12); 22 write_back (infop, Register_10, operand(infop,2)); 23 } 24