| 1 | /* Acmpf.c 1.1 86/07/20 */ |
| 2 | |
| 3 | #include "../tahoealign/align.h" |
| 4 | cmpf(infop) process_info *infop; |
| 5 | /* |
| 6 | /* Compare accumulator (float) with operand. |
| 7 | /* |
| 8 | /*************************************************/ |
| 9 | { |
| 10 | register float *Register_12; /* Has to be first reg ! */ |
| 11 | register float *Register_11; |
| 12 | register long Register_10; |
| 13 | |
| 14 | Register_12 = (float *) &acc_high; |
| 15 | Register_11 = (float *) &operand(infop,0)->data; |
| 16 | if ( reserved( *(long *)Register_11 ) ) |
| 17 | exception(infop, ILL_OPRND); |
| 18 | asm (" ldf (r12)"); |
| 19 | Register_10=psl; |
| 20 | Set_psl(r10); /* restore the user psl */ |
| 21 | asm (" cmpf (r11)"); |
| 22 | asm (" movpsl r10"); |
| 23 | New_cc (Register_10); |
| 24 | } |