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