1*45699Sbostic /* Aor3.c 1.2 90/12/04 */ 229624Ssam 3*45699Sbostic #include "align.h" 429624Ssam or3 (infop) process_info *infop; 529624Ssam /* 629624Ssam /* Or , 3 operands. 729624Ssam /* 829624Ssam /****************************************/ 929624Ssam { 1029624Ssam register long Register_12; /* Has to be first reg ! */ 1129624Ssam register long data0, data1, result; 1229624Ssam 1329624Ssam data0 = operand(infop,0)->data; 1429624Ssam data1 = operand(infop,1)->data; 1529624Ssam Register_12=psl; 1629624Ssam Set_psl(r12); /* restore the user psl */ 1729624Ssam result = data0 | data1; /* 32 bits of true result */ 1829624Ssam asm (" movpsl r12"); 1929624Ssam New_cc (Register_12); 2029624Ssam write_back (infop,result, operand(infop,2) ); 2129624Ssam } 22