1 /*- 2 * Copyright (c) 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Computer Consoles Inc. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)Amovob.c 7.1 (Berkeley) 12/06/90 11 */ 12 13 #include "align.h" 14 movob_op(infop) 15 process_info *infop; 16 /* 17 /* Move output byte 18 /* 19 /****************************************/ 20 { 21 register long Register_12; /* Has to be first reg ! */ 22 register long Register_11; 23 register long Register_10; 24 register long code; 25 26 27 Register_12 = operand(infop,0)->data; 28 Register_11 = operand(infop,1)->address; 29 code = writeable(infop, Register_11, 1); 30 if ( code == TRUE ) { 31 Register_10=psl; 32 Set_psl(r10); /* restore the user psl */ 33 asm (" movob r12,(r11)"); 34 asm (" movpsl r12"); 35 New_cc (Register_12); 36 } else exception (infop, ILL_ACCESS, Register_11, code); 37 } 38