Пример #1
0
uint32_t ti68k_debug_disassemble(uint32_t addr, char **line)
{
	static struct disassemble_info di;
	static char *output = NULL;
	uint32_t offset;
	gchar **split;
	gchar *p;

	if (!output)
	{
		di = gdb_disassemble_info (NULL, NULL);
		output = di.stream;
	}

	*output = 0;
	offset = print_insn_m68k(addr, &di);
	split = g_strsplit(output, " ", 2);

	if(split[1])
		for(p = split[1]; *p == ' '; p++);
	else
		p = "";

	*line = g_strdup_printf("%06x: %s %s", addr, split[0] ? split[0] : "", p);
	g_strfreev(split);

	return offset;
}
Пример #2
0
uint32_t Dasm68000(unsigned char *mem_buf, char *output_buf, uint32_t addr)
{
  struct disassemble_info di = gdb_disassemble_info(mem_buf, output_buf);
  uint32_t offset;

  *output_buf = 0;
  di.buffer_vma = addr;
  offset = print_insn_m68k(addr, &di);
  return offset;
}