docs: def main():
      """Test case for simple opcode disassembly."""
      test_targets = (    
          [ARCH_I386, MACH_I386_I386_INTEL_SYNTAX, ENDIAN_MONO, "\x55\x89\xe5\xE8\xB8\xFF\xFF\xFF", 0x1000],
          [ARCH_I386, MACH_X86_64_INTEL_SYNTAX, ENDIAN_MONO, "\x55\x48\x89\xe5\xE8\xA3\xFF\xFF\xFF", 0x1000],
          [ARCH_ARM, MACH_ARM_2, ENDIAN_LITTLE, "\x04\xe0\x2d\xe5\xED\xFF\xFF\xEB", 0x1000],
          [ARCH_MIPS, MACH_MIPSISA32, ENDIAN_BIG, "\x0C\x10\x00\x97\x00\x00\x00\x00", 0x1000],
          [ARCH_POWERPC, MACH_PPC, ENDIAN_BIG, "\x94\x21\xFF\xE8\x7C\x08\x02\xA6", 0x1000],
          #[ARCH_XTENSA, MACH_XTENSA, ENDIAN_BIG, "\x6C\x10\x06\xD7\x10", 0x1000],
          )
  
      for target_arch, target_mach, target_endian, binary, address in test_targets:
          #
          # Initialize libopcodes with the current architecture.
          #
          opcodes = Opcodes(target_arch, target_mach, target_endian)
  
          # Print some architecture-specific information.
          print "\n[+] Architecture %s - Machine %d" % \
              (opcodes.architecture_name, opcodes.machine)
  
          print "[+] Disassembly:"
  
          # Print all the disassembled instructions.
          for vma, size, disasm in opcodes.disassemble(binary, address):
              print "0x%X (size=%d)\t %s" % (vma, size, disasm)