GNIDA.mediana.parse_mem_operand_16 C# (CSharp) Method

parse_mem_operand_16() static private method

static private parse_mem_operand_16 ( long origin_offset, long offset, INSTRUCTION &instr, int op_index, DISMODE mode ) : UInt32
origin_offset long
offset long
instr INSTRUCTION
op_index int
mode DISMODE
return UInt32
        static UInt32 parse_mem_operand_16(long origin_offset, long offset, ref INSTRUCTION instr, int op_index, DISMODE mode)
        {
            byte len;
            int index;

            instr.ops[op_index].value.addr.mod = (byte)(instr.modrm >> 0x6);
            len = get_disp(origin_offset, offset, ref instr, op_index, mode);
            index = (instr.modrm >> 0x3 & 0x18) | (instr.modrm & 0x7);
            instr.ops[op_index].value.addr.seg = addrs_16bit[index].seg;
            instr.ops[op_index].value.addr.mod = addrs_16bit[index].mod;
            instr.ops[op_index].value.addr.bas = addrs_16bit[index].bas;
            instr.ops[op_index].value.addr.index = addrs_16bit[index].index;
            instr.ops[op_index].value.addr.scale = addrs_16bit[index].scale;

            return len;
        }