1*45699Sbostic /* Acvdl.c 1.2 90/12/04 */ 229598Ssam 3*45699Sbostic #include "align.h" 429598Ssam cvdl(infop) process_info *infop; 529598Ssam /* 629598Ssam /* Convert double precission accumulator into integer. 729598Ssam /* 829598Ssam /******************************************************/ 929598Ssam { 1029598Ssam register long Register_12; /* Has to be first reg ! */ 1129598Ssam register double *acc_pnt; 1229598Ssam register long result; 1329598Ssam 1429598Ssam acc_pnt = (double *)&acc_high; 1529598Ssam Register_12=psl; 1629598Ssam Set_psl(r12); /* restore the user psl */ 1729598Ssam result = (long) *acc_pnt; 1829598Ssam asm (" movpsl r12"); 1929598Ssam New_cc (Register_12); 2029598Ssam write_back (infop, result, operand(infop,0) ); 2129598Ssam } 22