rex
mod = f_mod(rex, regmodrm);
rm = f_rm(rex, regmodrm);
rm = sib_base(rex, sib);
index = sib_index(rex, sib);
addrp->ss = sib_ss(rex, sib);
db_print_address(const char * seg, u_int rex, int size, struct i_addr *addrp)
int ext = ((rex & REX_B) != 0);
db_disasm_esc(db_addr_t loc, int inst, u_int rex, int short_addr, int size,
fp = &db_Esc_inst[inst - 0xd8][f_reg(rex, regmodrm)];
mod = f_mod(rex, regmodrm);
loc = db_read_address(loc, short_addr, rex, regmodrm, &address);
db_print_address(seg, rex, BYTE, &address);
db_printf("%s\t%%st,%%st(%d)", name, f_rm(rex, regmodrm));
db_printf("%s\t%%st(%d),%%st", name, f_rm(rex, regmodrm));
db_printf("%s\t%%st(%d)", name, f_rm(rex, regmodrm));
name = ((const char * const *)fp->f_rrname)[f_rm(rex, regmodrm)];
name = ((const char * const *)fp->f_rrname)[f_rm(rex, regmodrm)];
u_int rex = 0;
rex = inst;
if (rex != 0) {
if (rex & REX_W)
db_printf("%s", rex_str[rex & 0x0f]);
loc = db_disasm_esc(loc, inst, rex, short_addr, size, seg);
loc = db_read_address(loc, short_addr, rex, regmodrm, &address);
if (ip->i_extra == db_Grp9 && f_mod(rex, regmodrm) == 3) {
ip = &db_Grp9b[f_reg(rex, regmodrm)];
[f_reg(rex, regmodrm)];
ip = &ip[f_reg(rex, regmodrm)];
ip = &ip[f_reg(rex, regmodrm)];
db_print_address(seg, rex, size, &address);
db_print_address(seg, rex, size, &address);
db_print_address(seg, rex, LONG, &address);
db_print_address(seg, rex, WORD, &address);
db_print_address(seg, rex, BYTE, &address);
int ext = ((rex & REX_R) != 0);
db_printf("%s", db_reg[ext][size][f_reg(rex, regmodrm)]);
int ext = ((rex & REX_R) != 0);
db_printf("%s", db_reg[ext][WORD][f_reg(rex, regmodrm)]);
db_printf("%s", db_reg[0][size][f_rm(rex, inst)]);
db_printf("%s", db_seg_reg[f_reg(rex, regmodrm)]);
db_printf("%s", db_seg_reg[f_reg(rex, inst)]);
db_printf("%%cr%d", f_reg(rex, regmodrm));
db_printf("%%dr%d", f_reg(rex, regmodrm));
db_printf("%%tr%d", f_reg(rex, regmodrm));
#define f_mod(rex, byte) ((byte)>>6)
#define f_reg(rex, byte) ((((byte)>>3)&0x7) | (rex & REX_R ? 0x8 : 0x0))
#define f_rm(rex, byte) (((byte)&0x7) | (rex & REX_B ? 0x8 : 0x0))
#define sib_ss(rex, byte) ((byte)>>6)
#define sib_index(rex, byte) ((((byte)>>3)&0x7) | (rex & REX_X ? 0x8 : 0x0))
#define sib_base(rex, byte) (((byte)&0x7) | (rex & REX_B ? 0x8 : 0x0))
db_read_address(db_addr_t loc, int short_addr, u_int rex, int regmodrm,