MCPcopy Create free account
hub / github.com/F-Stack/f-stack / db_print_address

Function db_print_address

freebsd/amd64/amd64/db_disasm.c:1115–1141  ·  view source on GitHub ↗
(seg, size, rex, addrp)

Source from the content-addressed store, hash-verified

1113}
1114
1115static void
1116db_print_address(seg, size, rex, addrp)
1117 const char * seg;
1118 int size;
1119 int rex;
1120 struct i_addr * addrp;
1121{
1122 if (addrp->is_reg) {
1123 db_printf("%s", db_reg[rex != 0 ? 1 : 0][(size == LONG && (rex & REX_W)) ? QUAD : size][addrp->disp]);
1124 return;
1125 }
1126
1127 if (seg) {
1128 db_printf("%s:", seg);
1129 }
1130
1131 if (addrp->disp != 0 || (addrp->base == NULL && addrp->index == NULL))
1132 db_printsym((db_addr_t)addrp->disp, DB_STGY_ANY);
1133 if (addrp->base != NULL || addrp->index != NULL) {
1134 db_printf("(");
1135 if (addrp->base)
1136 db_printf("%s", addrp->base);
1137 if (addrp->index)
1138 db_printf(",%s,%d", addrp->index, 1<<addrp->ss);
1139 db_printf(")");
1140 }
1141}
1142
1143/*
1144 * Disassemble floating-point ("escape") instruction

Callers 2

db_disasm_escFunction · 0.70
db_disasmFunction · 0.70

Calls 2

db_printfFunction · 0.85
db_printsymFunction · 0.85

Tested by

no test coverage detected