1 /*- 2 * Copyright (c) 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Computer Consoles Inc. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)Alnd.c 7.1 (Berkeley) 12/06/90 11 */ 12 13 #include "align.h" 14 lnd(infop) process_info *infop; 15 /* 16 /* Load a negated double operand into accumulator. 17 /* 18 /*******************************************************/ 19 { 20 register struct oprnd *oprnd_pnt; 21 22 oprnd_pnt = operand(infop,0); 23 if ( reserved( oprnd_pnt->data ) ) 24 exception(infop, ILL_OPRND); 25 if ( oprnd_pnt->data == 0 ) acc_high = 0; 26 else acc_high = 0x80000000 ^ oprnd_pnt->data ; 27 acc_low = oprnd_pnt->data2 ; 28 psl |= PSL_DBL; 29 infop->acc_dbl = 1; 30 } 31