/* * Disassemble instruction at 'loc'. 'altfmt' specifies an * (optional) alternate format. Return address of start of * next instruction. */ db_addr_t db_disasm( db_addr_t loc, boolean_t altfmt, task_t task) { int inst; char *p; inst = db_get_task_value(loc, 4, FALSE, task); db_disasm_pc = loc; db_disasm_print_symaddr = FALSE; p = in(inst); db_printf("%s", p); if (db_disasm_print_symaddr) { db_printf(" <"); db_task_printsym(db_disasm_symaddr, DB_STGY_ANY, task); db_printf(">"); } dis_done(); return (loc+4); }
/* * Disassemble instruction at 'loc'. 'altfmt' specifies an * (optional) alternate format. Return address of start of * next instruction. */ db_addr_t db_disasm( db_addr_t loc, boolean_t altfmt, task_t task) { int inst; char *p; inst = db_get_task_value(loc, 4, FALSE, task); db_disasm_pc = loc; db_disasm_print_symaddr = FALSE; p = in(inst); db_printf("%s", p); if (db_disasm_print_symaddr) { db_printf(" <"); db_task_printsym(db_disasm_symaddr, DB_STGY_ANY, task); db_printf(">"); } db_printf("\n"); /* Make sure we have a new line for multiline displays */ dis_done(); return (loc+4); }