Lines Matching refs:addrp
995 struct i_addr *addrp);
998 struct i_addr *addrp);
1004 db_read_address(uintptr_t loc, int short_addr, int rex, int regmodrm, struct i_addr *addrp)
1012 addrp->is_reg = TRUE;
1013 addrp->disp = rm;
1016 addrp->is_reg = FALSE;
1017 addrp->index = 0;
1029 addrp->index = db_reg[1][size][index];
1030 addrp->ss = sib_ss(rex, sib);
1038 get_value_inc(addrp->disp, loc, 4, FALSE);
1040 addrp->base = 0;
1042 addrp->base = "%eip";
1044 addrp->base = "%rip";
1046 addrp->disp = 0;
1047 addrp->base = db_reg[1][size][rm];
1053 addrp->disp = disp;
1054 addrp->base = db_reg[1][size][rm];
1059 addrp->disp = disp;
1060 addrp->base = db_reg[1][size][rm];
1067 db_print_address(const char *seg, int size, int rex, struct i_addr *addrp)
1069 if (addrp->is_reg) {
1070 kprintf("%s", db_reg[rex != 0 ? 1 : 0][(size == LONG && (rex & REX_W)) ? QUAD : size][addrp->disp]);
1078 if (addrp->disp != 0 || (addrp->base == 0 && addrp->index == 0))
1079 Debug_PrintSymbol((uintptr_t)addrp->disp, DB_STGY_ANY);
1080 if (addrp->base != 0 || addrp->index != 0) {
1082 if (addrp->base)
1083 kprintf("%s", addrp->base);
1084 if (addrp->index)
1085 kprintf(",%s,%d", addrp->index, 1<<addrp->ss);