public static void generateBinaryOperationFlags(final ITranslationEnvironment environment,final long nextOffset,final String result,final OperandSize resultSize,final List<ReilInstruction> instructions) throws IllegalArgumentException {
  Preconditions.checkNotNull(environment,"Error: Argument environment can't be null");
  Preconditions.checkNotNull(result,"Error: Argument result can't be null");
  Preconditions.checkNotNull(resultSize,"Error: Argument resultSize can't be null");
  Preconditions.checkNotNull(instructions,"Error: Argument instructions can't be null");
  final long baseOffset=nextOffset - instructions.size();
  long offset=nextOffset;
  generateSignFlagCode(environment,offset,result,resultSize,instructions);
  offset=(baseOffset + instructions.size()) - 1;
  instructions.add(ReilHelpers.createBisz(offset + 1,resultSize,result,OperandSize.BYTE,Helpers.ZERO_FLAG));
  instructions.add(ReilHelpers.createStr(offset + 2,OperandSize.BYTE,"0",OperandSize.BYTE,Helpers.CARRY_FLAG));
  instructions.add(ReilHelpers.createStr(offset + 3,OperandSize.BYTE,"0",OperandSize.BYTE,Helpers.OVERFLOW_FLAG));
}

public static void generateBinaryOperationFlags ( final ITranslationEnvironment environment , final long nextOffset , final String result , final OperandSize resultSize , final List < ReilInstruction > instructions ) throws IllegalArgumentException { Preconditions . checkNotNull ( environment , "Error: Argument environment can't be null" ) ; Preconditions . checkNotNull ( result , "Error: Argument result can't be null" ) ; Preconditions . checkNotNull ( resultSize , "Error: Argument resultSize can't be null" ) ; Preconditions . checkNotNull ( instructions , "Error: Argument instructions can't be null" ) ; final long baseOffset = nextOffset - instructions . size ( ) ; long offset = nextOffset ; generateSignFlagCode ( environment , offset , result , resultSize , instructions ) ; offset = ( baseOffset + instructions . size ( ) ) - 1 ; instructions . add ( ReilHelpers . createBisz ( offset + 1 , resultSize , result , OperandSize . BYTE , Helpers . ZERO_FLAG ) ) ; instructions . add ( ReilHelpers . createStr ( offset + 2 , OperandSize . BYTE , "0" , OperandSize . BYTE , Helpers . CARRY_FLAG ) ) ; instructions . add ( ReilHelpers . createStr ( offset + 3 , OperandSize . BYTE , "0" , OperandSize . BYTE , Helpers . OVERFLOW_FLAG ) ) ; }
sets the flags according to the result of a binary and / or / xor operation .
