1*45760Sbostic /*- 2*45760Sbostic * Copyright (c) 1986 The Regents of the University of California. 3*45760Sbostic * All rights reserved. 4*45760Sbostic * 5*45760Sbostic * This code is derived from software contributed to Berkeley by 6*45760Sbostic * Computer Consoles Inc. 7*45760Sbostic * 8*45760Sbostic * %sccs.include.redist.c% 9*45760Sbostic * 10*45760Sbostic * @(#)Amovob.c 7.1 (Berkeley) 12/06/90 11*45760Sbostic */ 1229617Ssam 1345699Sbostic #include "align.h" movob_op(infop)1429617Ssammovob_op(infop) 1529617Ssam process_info *infop; 1629617Ssam /* 1729617Ssam /* Move output byte 1829617Ssam /* 1929617Ssam /****************************************/ 2029617Ssam { 2129617Ssam register long Register_12; /* Has to be first reg ! */ 2229617Ssam register long Register_11; 2329617Ssam register long Register_10; 2429617Ssam register long code; 2529617Ssam 2629617Ssam 2729617Ssam Register_12 = operand(infop,0)->data; 2829617Ssam Register_11 = operand(infop,1)->address; 2929617Ssam code = writeable(infop, Register_11, 1); 3029617Ssam if ( code == TRUE ) { 3129617Ssam Register_10=psl; 3229617Ssam Set_psl(r10); /* restore the user psl */ 3329617Ssam asm (" movob r12,(r11)"); 3429617Ssam asm (" movpsl r12"); 3529617Ssam New_cc (Register_12); 3629617Ssam } else exception (infop, ILL_ACCESS, Register_11, code); 3729617Ssam } 38