static private get_address_size ( INSTRUCTION &instr, byte prefixes, DISMODE mode ) : void | ||
instr | INSTRUCTION | |
prefixes | byte | |
mode | DISMODE | |
리턴 | void |
static void get_address_size(ref INSTRUCTION instr, byte[] prefixes, DISMODE mode)
{
if (mode == DISMODE.DISASSEMBLE_MODE_64)
{
if (prefixes[PREF_ADDRSIZE_INDEX] != 0xFF)
instr.addrsize = ADDR_SIZE_32;
else
instr.addrsize = ADDR_SIZE_64;
}
else
{
if (prefixes[PREF_ADDRSIZE_INDEX] != 0xFF)
mode ^= (DISMODE.DISASSEMBLE_MODE_16 | DISMODE.DISASSEMBLE_MODE_32);
if (mode == DISMODE.DISASSEMBLE_MODE_16)
instr.addrsize = ADDR_SIZE_16;
else
instr.addrsize = ADDR_SIZE_32;
}
}