#NEWLINE# def add_instruction( self , reil_instruction , comment = None ) : #NEWLINE# #INDENT# 'Add an instruction for analysis.\n        ' #NEWLINE# if ( reil_instruction . mnemonic == ReilMnemonic . LDM ) : #NEWLINE# #INDENT# addr = self . _translator . convert_to_bitvec ( reil_instruction . operands [ 0 ] ) #NEWLINE# self . read_addrs . append ( addr ) #NEWLINE# #UNINDENT# if ( reil_instruction . mnemonic == ReilMnemonic . STM ) : #NEWLINE# #INDENT# addr = self . _translator . convert_to_bitvec ( reil_instruction . operands [ 2 ] ) #NEWLINE# self . write_addrs . append ( addr ) #NEWLINE# #UNINDENT# smt_exprs = self . _translator . translate ( reil_instruction ) #NEWLINE# for ( idx , smt_expr ) in enumerate ( smt_exprs ) : #NEWLINE# #INDENT# if ( idx == 0 ) : #NEWLINE# #INDENT# self . _solver . add ( smt_expr , comment ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . _solver . add ( smt_expr )