private static Pair<String,String> offsetImm(final long offset,final ITranslationEnvironment environment,final List<ReilInstruction> instructions,final String registerNodeValue,final String immediateNodeValue){
  final String address=environment.getNextVariableString();
  final String tmpVar1=environment.getNextVariableString();
  long baseOffset=offset;
  instructions.add(ReilHelpers.createAdd(baseOffset++,dw,registerNodeValue,dw,immediateNodeValue,dw,tmpVar1));
  instructions.add(ReilHelpers.createAnd(baseOffset++,dw,tmpVar1,dw,dWordBitMask,dw,address));
  return new Pair<String,String>(address,registerNodeValue);
}

private static Pair < String , String > offsetImm ( final long offset , final ITranslationEnvironment environment , final List < ReilInstruction > instructions , final String registerNodeValue , final String immediateNodeValue ) { final String address = environment . getNextVariableString ( ) ; final String tmpVar1 = environment . getNextVariableString ( ) ; long baseOffset = offset ; instructions . add ( ReilHelpers . createAdd ( baseOffset ++ , dw , registerNodeValue , dw , immediateNodeValue , dw , tmpVar1 ) ) ; instructions . add ( ReilHelpers . createAnd ( baseOffset ++ , dw , tmpVar1 , dw , dWordBitMask , dw , address ) ) ; return new Pair < String , String > ( address , registerNodeValue ) ; }
[ < rn > , # + / - < offset_12 > ] operation : if u = = 1 then address = rn + offset_12 else / u = = 0 / address = rn - offset_12
