| 1 | /* Alnd.c 1.1 86/07/20 */ |
| 2 | |
| 3 | #include "../tahoealign/align.h" |
| 4 | lnd(infop) process_info *infop; |
| 5 | /* |
| 6 | /* Load a negated double operand into accumulator. |
| 7 | /* |
| 8 | /*******************************************************/ |
| 9 | { |
| 10 | register struct oprnd *oprnd_pnt; |
| 11 | |
| 12 | oprnd_pnt = operand(infop,0); |
| 13 | if ( reserved( oprnd_pnt->data ) ) |
| 14 | exception(infop, ILL_OPRND); |
| 15 | if ( oprnd_pnt->data == 0 ) acc_high = 0; |
| 16 | else acc_high = 0x80000000 ^ oprnd_pnt->data ; |
| 17 | acc_low = oprnd_pnt->data2 ; |
| 18 | psl |= PSL_DBL; |
| 19 | infop->acc_dbl = 1; |
| 20 | } |