code: def disasm_app(_parser, cmd, args):  # pragma: no cover
      
  
      parser = argparse.ArgumentParser(
          prog=_parser.prog,
          description=_parser.description,
      )
      parser.add_argument('code', help='the code to disassemble, read from stdin if omitted', nargs='?')
      pwnypack.main.add_target_arguments(parser)
      parser.add_argument(
          '--syntax', '-s',
          choices=AsmSyntax.__members__.keys(),
          default=None,
      )
      parser.add_argument(
          '--address', '-o',
          type=lambda v: int(v, 0),
          default=0,
          help='the address of the disassembled code',
      )
      parser.add_argument(
          '--format', '-f',
          choices=['hex', 'bin'],
          help='the input format (defaults to hex for commandline, bin for stdin)',
      )
  
      args = parser.parse_args(args)
      target = pwnypack.main.target_from_arguments(args)
      if args.syntax is not None:
          syntax = AsmSyntax.__members__[args.syntax]
      else:
          syntax = None
  
      if args.format is None:
          if args.code is None:
              args.format = 'bin'
          else:
              args.format = 'hex'
  
      if args.format == 'hex':
          code = pwnypack.codec.dehex(pwnypack.main.string_value_or_stdin(args.code))
      else:
          code = pwnypack.main.binary_value_or_stdin(args.code)
  
      print('\n'.join(disasm(code, args.address, syntax=syntax, target=target)))
docs: Disassemble code from commandline or stdin.