1*45699Sbostic /* Acmpd.c 1.2 90/12/04 */ 229596Ssam 3*45699Sbostic #include "align.h" 429596Ssam cmpd(infop) process_info *infop; 529596Ssam /* 629596Ssam /* Compare accumulator (double) with operand. 729596Ssam /* 829596Ssam /****************************************************/ 929596Ssam { 1029596Ssam register float *Register_12; /* Has to be first reg ! */ 1129596Ssam register float *Register_11; 1229596Ssam register long Register_10; 1329596Ssam 1429596Ssam Register_12 = (float *) &acc_high; 1529596Ssam Register_11 = (float *) &operand(infop,0)->data; 1629596Ssam if ( reserved( *(long *)Register_11 ) ) 1729596Ssam exception(infop, ILL_OPRND); 1829596Ssam asm (" ldd (r12)"); 1929596Ssam Register_10=psl; 2029596Ssam Set_psl(r10); /* restore the user psl */ 2129596Ssam asm (" cmpd (r11)"); 2229596Ssam asm (" movpsl r10"); 2329596Ssam New_cc (Register_10); 2429596Ssam } 25