def assemble_to_object(self, in_filename, verbose=False):
<EOL>file_base_name = os.path.splitext(os.path.basename(in_filename))[<NUM_LIT:0>]<EOL>out_filename, already_exists = self._get_intermediate_file(file_base_name + '<STR_LIT>',<EOL>binary=True,<EOL>fp=False)<EOL>if already_exists:<EOL><INDENT>pass<EOL><DEDENT>compiler, compiler_args = self._machine.get_compiler()<EOL>compiler_args.append('<STR_LIT:-c>')<EOL>cmd = [compiler] + [<EOL>in_filename] +compiler_args + ['<STR_LIT>', out_filename]<EOL>if verbose:<EOL><INDENT>print('<STR_LIT>', '<STR_LIT:U+0020>'.join(cmd))<EOL><DEDENT>try:<EOL><INDENT>subprocess.check_output(cmd)<EOL><DEDENT>except subprocess.CalledProcessError as e:<EOL><INDENT>print("<STR_LIT>", e, file=sys.stderr)<EOL>sys.exit(<NUM_LIT:1>)<EOL><DEDENT>return out_filename<EOL>
Assemble *in_filename* assembly into *out_filename* object.

If *iaca_marked* is set to true, markers are inserted around the block with most packed
instructions or (if no packed instr. were found) the largest block and modified file is
saved to *in_file*.

*asm_block* controls how the to-be-marked block is chosen. "auto" (default) results in
the largest block, "manual" results in interactive and a number in the according block.

*pointer_increment* is the number of bytes the pointer is incremented after the loop or
   - 'auto': automatic detection, RuntimeError is raised in case of failure
   - 'auto_with_manual_fallback': automatic detection, fallback to manual input
   - 'manual': prompt user

Returns two-tuple (filepointer, filename) to temp binary file.