| 1 | /* Ashar.c 1.1 86/07/20 */ |
| 2 | |
| 3 | |
| 4 | #include "../tahoealign/align.h" |
| 5 | shar(infop) process_info *infop; |
| 6 | /* |
| 7 | /* Shift arithmetic right (longword). |
| 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 (" shar r12,r11,r10"); |
| 20 | asm (" movpsl r12"); |
| 21 | New_cc (Register_12); |
| 22 | write_back (infop, Register_10, operand(infop,2)); |
| 23 | } |