1*45699Sbostic /* Amovob.c 1.2 90/12/04 */ 229617Ssam 3*45699Sbostic #include "align.h" 429617Ssam movob_op(infop) 529617Ssam process_info *infop; 629617Ssam /* 729617Ssam /* Move output byte 829617Ssam /* 929617Ssam /****************************************/ 1029617Ssam { 1129617Ssam register long Register_12; /* Has to be first reg ! */ 1229617Ssam register long Register_11; 1329617Ssam register long Register_10; 1429617Ssam register long code; 1529617Ssam 1629617Ssam 1729617Ssam Register_12 = operand(infop,0)->data; 1829617Ssam Register_11 = operand(infop,1)->address; 1929617Ssam code = writeable(infop, Register_11, 1); 2029617Ssam if ( code == TRUE ) { 2129617Ssam Register_10=psl; 2229617Ssam Set_psl(r10); /* restore the user psl */ 2329617Ssam asm (" movob r12,(r11)"); 2429617Ssam asm (" movpsl r12"); 2529617Ssam New_cc (Register_12); 2629617Ssam } else exception (infop, ILL_ACCESS, Register_11, code); 2729617Ssam } 28