1*29617Ssam /* Amovob.c 1.1 86/07/20 */ 2*29617Ssam 3*29617Ssam #include "../tahoealign/align.h" 4*29617Ssam movob_op(infop) 5*29617Ssam process_info *infop; 6*29617Ssam /* 7*29617Ssam /* Move output byte 8*29617Ssam /* 9*29617Ssam /****************************************/ 10*29617Ssam { 11*29617Ssam register long Register_12; /* Has to be first reg ! */ 12*29617Ssam register long Register_11; 13*29617Ssam register long Register_10; 14*29617Ssam register long code; 15*29617Ssam 16*29617Ssam 17*29617Ssam Register_12 = operand(infop,0)->data; 18*29617Ssam Register_11 = operand(infop,1)->address; 19*29617Ssam code = writeable(infop, Register_11, 1); 20*29617Ssam if ( code == TRUE ) { 21*29617Ssam Register_10=psl; 22*29617Ssam Set_psl(r10); /* restore the user psl */ 23*29617Ssam asm (" movob r12,(r11)"); 24*29617Ssam asm (" movpsl r12"); 25*29617Ssam New_cc (Register_12); 26*29617Ssam } else exception (infop, ILL_ACCESS, Register_11, code); 27*29617Ssam } 28