protected static Pair<String,String> rrxRegister(final long offset,final ITranslationEnvironment environment,final List<ReilInstruction> instructions,final String registerNodeValue){
  final String shifterOperand=environment.getNextVariableString();
  final String shifterCarryOut=environment.getNextVariableString();
  final String tmpVar1=environment.getNextVariableString();
  final String tmpVar2=environment.getNextVariableString();
  final String tmpVar3=environment.getNextVariableString();
  long baseOffset=offset;
  instructions.add(ReilHelpers.createBsh(baseOffset++,byteSize,"C",wordSize,thirtyOneSet,dWordSize,tmpVar1));
  instructions.add(ReilHelpers.createBsh(baseOffset++,dWordSize,registerNodeValue,byteSize,"-" + oneSet,dWordSize,tmpVar2));
  instructions.add(ReilHelpers.createOr(baseOffset++,dWordSize,tmpVar1,dWordSize,tmpVar2,dWordSize,tmpVar3));
  instructions.add(ReilHelpers.createAnd(baseOffset++,dWordSize,tmpVar3,dWordSize,bitMaskAllBitsSet,dWordSize,shifterOperand));
  instructions.add(ReilHelpers.createAnd(baseOffset++,dWordSize,registerNodeValue,byteSize,String.valueOf(1),byteSize,shifterCarryOut));
  return new Pair<String,String>(shifterOperand,shifterCarryOut);
}

protected static Pair < String , String > rrxRegister ( final long offset , final ITranslationEnvironment environment , final List < ReilInstruction > instructions , final String registerNodeValue ) { final String shifterOperand = environment . getNextVariableString ( ) ; final String shifterCarryOut = environment . getNextVariableString ( ) ; final String tmpVar1 = environment . getNextVariableString ( ) ; final String tmpVar2 = environment . getNextVariableString ( ) ; final String tmpVar3 = environment . getNextVariableString ( ) ; long baseOffset = offset ; instructions . add ( ReilHelpers . createBsh ( baseOffset ++ , byteSize , "C" , wordSize , thirtyOneSet , dWordSize , tmpVar1 ) ) ; instructions . add ( ReilHelpers . createBsh ( baseOffset ++ , dWordSize , registerNodeValue , byteSize , "-" + oneSet , dWordSize , tmpVar2 ) ) ; instructions . add ( ReilHelpers . createOr ( baseOffset ++ , dWordSize , tmpVar1 , dWordSize , tmpVar2 , dWordSize , tmpVar3 ) ) ; instructions . add ( ReilHelpers . createAnd ( baseOffset ++ , dWordSize , tmpVar3 , dWordSize , bitMaskAllBitsSet , dWordSize , shifterOperand ) ) ; instructions . add ( ReilHelpers . createAnd ( baseOffset ++ , dWordSize , registerNodeValue , byteSize , String . valueOf ( 1 ) , byteSize , shifterCarryOut ) ) ; return new Pair < String , String > ( shifterOperand , shifterCarryOut ) ; }
< rm > , rrx operation : shifter_operand = ( c flag logical_shift_left 31 ) or ( rm logical_shift_right 1 ) shifter_carry_out = rm [ 0 ]
