1*b65ab6e5Sbostic /*- 2*b65ab6e5Sbostic * Copyright (c) 1986 The Regents of the University of California. 3*b65ab6e5Sbostic * All rights reserved. 4*b65ab6e5Sbostic * 5*b65ab6e5Sbostic * This code is derived from software contributed to Berkeley by 6*b65ab6e5Sbostic * Computer Consoles Inc. 7*b65ab6e5Sbostic * 8*b65ab6e5Sbostic * %sccs.include.redist.c% 9*b65ab6e5Sbostic * 10*b65ab6e5Sbostic * @(#)Aor2.c 7.1 (Berkeley) 12/06/90 11*b65ab6e5Sbostic */ 12c230bc77Ssam 13f5878f6dSbostic #include "align.h" or2(infop)14c230bc77Ssamor2 (infop) process_info *infop; 15c230bc77Ssam /* 16c230bc77Ssam /* Or , 2 operands. 17c230bc77Ssam /* 18c230bc77Ssam /****************************************/ 19c230bc77Ssam { 20c230bc77Ssam register long Register_12; /* Has to be first reg ! */ 21c230bc77Ssam register long data0, data1, result; 22c230bc77Ssam 23c230bc77Ssam data0 = operand(infop,0)->data; 24c230bc77Ssam data1 = operand(infop,1)->data; 25c230bc77Ssam Register_12=psl; 26c230bc77Ssam Set_psl(r12); /* restore the user psl */ 27c230bc77Ssam result = data0 | data1; /* 32 bits of true result */ 28c230bc77Ssam asm (" movpsl r12"); 29c230bc77Ssam New_cc (Register_12); 30c230bc77Ssam write_back (infop,result, operand(infop,1) ); 31c230bc77Ssam } 32