def print_if_cond(self, jump_cond, fused_inst): if fused_inst is None: print_no_end(cond_symbol(jump_cond)) if jump_cond in JMP_ADD_ZERO: print_no_end(" 0") return assignment = fused_inst.id in ASSIGNMENT_OPS if assignment: print_no_end("(") print_no_end("(") self.print_operand(fused_inst, 0) print_no_end(" ") if fused_inst.id == X86_INS_TEST: print_no_end(cond_symbol(jump_cond)) elif assignment: print_no_end(inst_symbol(fused_inst)) print_no_end(" ") self.print_operand(fused_inst, 1) print_no_end(") ") print_no_end(cond_symbol(jump_cond)) else: print_no_end(cond_symbol(jump_cond)) print_no_end(" ") self.print_operand(fused_inst, 1) if fused_inst.id == X86_INS_TEST or \ (fused_inst.id != X86_INS_CMP and \ (jump_cond in JMP_ADD_ZERO or assignment)): print_no_end(" 0") print_no_end(")")
def _if_cond(self, jump_cond, fused_inst): if fused_inst is None: self._add(cond_symbol(jump_cond)) if jump_cond in JMP_ADD_ZERO: self._add(" 0") return assignment = fused_inst.id in ASSIGNMENT_OPS if assignment: self._add("(") self._add("(") self._operand(fused_inst, 0) self._add(" ") if fused_inst.id == X86_INS_TEST: self._add(cond_symbol(jump_cond)) elif assignment: self._add(inst_symbol(fused_inst)) self._add(" ") self._operand(fused_inst, 1) self._add(") ") self._add(cond_symbol(jump_cond)) else: self._add(cond_symbol(jump_cond)) self._add(" ") self._operand(fused_inst, 1) if fused_inst.id == X86_INS_TEST or \ (fused_inst.id != X86_INS_CMP and \ (jump_cond in JMP_ADD_ZERO or assignment)): self._add(" 0") self._add(")")