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 * @(#)Aor3.c 7.1 (Berkeley) 12/06/90 11*b65ab6e5Sbostic */ 1222985d6fSsam 13f5878f6dSbostic #include "align.h" or3(infop)1422985d6fSsamor3 (infop) process_info *infop; 1522985d6fSsam /* 1622985d6fSsam /* Or , 3 operands. 1722985d6fSsam /* 1822985d6fSsam /****************************************/ 1922985d6fSsam { 2022985d6fSsam register long Register_12; /* Has to be first reg ! */ 2122985d6fSsam register long data0, data1, result; 2222985d6fSsam 2322985d6fSsam data0 = operand(infop,0)->data; 2422985d6fSsam data1 = operand(infop,1)->data; 2522985d6fSsam Register_12=psl; 2622985d6fSsam Set_psl(r12); /* restore the user psl */ 2722985d6fSsam result = data0 | data1; /* 32 bits of true result */ 2822985d6fSsam asm (" movpsl r12"); 2922985d6fSsam New_cc (Register_12); 3022985d6fSsam write_back (infop,result, operand(infop,2) ); 3122985d6fSsam } 32