package amd64

import (
	"math"
	"testing"

	"github.com/tetratelabs/wazero/internal/asm"
	"github.com/tetratelabs/wazero/internal/testing/require"
)

func TestNodeImpl_GetMemoryLocation_errors(t *testing.T) {
	tests := []struct {
		n      *nodeImpl
		expErr string
	}{
		{
			n:      &nodeImpl{instruction: ADDL, types: operandTypesMemoryToRegister, srcConst: math.MaxInt64, srcReg: RegAX, dstReg: RegR10},
			expErr: "offset does not fit in 32-bit integer",
		},
		{
			n: &nodeImpl{
				instruction: ADDL, types: operandTypesMemoryToRegister,
				srcConst: 10, srcReg: asm.NilRegister, srcMemIndex: RegR12, srcMemScale: 1, dstReg: RegR10,
			},
			expErr: "addressing without base register but with index is not implemented",
		},
		{
			n: &nodeImpl{
				instruction: ADDL, types: operandTypesMemoryToRegister,
				srcConst: 10, srcReg: RegAX, srcMemIndex: RegSP, srcMemScale: 1, dstReg: RegR10,
			},
			expErr: "SP cannot be used for SIB index",
		},
		{
			n: &nodeImpl{
				instruction: ADDL, types: operandTypesMemoryToRegister,
				srcConst: 10, srcReg: RegAX, srcMemIndex: RegR9, srcMemScale: 3, dstReg: RegR10,
			},
			expErr: "scale in SIB must be one of 1, 2, 4, 8 but got 3",
		},
	}
	for _, tt := range tests {
		_, _, _, _, _, err := tt.n.GetMemoryLocation()
		require.EqualError(t, err, tt.expErr, tt.expErr)
	}
}

func TestNodeImpl_GetMemoryLocation_without_base(t *testing.T) {
	tests := []struct {
		offset                        int64
		modRM, sbi, displacementWidth byte
	}{
		{offset: 0, modRM: 0x4, sbi: 0x25},
		{offset: 1, modRM: 0x4, sbi: 0x25},
		{offset: -1, modRM: 0x4, sbi: 0x25},
		{offset: 2147483647, modRM: 0x4, sbi: 0x25},
		{offset: -2147483648, modRM: 0x4, sbi: 0x25},
	}
	for _, tc := range tests {
		n := &nodeImpl{
			types:  operandTypesMemoryToRegister,
			srcReg: asm.NilRegister, srcConst: tc.offset,
		}
		rexPrefix, modRM, sbi, sbiExist, displacementWidth, err := n.GetMemoryLocation()
		require.NoError(t, err)
		require.Equal(t, RexPrefixNone, rexPrefix)
		require.Equal(t, tc.modRM, modRM)
		require.True(t, sbiExist)
		require.Equal(t, tc.sbi, sbi)
		require.Equal(t, byte(32), displacementWidth)
	}
}

func TestNodeImpl_GetMemoryLocation_with_base(t *testing.T) {
	tests := []struct {
		name              string
		baseReg, indexReg asm.Register
		scale             byte
		offset            int64
		expRex, expModRM  byte
		needSBI           bool
		expSBI            byte
		displacementWidth byte
	}{
		{name: "baseReg=RegAX/indexReg=RegAX/scale=1/offset=0", baseReg: RegAX, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=2/offset=0", baseReg: RegAX, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x40, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=4/offset=0", baseReg: RegAX, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x80, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=8/offset=0", baseReg: RegAX, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xc0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=1/offset=0", baseReg: RegAX, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x18, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=2/offset=0", baseReg: RegAX, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x58, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=4/offset=0", baseReg: RegAX, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x98, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=8/offset=0", baseReg: RegAX, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xd8, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=1/offset=0", baseReg: RegAX, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x28, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=2/offset=0", baseReg: RegAX, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x68, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=4/offset=0", baseReg: RegAX, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xa8, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=8/offset=0", baseReg: RegAX, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xe8, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=1/offset=0", baseReg: RegAX, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x30, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=2/offset=0", baseReg: RegAX, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x70, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=4/offset=0", baseReg: RegAX, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=8/offset=0", baseReg: RegAX, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=1/offset=0", baseReg: RegAX, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x38, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=2/offset=0", baseReg: RegAX, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x78, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=4/offset=0", baseReg: RegAX, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb8, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=8/offset=0", baseReg: RegAX, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf8, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=1/offset=0", baseReg: RegAX, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=2/offset=0", baseReg: RegAX, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x40, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=4/offset=0", baseReg: RegAX, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x80, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=8/offset=0", baseReg: RegAX, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xc0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=1/offset=0", baseReg: RegAX, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x30, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=2/offset=0", baseReg: RegAX, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x70, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=4/offset=0", baseReg: RegAX, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xb0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=8/offset=0", baseReg: RegAX, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xf0, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=Nil/scale=1/offset=0", baseReg: RegAX, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=Nil/scale=2/offset=0", baseReg: RegAX, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=Nil/scale=4/offset=0", baseReg: RegAX, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=Nil/scale=8/offset=0", baseReg: RegAX, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=1/offset=1", baseReg: RegAX, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=2/offset=1", baseReg: RegAX, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=4/offset=1", baseReg: RegAX, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=8/offset=1", baseReg: RegAX, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=1/offset=1", baseReg: RegAX, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x18, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=2/offset=1", baseReg: RegAX, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x58, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=4/offset=1", baseReg: RegAX, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x98, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=8/offset=1", baseReg: RegAX, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xd8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=1/offset=1", baseReg: RegAX, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x28, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=2/offset=1", baseReg: RegAX, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x68, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=4/offset=1", baseReg: RegAX, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xa8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=8/offset=1", baseReg: RegAX, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xe8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=1/offset=1", baseReg: RegAX, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=2/offset=1", baseReg: RegAX, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=4/offset=1", baseReg: RegAX, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=8/offset=1", baseReg: RegAX, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=1/offset=1", baseReg: RegAX, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x38, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=2/offset=1", baseReg: RegAX, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x78, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=4/offset=1", baseReg: RegAX, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=8/offset=1", baseReg: RegAX, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=1/offset=1", baseReg: RegAX, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=2/offset=1", baseReg: RegAX, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=4/offset=1", baseReg: RegAX, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=8/offset=1", baseReg: RegAX, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=1/offset=1", baseReg: RegAX, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=2/offset=1", baseReg: RegAX, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=4/offset=1", baseReg: RegAX, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=8/offset=1", baseReg: RegAX, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=1/offset=1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=2/offset=1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=4/offset=1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=8/offset=1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=1/offset=-1", baseReg: RegAX, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=2/offset=-1", baseReg: RegAX, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=4/offset=-1", baseReg: RegAX, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=8/offset=-1", baseReg: RegAX, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=1/offset=-1", baseReg: RegAX, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x18, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=2/offset=-1", baseReg: RegAX, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x58, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=4/offset=-1", baseReg: RegAX, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x98, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=8/offset=-1", baseReg: RegAX, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xd8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=1/offset=-1", baseReg: RegAX, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x28, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=2/offset=-1", baseReg: RegAX, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x68, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=4/offset=-1", baseReg: RegAX, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xa8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=8/offset=-1", baseReg: RegAX, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xe8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=1/offset=-1", baseReg: RegAX, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=2/offset=-1", baseReg: RegAX, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=4/offset=-1", baseReg: RegAX, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=8/offset=-1", baseReg: RegAX, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=1/offset=-1", baseReg: RegAX, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x38, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=2/offset=-1", baseReg: RegAX, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x78, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=4/offset=-1", baseReg: RegAX, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=8/offset=-1", baseReg: RegAX, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf8, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=1/offset=-1", baseReg: RegAX, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=2/offset=-1", baseReg: RegAX, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=4/offset=-1", baseReg: RegAX, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=8/offset=-1", baseReg: RegAX, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=1/offset=-1", baseReg: RegAX, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=2/offset=-1", baseReg: RegAX, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=4/offset=-1", baseReg: RegAX, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=8/offset=-1", baseReg: RegAX, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=1/offset=-1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=2/offset=-1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=4/offset=-1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=Nil/scale=8/offset=-1", baseReg: RegAX, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x18, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x58, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x98, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xd8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x28, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x68, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xa8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xe8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x38, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x78, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegAX, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegAX, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegAX, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegAX, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegAX, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegAX, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegAX, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegAX, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x18, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x58, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x98, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xd8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x28, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x68, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xa8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xe8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x38, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x78, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf8, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegAX, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegAX, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegAX, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegAX/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegAX, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=1/offset=0", baseReg: RegBX, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=2/offset=0", baseReg: RegBX, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x43, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=4/offset=0", baseReg: RegBX, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x83, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=8/offset=0", baseReg: RegBX, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xc3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=1/offset=0", baseReg: RegBX, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x1b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=2/offset=0", baseReg: RegBX, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x5b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=4/offset=0", baseReg: RegBX, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x9b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=8/offset=0", baseReg: RegBX, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xdb, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=1/offset=0", baseReg: RegBX, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x2b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=2/offset=0", baseReg: RegBX, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x6b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=4/offset=0", baseReg: RegBX, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xab, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=8/offset=0", baseReg: RegBX, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xeb, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=1/offset=0", baseReg: RegBX, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x33, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=2/offset=0", baseReg: RegBX, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x73, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=4/offset=0", baseReg: RegBX, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=8/offset=0", baseReg: RegBX, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=1/offset=0", baseReg: RegBX, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x3b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=2/offset=0", baseReg: RegBX, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x7b, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=4/offset=0", baseReg: RegBX, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xbb, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=8/offset=0", baseReg: RegBX, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xfb, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=1/offset=0", baseReg: RegBX, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=2/offset=0", baseReg: RegBX, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x43, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=4/offset=0", baseReg: RegBX, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x83, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=8/offset=0", baseReg: RegBX, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xc3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=1/offset=0", baseReg: RegBX, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x33, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=2/offset=0", baseReg: RegBX, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x73, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=4/offset=0", baseReg: RegBX, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xb3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=8/offset=0", baseReg: RegBX, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xf3, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=Nil/scale=1/offset=0", baseReg: RegBX, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x3, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=Nil/scale=2/offset=0", baseReg: RegBX, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x3, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=Nil/scale=4/offset=0", baseReg: RegBX, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x3, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=Nil/scale=8/offset=0", baseReg: RegBX, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x3, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=1/offset=1", baseReg: RegBX, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=2/offset=1", baseReg: RegBX, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x43, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=4/offset=1", baseReg: RegBX, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x83, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=8/offset=1", baseReg: RegBX, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=1/offset=1", baseReg: RegBX, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=2/offset=1", baseReg: RegBX, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=4/offset=1", baseReg: RegBX, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=8/offset=1", baseReg: RegBX, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=1/offset=1", baseReg: RegBX, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=2/offset=1", baseReg: RegBX, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=4/offset=1", baseReg: RegBX, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xab, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=8/offset=1", baseReg: RegBX, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xeb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=1/offset=1", baseReg: RegBX, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x33, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=2/offset=1", baseReg: RegBX, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x73, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=4/offset=1", baseReg: RegBX, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=8/offset=1", baseReg: RegBX, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=1/offset=1", baseReg: RegBX, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=2/offset=1", baseReg: RegBX, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=4/offset=1", baseReg: RegBX, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=8/offset=1", baseReg: RegBX, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=1/offset=1", baseReg: RegBX, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=2/offset=1", baseReg: RegBX, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x43, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=4/offset=1", baseReg: RegBX, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x83, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=8/offset=1", baseReg: RegBX, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=1/offset=1", baseReg: RegBX, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x33, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=2/offset=1", baseReg: RegBX, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x73, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=4/offset=1", baseReg: RegBX, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=8/offset=1", baseReg: RegBX, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=1/offset=1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=2/offset=1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=4/offset=1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=8/offset=1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=1/offset=-1", baseReg: RegBX, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=2/offset=-1", baseReg: RegBX, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x43, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=4/offset=-1", baseReg: RegBX, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x83, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=8/offset=-1", baseReg: RegBX, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=1/offset=-1", baseReg: RegBX, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=2/offset=-1", baseReg: RegBX, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=4/offset=-1", baseReg: RegBX, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=8/offset=-1", baseReg: RegBX, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=1/offset=-1", baseReg: RegBX, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=2/offset=-1", baseReg: RegBX, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=4/offset=-1", baseReg: RegBX, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xab, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=8/offset=-1", baseReg: RegBX, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xeb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=1/offset=-1", baseReg: RegBX, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x33, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=2/offset=-1", baseReg: RegBX, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x73, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=4/offset=-1", baseReg: RegBX, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=8/offset=-1", baseReg: RegBX, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=1/offset=-1", baseReg: RegBX, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=2/offset=-1", baseReg: RegBX, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7b, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=4/offset=-1", baseReg: RegBX, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=8/offset=-1", baseReg: RegBX, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfb, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=1/offset=-1", baseReg: RegBX, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=2/offset=-1", baseReg: RegBX, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x43, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=4/offset=-1", baseReg: RegBX, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x83, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=8/offset=-1", baseReg: RegBX, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=1/offset=-1", baseReg: RegBX, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x33, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=2/offset=-1", baseReg: RegBX, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x73, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=4/offset=-1", baseReg: RegBX, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=8/offset=-1", baseReg: RegBX, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf3, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=1/offset=-1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=2/offset=-1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=4/offset=-1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=Nil/scale=8/offset=-1", baseReg: RegBX, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x43, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x43, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x83, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xab, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xeb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x33, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x73, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x43, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x83, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegBX, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x33, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegBX, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x73, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegBX, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegBX, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegBX, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegBX, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegBX, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegBX, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x43, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x83, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xab, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xeb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x33, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x73, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7b, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfb, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x43, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x83, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x33, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x73, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf3, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegBX, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegBX, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegBX, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBX/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegBX, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x83, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=1/offset=0", baseReg: RegSP, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=2/offset=0", baseReg: RegSP, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x44, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=4/offset=0", baseReg: RegSP, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x84, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=8/offset=0", baseReg: RegSP, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xc4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=1/offset=0", baseReg: RegSP, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x1c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=2/offset=0", baseReg: RegSP, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x5c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=4/offset=0", baseReg: RegSP, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x9c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=8/offset=0", baseReg: RegSP, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xdc, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=1/offset=0", baseReg: RegSP, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x2c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=2/offset=0", baseReg: RegSP, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x6c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=4/offset=0", baseReg: RegSP, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xac, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=8/offset=0", baseReg: RegSP, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xec, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=1/offset=0", baseReg: RegSP, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x34, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=2/offset=0", baseReg: RegSP, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x74, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=4/offset=0", baseReg: RegSP, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=8/offset=0", baseReg: RegSP, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=1/offset=0", baseReg: RegSP, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x3c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=2/offset=0", baseReg: RegSP, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x7c, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=4/offset=0", baseReg: RegSP, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xbc, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=8/offset=0", baseReg: RegSP, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xfc, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=1/offset=0", baseReg: RegSP, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=2/offset=0", baseReg: RegSP, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x44, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=4/offset=0", baseReg: RegSP, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x84, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=8/offset=0", baseReg: RegSP, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xc4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=1/offset=0", baseReg: RegSP, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x34, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=2/offset=0", baseReg: RegSP, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x74, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=4/offset=0", baseReg: RegSP, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xb4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=8/offset=0", baseReg: RegSP, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xf4, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=Nil/scale=1/offset=0", baseReg: RegSP, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x24, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=Nil/scale=2/offset=0", baseReg: RegSP, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x24, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=Nil/scale=4/offset=0", baseReg: RegSP, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x24, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=Nil/scale=8/offset=0", baseReg: RegSP, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x24, displacementWidth: 0},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=1/offset=1", baseReg: RegSP, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=2/offset=1", baseReg: RegSP, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x44, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=4/offset=1", baseReg: RegSP, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x84, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=8/offset=1", baseReg: RegSP, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=1/offset=1", baseReg: RegSP, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=2/offset=1", baseReg: RegSP, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=4/offset=1", baseReg: RegSP, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=8/offset=1", baseReg: RegSP, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=1/offset=1", baseReg: RegSP, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=2/offset=1", baseReg: RegSP, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=4/offset=1", baseReg: RegSP, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xac, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=8/offset=1", baseReg: RegSP, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xec, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=1/offset=1", baseReg: RegSP, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x34, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=2/offset=1", baseReg: RegSP, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x74, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=4/offset=1", baseReg: RegSP, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=8/offset=1", baseReg: RegSP, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=1/offset=1", baseReg: RegSP, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=2/offset=1", baseReg: RegSP, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=4/offset=1", baseReg: RegSP, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=8/offset=1", baseReg: RegSP, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=1/offset=1", baseReg: RegSP, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=2/offset=1", baseReg: RegSP, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x44, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=4/offset=1", baseReg: RegSP, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x84, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=8/offset=1", baseReg: RegSP, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=1/offset=1", baseReg: RegSP, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x34, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=2/offset=1", baseReg: RegSP, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x74, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=4/offset=1", baseReg: RegSP, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=8/offset=1", baseReg: RegSP, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=1/offset=1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=2/offset=1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=4/offset=1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=8/offset=1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=1/offset=-1", baseReg: RegSP, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=2/offset=-1", baseReg: RegSP, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x44, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=4/offset=-1", baseReg: RegSP, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x84, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=8/offset=-1", baseReg: RegSP, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=1/offset=-1", baseReg: RegSP, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=2/offset=-1", baseReg: RegSP, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=4/offset=-1", baseReg: RegSP, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=8/offset=-1", baseReg: RegSP, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=1/offset=-1", baseReg: RegSP, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=2/offset=-1", baseReg: RegSP, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=4/offset=-1", baseReg: RegSP, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xac, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=8/offset=-1", baseReg: RegSP, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xec, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=1/offset=-1", baseReg: RegSP, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x34, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=2/offset=-1", baseReg: RegSP, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x74, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=4/offset=-1", baseReg: RegSP, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=8/offset=-1", baseReg: RegSP, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=1/offset=-1", baseReg: RegSP, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=2/offset=-1", baseReg: RegSP, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7c, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=4/offset=-1", baseReg: RegSP, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=8/offset=-1", baseReg: RegSP, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfc, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=1/offset=-1", baseReg: RegSP, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=2/offset=-1", baseReg: RegSP, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x44, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=4/offset=-1", baseReg: RegSP, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x84, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=8/offset=-1", baseReg: RegSP, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=1/offset=-1", baseReg: RegSP, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x34, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=2/offset=-1", baseReg: RegSP, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x74, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=4/offset=-1", baseReg: RegSP, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=8/offset=-1", baseReg: RegSP, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf4, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=1/offset=-1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=2/offset=-1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=4/offset=-1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=Nil/scale=8/offset=-1", baseReg: RegSP, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x24, displacementWidth: 8},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x44, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x84, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xac, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xec, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x34, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x74, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x44, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x84, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegSP, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x34, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegSP, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x74, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegSP, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegSP, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegSP, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegSP, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegSP, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegSP, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x44, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x84, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xac, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xec, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x34, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x74, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7c, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfc, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x44, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x84, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x34, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x74, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf4, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegSP, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegSP, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegSP, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegSP/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegSP, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x24, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=1/offset=0", baseReg: RegBP, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=2/offset=0", baseReg: RegBP, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=4/offset=0", baseReg: RegBP, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=8/offset=0", baseReg: RegBP, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=1/offset=0", baseReg: RegBP, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=2/offset=0", baseReg: RegBP, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=4/offset=0", baseReg: RegBP, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=8/offset=0", baseReg: RegBP, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=1/offset=0", baseReg: RegBP, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=2/offset=0", baseReg: RegBP, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=4/offset=0", baseReg: RegBP, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=8/offset=0", baseReg: RegBP, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=1/offset=0", baseReg: RegBP, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=2/offset=0", baseReg: RegBP, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=4/offset=0", baseReg: RegBP, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=8/offset=0", baseReg: RegBP, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=1/offset=0", baseReg: RegBP, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=2/offset=0", baseReg: RegBP, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=4/offset=0", baseReg: RegBP, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=8/offset=0", baseReg: RegBP, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=1/offset=0", baseReg: RegBP, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=2/offset=0", baseReg: RegBP, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=4/offset=0", baseReg: RegBP, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=8/offset=0", baseReg: RegBP, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=1/offset=0", baseReg: RegBP, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=2/offset=0", baseReg: RegBP, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=4/offset=0", baseReg: RegBP, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=8/offset=0", baseReg: RegBP, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=1/offset=0", baseReg: RegBP, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=2/offset=0", baseReg: RegBP, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=4/offset=0", baseReg: RegBP, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=8/offset=0", baseReg: RegBP, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=1/offset=1", baseReg: RegBP, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=2/offset=1", baseReg: RegBP, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=4/offset=1", baseReg: RegBP, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=8/offset=1", baseReg: RegBP, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=1/offset=1", baseReg: RegBP, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=2/offset=1", baseReg: RegBP, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=4/offset=1", baseReg: RegBP, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=8/offset=1", baseReg: RegBP, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=1/offset=1", baseReg: RegBP, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=2/offset=1", baseReg: RegBP, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=4/offset=1", baseReg: RegBP, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=8/offset=1", baseReg: RegBP, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=1/offset=1", baseReg: RegBP, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=2/offset=1", baseReg: RegBP, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=4/offset=1", baseReg: RegBP, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=8/offset=1", baseReg: RegBP, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=1/offset=1", baseReg: RegBP, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=2/offset=1", baseReg: RegBP, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=4/offset=1", baseReg: RegBP, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=8/offset=1", baseReg: RegBP, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=1/offset=1", baseReg: RegBP, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=2/offset=1", baseReg: RegBP, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=4/offset=1", baseReg: RegBP, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=8/offset=1", baseReg: RegBP, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=1/offset=1", baseReg: RegBP, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=2/offset=1", baseReg: RegBP, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=4/offset=1", baseReg: RegBP, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=8/offset=1", baseReg: RegBP, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=1/offset=1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=2/offset=1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=4/offset=1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=8/offset=1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=1/offset=-1", baseReg: RegBP, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=2/offset=-1", baseReg: RegBP, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=4/offset=-1", baseReg: RegBP, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=8/offset=-1", baseReg: RegBP, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=1/offset=-1", baseReg: RegBP, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=2/offset=-1", baseReg: RegBP, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=4/offset=-1", baseReg: RegBP, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=8/offset=-1", baseReg: RegBP, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=1/offset=-1", baseReg: RegBP, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=2/offset=-1", baseReg: RegBP, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=4/offset=-1", baseReg: RegBP, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=8/offset=-1", baseReg: RegBP, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=1/offset=-1", baseReg: RegBP, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=2/offset=-1", baseReg: RegBP, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=4/offset=-1", baseReg: RegBP, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=8/offset=-1", baseReg: RegBP, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=1/offset=-1", baseReg: RegBP, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=2/offset=-1", baseReg: RegBP, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=4/offset=-1", baseReg: RegBP, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=8/offset=-1", baseReg: RegBP, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=1/offset=-1", baseReg: RegBP, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=2/offset=-1", baseReg: RegBP, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=4/offset=-1", baseReg: RegBP, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=8/offset=-1", baseReg: RegBP, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=1/offset=-1", baseReg: RegBP, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=2/offset=-1", baseReg: RegBP, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=4/offset=-1", baseReg: RegBP, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=8/offset=-1", baseReg: RegBP, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=1/offset=-1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=2/offset=-1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=4/offset=-1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=Nil/scale=8/offset=-1", baseReg: RegBP, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xad, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xed, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegBP, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegBP, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegBP, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegBP, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegBP, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegBP, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegBP, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegBP, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xad, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xed, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7d, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfd, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegBP, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegBP, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegBP, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegBP/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegBP, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=1/offset=0", baseReg: RegSI, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=2/offset=0", baseReg: RegSI, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x46, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=4/offset=0", baseReg: RegSI, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x86, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=8/offset=0", baseReg: RegSI, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xc6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=1/offset=0", baseReg: RegSI, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x1e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=2/offset=0", baseReg: RegSI, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x5e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=4/offset=0", baseReg: RegSI, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x9e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=8/offset=0", baseReg: RegSI, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xde, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=1/offset=0", baseReg: RegSI, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x2e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=2/offset=0", baseReg: RegSI, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x6e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=4/offset=0", baseReg: RegSI, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xae, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=8/offset=0", baseReg: RegSI, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xee, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=1/offset=0", baseReg: RegSI, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x36, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=2/offset=0", baseReg: RegSI, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x76, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=4/offset=0", baseReg: RegSI, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=8/offset=0", baseReg: RegSI, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=1/offset=0", baseReg: RegSI, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x3e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=2/offset=0", baseReg: RegSI, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x7e, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=4/offset=0", baseReg: RegSI, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xbe, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=8/offset=0", baseReg: RegSI, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xfe, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=1/offset=0", baseReg: RegSI, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=2/offset=0", baseReg: RegSI, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x46, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=4/offset=0", baseReg: RegSI, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x86, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=8/offset=0", baseReg: RegSI, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xc6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=1/offset=0", baseReg: RegSI, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x36, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=2/offset=0", baseReg: RegSI, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x76, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=4/offset=0", baseReg: RegSI, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xb6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=8/offset=0", baseReg: RegSI, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xf6, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=Nil/scale=1/offset=0", baseReg: RegSI, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x6, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=Nil/scale=2/offset=0", baseReg: RegSI, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x6, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=Nil/scale=4/offset=0", baseReg: RegSI, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x6, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=Nil/scale=8/offset=0", baseReg: RegSI, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x6, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=1/offset=1", baseReg: RegSI, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=2/offset=1", baseReg: RegSI, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x46, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=4/offset=1", baseReg: RegSI, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x86, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=8/offset=1", baseReg: RegSI, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=1/offset=1", baseReg: RegSI, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=2/offset=1", baseReg: RegSI, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=4/offset=1", baseReg: RegSI, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=8/offset=1", baseReg: RegSI, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xde, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=1/offset=1", baseReg: RegSI, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=2/offset=1", baseReg: RegSI, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=4/offset=1", baseReg: RegSI, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xae, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=8/offset=1", baseReg: RegSI, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xee, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=1/offset=1", baseReg: RegSI, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x36, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=2/offset=1", baseReg: RegSI, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x76, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=4/offset=1", baseReg: RegSI, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=8/offset=1", baseReg: RegSI, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=1/offset=1", baseReg: RegSI, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=2/offset=1", baseReg: RegSI, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=4/offset=1", baseReg: RegSI, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbe, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=8/offset=1", baseReg: RegSI, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfe, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=1/offset=1", baseReg: RegSI, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=2/offset=1", baseReg: RegSI, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x46, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=4/offset=1", baseReg: RegSI, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x86, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=8/offset=1", baseReg: RegSI, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=1/offset=1", baseReg: RegSI, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x36, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=2/offset=1", baseReg: RegSI, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x76, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=4/offset=1", baseReg: RegSI, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=8/offset=1", baseReg: RegSI, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=1/offset=1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=2/offset=1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=4/offset=1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=8/offset=1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=1/offset=-1", baseReg: RegSI, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=2/offset=-1", baseReg: RegSI, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x46, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=4/offset=-1", baseReg: RegSI, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x86, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=8/offset=-1", baseReg: RegSI, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=1/offset=-1", baseReg: RegSI, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=2/offset=-1", baseReg: RegSI, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=4/offset=-1", baseReg: RegSI, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=8/offset=-1", baseReg: RegSI, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xde, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=1/offset=-1", baseReg: RegSI, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=2/offset=-1", baseReg: RegSI, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=4/offset=-1", baseReg: RegSI, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xae, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=8/offset=-1", baseReg: RegSI, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xee, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=1/offset=-1", baseReg: RegSI, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x36, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=2/offset=-1", baseReg: RegSI, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x76, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=4/offset=-1", baseReg: RegSI, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=8/offset=-1", baseReg: RegSI, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=1/offset=-1", baseReg: RegSI, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=2/offset=-1", baseReg: RegSI, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7e, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=4/offset=-1", baseReg: RegSI, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbe, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=8/offset=-1", baseReg: RegSI, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xfe, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=1/offset=-1", baseReg: RegSI, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=2/offset=-1", baseReg: RegSI, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x46, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=4/offset=-1", baseReg: RegSI, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x86, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=8/offset=-1", baseReg: RegSI, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=1/offset=-1", baseReg: RegSI, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x36, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=2/offset=-1", baseReg: RegSI, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x76, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=4/offset=-1", baseReg: RegSI, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=8/offset=-1", baseReg: RegSI, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf6, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=1/offset=-1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=2/offset=-1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=4/offset=-1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=Nil/scale=8/offset=-1", baseReg: RegSI, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x46, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x46, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x86, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xde, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xae, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xee, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x36, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x76, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbe, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfe, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x46, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x86, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegSI, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x36, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegSI, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x76, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegSI, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegSI, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegSI, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegSI, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegSI, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegSI, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x46, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x86, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xde, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xae, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xee, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x36, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x76, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7e, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbe, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xfe, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x46, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x86, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x36, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x76, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf6, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegSI, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegSI, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegSI, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegSI/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegSI, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x86, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=1/offset=0", baseReg: RegDI, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=2/offset=0", baseReg: RegDI, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x47, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=4/offset=0", baseReg: RegDI, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x87, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=8/offset=0", baseReg: RegDI, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xc7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=1/offset=0", baseReg: RegDI, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x1f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=2/offset=0", baseReg: RegDI, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x5f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=4/offset=0", baseReg: RegDI, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x9f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=8/offset=0", baseReg: RegDI, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xdf, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=1/offset=0", baseReg: RegDI, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x2f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=2/offset=0", baseReg: RegDI, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x6f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=4/offset=0", baseReg: RegDI, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xaf, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=8/offset=0", baseReg: RegDI, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xef, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=1/offset=0", baseReg: RegDI, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x37, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=2/offset=0", baseReg: RegDI, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x77, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=4/offset=0", baseReg: RegDI, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xb7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=8/offset=0", baseReg: RegDI, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xf7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=1/offset=0", baseReg: RegDI, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x3f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=2/offset=0", baseReg: RegDI, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0x7f, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=4/offset=0", baseReg: RegDI, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xbf, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=8/offset=0", baseReg: RegDI, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x4, needSBI: true, expSBI: 0xff, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=1/offset=0", baseReg: RegDI, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=2/offset=0", baseReg: RegDI, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x47, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=4/offset=0", baseReg: RegDI, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x87, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=8/offset=0", baseReg: RegDI, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xc7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=1/offset=0", baseReg: RegDI, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x37, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=2/offset=0", baseReg: RegDI, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0x77, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=4/offset=0", baseReg: RegDI, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xb7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=8/offset=0", baseReg: RegDI, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x42, expModRM: 0x4, needSBI: true, expSBI: 0xf7, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=Nil/scale=1/offset=0", baseReg: RegDI, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x0, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=Nil/scale=2/offset=0", baseReg: RegDI, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x0, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=Nil/scale=4/offset=0", baseReg: RegDI, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x0, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=Nil/scale=8/offset=0", baseReg: RegDI, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x0, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=1/offset=1", baseReg: RegDI, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=2/offset=1", baseReg: RegDI, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=4/offset=1", baseReg: RegDI, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=8/offset=1", baseReg: RegDI, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=1/offset=1", baseReg: RegDI, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=2/offset=1", baseReg: RegDI, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=4/offset=1", baseReg: RegDI, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=8/offset=1", baseReg: RegDI, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=1/offset=1", baseReg: RegDI, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=2/offset=1", baseReg: RegDI, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=4/offset=1", baseReg: RegDI, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xaf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=8/offset=1", baseReg: RegDI, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xef, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=1/offset=1", baseReg: RegDI, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=2/offset=1", baseReg: RegDI, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=4/offset=1", baseReg: RegDI, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=8/offset=1", baseReg: RegDI, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=1/offset=1", baseReg: RegDI, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=2/offset=1", baseReg: RegDI, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=4/offset=1", baseReg: RegDI, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=8/offset=1", baseReg: RegDI, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xff, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=1/offset=1", baseReg: RegDI, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=2/offset=1", baseReg: RegDI, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=4/offset=1", baseReg: RegDI, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=8/offset=1", baseReg: RegDI, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=1/offset=1", baseReg: RegDI, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=2/offset=1", baseReg: RegDI, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=4/offset=1", baseReg: RegDI, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=8/offset=1", baseReg: RegDI, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=1/offset=1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=2/offset=1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=4/offset=1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=8/offset=1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=1/offset=-1", baseReg: RegDI, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=2/offset=-1", baseReg: RegDI, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=4/offset=-1", baseReg: RegDI, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=8/offset=-1", baseReg: RegDI, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=1/offset=-1", baseReg: RegDI, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x1f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=2/offset=-1", baseReg: RegDI, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x5f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=4/offset=-1", baseReg: RegDI, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x9f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=8/offset=-1", baseReg: RegDI, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xdf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=1/offset=-1", baseReg: RegDI, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x2f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=2/offset=-1", baseReg: RegDI, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x6f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=4/offset=-1", baseReg: RegDI, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xaf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=8/offset=-1", baseReg: RegDI, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xef, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=1/offset=-1", baseReg: RegDI, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=2/offset=-1", baseReg: RegDI, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=4/offset=-1", baseReg: RegDI, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=8/offset=-1", baseReg: RegDI, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=1/offset=-1", baseReg: RegDI, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x3f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=2/offset=-1", baseReg: RegDI, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0x7f, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=4/offset=-1", baseReg: RegDI, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xbf, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=8/offset=-1", baseReg: RegDI, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x44, needSBI: true, expSBI: 0xff, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=1/offset=-1", baseReg: RegDI, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=2/offset=-1", baseReg: RegDI, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=4/offset=-1", baseReg: RegDI, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=8/offset=-1", baseReg: RegDI, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=1/offset=-1", baseReg: RegDI, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=2/offset=-1", baseReg: RegDI, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=4/offset=-1", baseReg: RegDI, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=8/offset=-1", baseReg: RegDI, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x42, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=1/offset=-1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=2/offset=-1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=4/offset=-1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=Nil/scale=8/offset=-1", baseReg: RegDI, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x0, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xaf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xef, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xff, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegDI, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegDI, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegDI, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegDI, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegDI, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegDI, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegDI, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegDI, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x1f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x5f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x9f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xdf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x2f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x6f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xaf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xef, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x3f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0x7f, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xbf, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x84, needSBI: true, expSBI: 0xff, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x42, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegDI, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegDI, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegDI, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegDI/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegDI, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x0, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=1/offset=0", baseReg: RegR8, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=2/offset=0", baseReg: RegR8, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x40, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=4/offset=0", baseReg: RegR8, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x80, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=8/offset=0", baseReg: RegR8, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xc0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=1/offset=0", baseReg: RegR8, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x18, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=2/offset=0", baseReg: RegR8, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x58, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=4/offset=0", baseReg: RegR8, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x98, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=8/offset=0", baseReg: RegR8, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xd8, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=1/offset=0", baseReg: RegR8, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x28, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=2/offset=0", baseReg: RegR8, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x68, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=4/offset=0", baseReg: RegR8, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xa8, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=8/offset=0", baseReg: RegR8, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xe8, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=1/offset=0", baseReg: RegR8, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x30, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=2/offset=0", baseReg: RegR8, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x70, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=4/offset=0", baseReg: RegR8, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xb0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=8/offset=0", baseReg: RegR8, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xf0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=1/offset=0", baseReg: RegR8, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x38, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=2/offset=0", baseReg: RegR8, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x78, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=4/offset=0", baseReg: RegR8, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xb8, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=8/offset=0", baseReg: RegR8, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xf8, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=1/offset=0", baseReg: RegR8, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=2/offset=0", baseReg: RegR8, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x40, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=4/offset=0", baseReg: RegR8, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x80, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=8/offset=0", baseReg: RegR8, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xc0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=1/offset=0", baseReg: RegR8, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x30, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=2/offset=0", baseReg: RegR8, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x70, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=4/offset=0", baseReg: RegR8, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xb0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=8/offset=0", baseReg: RegR8, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xf0, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=Nil/scale=1/offset=0", baseReg: RegR8, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=Nil/scale=2/offset=0", baseReg: RegR8, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=Nil/scale=4/offset=0", baseReg: RegR8, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=Nil/scale=8/offset=0", baseReg: RegR8, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x0, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=1/offset=1", baseReg: RegR8, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=2/offset=1", baseReg: RegR8, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=4/offset=1", baseReg: RegR8, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=8/offset=1", baseReg: RegR8, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=1/offset=1", baseReg: RegR8, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x18, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=2/offset=1", baseReg: RegR8, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x58, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=4/offset=1", baseReg: RegR8, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x98, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=8/offset=1", baseReg: RegR8, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xd8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=1/offset=1", baseReg: RegR8, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x28, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=2/offset=1", baseReg: RegR8, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x68, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=4/offset=1", baseReg: RegR8, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xa8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=8/offset=1", baseReg: RegR8, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xe8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=1/offset=1", baseReg: RegR8, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=2/offset=1", baseReg: RegR8, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=4/offset=1", baseReg: RegR8, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=8/offset=1", baseReg: RegR8, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=1/offset=1", baseReg: RegR8, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x38, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=2/offset=1", baseReg: RegR8, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x78, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=4/offset=1", baseReg: RegR8, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=8/offset=1", baseReg: RegR8, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=1/offset=1", baseReg: RegR8, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=2/offset=1", baseReg: RegR8, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=4/offset=1", baseReg: RegR8, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=8/offset=1", baseReg: RegR8, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=1/offset=1", baseReg: RegR8, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=2/offset=1", baseReg: RegR8, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=4/offset=1", baseReg: RegR8, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=8/offset=1", baseReg: RegR8, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=1/offset=1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=2/offset=1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=4/offset=1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=8/offset=1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=1/offset=-1", baseReg: RegR8, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=2/offset=-1", baseReg: RegR8, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=4/offset=-1", baseReg: RegR8, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=8/offset=-1", baseReg: RegR8, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=1/offset=-1", baseReg: RegR8, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x18, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=2/offset=-1", baseReg: RegR8, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x58, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=4/offset=-1", baseReg: RegR8, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x98, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=8/offset=-1", baseReg: RegR8, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xd8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=1/offset=-1", baseReg: RegR8, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x28, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=2/offset=-1", baseReg: RegR8, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x68, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=4/offset=-1", baseReg: RegR8, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xa8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=8/offset=-1", baseReg: RegR8, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xe8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=1/offset=-1", baseReg: RegR8, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=2/offset=-1", baseReg: RegR8, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=4/offset=-1", baseReg: RegR8, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=8/offset=-1", baseReg: RegR8, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=1/offset=-1", baseReg: RegR8, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x38, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=2/offset=-1", baseReg: RegR8, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x78, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=4/offset=-1", baseReg: RegR8, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=8/offset=-1", baseReg: RegR8, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf8, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=1/offset=-1", baseReg: RegR8, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=2/offset=-1", baseReg: RegR8, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x40, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=4/offset=-1", baseReg: RegR8, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x80, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=8/offset=-1", baseReg: RegR8, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=1/offset=-1", baseReg: RegR8, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x30, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=2/offset=-1", baseReg: RegR8, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x70, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=4/offset=-1", baseReg: RegR8, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=8/offset=-1", baseReg: RegR8, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf0, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=1/offset=-1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=2/offset=-1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=4/offset=-1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=Nil/scale=8/offset=-1", baseReg: RegR8, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x40, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x18, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x58, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x98, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xd8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x28, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x68, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xa8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xe8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x38, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x78, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegR8, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegR8, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegR8, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegR8, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegR8, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegR8, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegR8, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegR8, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x18, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x58, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x98, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xd8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x28, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x68, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xa8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xe8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x38, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x78, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf8, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x40, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x80, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x30, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x70, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf0, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegR8, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegR8, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegR8, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR8/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegR8, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x80, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=1/offset=0", baseReg: RegR9, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=2/offset=0", baseReg: RegR9, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x41, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=4/offset=0", baseReg: RegR9, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x81, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=8/offset=0", baseReg: RegR9, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xc1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=1/offset=0", baseReg: RegR9, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x19, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=2/offset=0", baseReg: RegR9, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x59, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=4/offset=0", baseReg: RegR9, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x99, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=8/offset=0", baseReg: RegR9, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xd9, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=1/offset=0", baseReg: RegR9, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x29, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=2/offset=0", baseReg: RegR9, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x69, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=4/offset=0", baseReg: RegR9, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xa9, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=8/offset=0", baseReg: RegR9, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xe9, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=1/offset=0", baseReg: RegR9, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x31, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=2/offset=0", baseReg: RegR9, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x71, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=4/offset=0", baseReg: RegR9, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xb1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=8/offset=0", baseReg: RegR9, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xf1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=1/offset=0", baseReg: RegR9, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x39, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=2/offset=0", baseReg: RegR9, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x79, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=4/offset=0", baseReg: RegR9, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xb9, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=8/offset=0", baseReg: RegR9, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xf9, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=1/offset=0", baseReg: RegR9, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=2/offset=0", baseReg: RegR9, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x41, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=4/offset=0", baseReg: RegR9, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x81, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=8/offset=0", baseReg: RegR9, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xc1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=1/offset=0", baseReg: RegR9, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x31, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=2/offset=0", baseReg: RegR9, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x71, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=4/offset=0", baseReg: RegR9, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xb1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=8/offset=0", baseReg: RegR9, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xf1, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=Nil/scale=1/offset=0", baseReg: RegR9, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x1, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=Nil/scale=2/offset=0", baseReg: RegR9, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x1, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=Nil/scale=4/offset=0", baseReg: RegR9, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x1, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=Nil/scale=8/offset=0", baseReg: RegR9, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x1, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=1/offset=1", baseReg: RegR9, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=2/offset=1", baseReg: RegR9, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x41, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=4/offset=1", baseReg: RegR9, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x81, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=8/offset=1", baseReg: RegR9, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=1/offset=1", baseReg: RegR9, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x19, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=2/offset=1", baseReg: RegR9, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x59, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=4/offset=1", baseReg: RegR9, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x99, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=8/offset=1", baseReg: RegR9, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xd9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=1/offset=1", baseReg: RegR9, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x29, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=2/offset=1", baseReg: RegR9, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x69, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=4/offset=1", baseReg: RegR9, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xa9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=8/offset=1", baseReg: RegR9, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xe9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=1/offset=1", baseReg: RegR9, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x31, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=2/offset=1", baseReg: RegR9, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x71, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=4/offset=1", baseReg: RegR9, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=8/offset=1", baseReg: RegR9, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=1/offset=1", baseReg: RegR9, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x39, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=2/offset=1", baseReg: RegR9, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x79, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=4/offset=1", baseReg: RegR9, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=8/offset=1", baseReg: RegR9, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=1/offset=1", baseReg: RegR9, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=2/offset=1", baseReg: RegR9, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x41, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=4/offset=1", baseReg: RegR9, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x81, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=8/offset=1", baseReg: RegR9, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=1/offset=1", baseReg: RegR9, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x31, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=2/offset=1", baseReg: RegR9, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x71, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=4/offset=1", baseReg: RegR9, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=8/offset=1", baseReg: RegR9, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=1/offset=1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=2/offset=1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=4/offset=1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=8/offset=1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=1/offset=-1", baseReg: RegR9, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=2/offset=-1", baseReg: RegR9, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x41, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=4/offset=-1", baseReg: RegR9, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x81, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=8/offset=-1", baseReg: RegR9, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=1/offset=-1", baseReg: RegR9, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x19, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=2/offset=-1", baseReg: RegR9, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x59, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=4/offset=-1", baseReg: RegR9, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x99, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=8/offset=-1", baseReg: RegR9, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xd9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=1/offset=-1", baseReg: RegR9, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x29, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=2/offset=-1", baseReg: RegR9, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x69, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=4/offset=-1", baseReg: RegR9, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xa9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=8/offset=-1", baseReg: RegR9, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xe9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=1/offset=-1", baseReg: RegR9, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x31, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=2/offset=-1", baseReg: RegR9, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x71, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=4/offset=-1", baseReg: RegR9, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=8/offset=-1", baseReg: RegR9, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=1/offset=-1", baseReg: RegR9, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x39, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=2/offset=-1", baseReg: RegR9, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x79, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=4/offset=-1", baseReg: RegR9, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=8/offset=-1", baseReg: RegR9, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf9, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=1/offset=-1", baseReg: RegR9, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=2/offset=-1", baseReg: RegR9, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x41, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=4/offset=-1", baseReg: RegR9, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x81, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=8/offset=-1", baseReg: RegR9, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=1/offset=-1", baseReg: RegR9, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x31, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=2/offset=-1", baseReg: RegR9, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x71, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=4/offset=-1", baseReg: RegR9, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=8/offset=-1", baseReg: RegR9, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf1, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=1/offset=-1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=2/offset=-1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=4/offset=-1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=Nil/scale=8/offset=-1", baseReg: RegR9, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x41, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x41, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x81, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x19, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x59, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x99, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xd9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x29, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x69, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xa9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xe9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x31, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x71, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x39, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x79, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x41, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x81, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegR9, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x31, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegR9, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x71, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegR9, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegR9, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegR9, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegR9, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegR9, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegR9, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x41, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x81, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x19, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x59, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x99, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xd9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x29, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x69, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xa9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xe9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x31, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x71, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x39, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x79, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf9, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x41, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x81, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x31, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x71, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf1, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegR9, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegR9, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegR9, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR9/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegR9, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x81, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=1/offset=0", baseReg: RegR13, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=2/offset=0", baseReg: RegR13, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=4/offset=0", baseReg: RegR13, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=8/offset=0", baseReg: RegR13, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=1/offset=0", baseReg: RegR13, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=2/offset=0", baseReg: RegR13, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=4/offset=0", baseReg: RegR13, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=8/offset=0", baseReg: RegR13, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=1/offset=0", baseReg: RegR13, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=2/offset=0", baseReg: RegR13, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=4/offset=0", baseReg: RegR13, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=8/offset=0", baseReg: RegR13, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=1/offset=0", baseReg: RegR13, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=2/offset=0", baseReg: RegR13, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=4/offset=0", baseReg: RegR13, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=8/offset=0", baseReg: RegR13, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=1/offset=0", baseReg: RegR13, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=2/offset=0", baseReg: RegR13, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=4/offset=0", baseReg: RegR13, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=8/offset=0", baseReg: RegR13, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=1/offset=0", baseReg: RegR13, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=2/offset=0", baseReg: RegR13, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=4/offset=0", baseReg: RegR13, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=8/offset=0", baseReg: RegR13, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=1/offset=0", baseReg: RegR13, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=2/offset=0", baseReg: RegR13, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=4/offset=0", baseReg: RegR13, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=8/offset=0", baseReg: RegR13, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=1/offset=0", baseReg: RegR13, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=2/offset=0", baseReg: RegR13, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=4/offset=0", baseReg: RegR13, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=8/offset=0", baseReg: RegR13, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=1/offset=1", baseReg: RegR13, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=2/offset=1", baseReg: RegR13, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=4/offset=1", baseReg: RegR13, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=8/offset=1", baseReg: RegR13, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=1/offset=1", baseReg: RegR13, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=2/offset=1", baseReg: RegR13, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=4/offset=1", baseReg: RegR13, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=8/offset=1", baseReg: RegR13, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=1/offset=1", baseReg: RegR13, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=2/offset=1", baseReg: RegR13, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=4/offset=1", baseReg: RegR13, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=8/offset=1", baseReg: RegR13, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=1/offset=1", baseReg: RegR13, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=2/offset=1", baseReg: RegR13, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=4/offset=1", baseReg: RegR13, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=8/offset=1", baseReg: RegR13, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=1/offset=1", baseReg: RegR13, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=2/offset=1", baseReg: RegR13, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=4/offset=1", baseReg: RegR13, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=8/offset=1", baseReg: RegR13, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=1/offset=1", baseReg: RegR13, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=2/offset=1", baseReg: RegR13, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=4/offset=1", baseReg: RegR13, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=8/offset=1", baseReg: RegR13, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=1/offset=1", baseReg: RegR13, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=2/offset=1", baseReg: RegR13, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=4/offset=1", baseReg: RegR13, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=8/offset=1", baseReg: RegR13, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=1/offset=1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=2/offset=1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=4/offset=1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=8/offset=1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=1/offset=-1", baseReg: RegR13, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=2/offset=-1", baseReg: RegR13, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=4/offset=-1", baseReg: RegR13, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=8/offset=-1", baseReg: RegR13, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=1/offset=-1", baseReg: RegR13, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=2/offset=-1", baseReg: RegR13, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=4/offset=-1", baseReg: RegR13, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x9d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=8/offset=-1", baseReg: RegR13, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xdd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=1/offset=-1", baseReg: RegR13, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x2d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=2/offset=-1", baseReg: RegR13, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x6d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=4/offset=-1", baseReg: RegR13, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xad, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=8/offset=-1", baseReg: RegR13, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xed, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=1/offset=-1", baseReg: RegR13, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=2/offset=-1", baseReg: RegR13, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=4/offset=-1", baseReg: RegR13, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=8/offset=-1", baseReg: RegR13, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=1/offset=-1", baseReg: RegR13, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x3d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=2/offset=-1", baseReg: RegR13, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7d, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=4/offset=-1", baseReg: RegR13, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xbd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=8/offset=-1", baseReg: RegR13, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xfd, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=1/offset=-1", baseReg: RegR13, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=2/offset=-1", baseReg: RegR13, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x45, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=4/offset=-1", baseReg: RegR13, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x85, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=8/offset=-1", baseReg: RegR13, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=1/offset=-1", baseReg: RegR13, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x35, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=2/offset=-1", baseReg: RegR13, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x75, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=4/offset=-1", baseReg: RegR13, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=8/offset=-1", baseReg: RegR13, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf5, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=1/offset=-1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=2/offset=-1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=4/offset=-1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=Nil/scale=8/offset=-1", baseReg: RegR13, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x45, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x9d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xdd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x2d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x6d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xad, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xed, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x3d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xbd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xfd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegR13, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegR13, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegR13, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegR13, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegR13, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegR13, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegR13, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegR13, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x9d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xdd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x2d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x6d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xad, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xed, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x3d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7d, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xbd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xfd, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x45, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x85, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x35, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x75, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf5, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegR13, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegR13, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegR13, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR13/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegR13, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x85, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=1/offset=0", baseReg: RegR15, indexReg: RegAX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=2/offset=0", baseReg: RegR15, indexReg: RegAX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x47, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=4/offset=0", baseReg: RegR15, indexReg: RegAX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x87, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=8/offset=0", baseReg: RegR15, indexReg: RegAX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xc7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=1/offset=0", baseReg: RegR15, indexReg: RegBX, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x1f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=2/offset=0", baseReg: RegR15, indexReg: RegBX, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x5f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=4/offset=0", baseReg: RegR15, indexReg: RegBX, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x9f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=8/offset=0", baseReg: RegR15, indexReg: RegBX, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xdf, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=1/offset=0", baseReg: RegR15, indexReg: RegBP, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x2f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=2/offset=0", baseReg: RegR15, indexReg: RegBP, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x6f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=4/offset=0", baseReg: RegR15, indexReg: RegBP, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xaf, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=8/offset=0", baseReg: RegR15, indexReg: RegBP, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xef, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=1/offset=0", baseReg: RegR15, indexReg: RegSI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x37, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=2/offset=0", baseReg: RegR15, indexReg: RegSI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x77, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=4/offset=0", baseReg: RegR15, indexReg: RegSI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xb7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=8/offset=0", baseReg: RegR15, indexReg: RegSI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xf7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=1/offset=0", baseReg: RegR15, indexReg: RegDI, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x3f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=2/offset=0", baseReg: RegR15, indexReg: RegDI, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0x7f, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=4/offset=0", baseReg: RegR15, indexReg: RegDI, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xbf, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=8/offset=0", baseReg: RegR15, indexReg: RegDI, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x4, needSBI: true, expSBI: 0xff, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=1/offset=0", baseReg: RegR15, indexReg: RegR8, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=2/offset=0", baseReg: RegR15, indexReg: RegR8, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x47, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=4/offset=0", baseReg: RegR15, indexReg: RegR8, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x87, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=8/offset=0", baseReg: RegR15, indexReg: RegR8, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xc7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=1/offset=0", baseReg: RegR15, indexReg: RegR14, scale: 1, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x37, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=2/offset=0", baseReg: RegR15, indexReg: RegR14, scale: 2, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0x77, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=4/offset=0", baseReg: RegR15, indexReg: RegR14, scale: 4, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xb7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=8/offset=0", baseReg: RegR15, indexReg: RegR14, scale: 8, offset: 0, expRex: 0x43, expModRM: 0x4, needSBI: true, expSBI: 0xf7, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=Nil/scale=1/offset=0", baseReg: RegR15, indexReg: asm.NilRegister, scale: 1, offset: 0, expRex: 0x41, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=Nil/scale=2/offset=0", baseReg: RegR15, indexReg: asm.NilRegister, scale: 2, offset: 0, expRex: 0x41, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=Nil/scale=4/offset=0", baseReg: RegR15, indexReg: asm.NilRegister, scale: 4, offset: 0, expRex: 0x41, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=Nil/scale=8/offset=0", baseReg: RegR15, indexReg: asm.NilRegister, scale: 8, offset: 0, expRex: 0x41, expModRM: 0x7, needSBI: false, displacementWidth: 0},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=1/offset=1", baseReg: RegR15, indexReg: RegAX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=2/offset=1", baseReg: RegR15, indexReg: RegAX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=4/offset=1", baseReg: RegR15, indexReg: RegAX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=8/offset=1", baseReg: RegR15, indexReg: RegAX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=1/offset=1", baseReg: RegR15, indexReg: RegBX, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=2/offset=1", baseReg: RegR15, indexReg: RegBX, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=4/offset=1", baseReg: RegR15, indexReg: RegBX, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x9f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=8/offset=1", baseReg: RegR15, indexReg: RegBX, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xdf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=1/offset=1", baseReg: RegR15, indexReg: RegBP, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x2f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=2/offset=1", baseReg: RegR15, indexReg: RegBP, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x6f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=4/offset=1", baseReg: RegR15, indexReg: RegBP, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xaf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=8/offset=1", baseReg: RegR15, indexReg: RegBP, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xef, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=1/offset=1", baseReg: RegR15, indexReg: RegSI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=2/offset=1", baseReg: RegR15, indexReg: RegSI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=4/offset=1", baseReg: RegR15, indexReg: RegSI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=8/offset=1", baseReg: RegR15, indexReg: RegSI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=1/offset=1", baseReg: RegR15, indexReg: RegDI, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x3f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=2/offset=1", baseReg: RegR15, indexReg: RegDI, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=4/offset=1", baseReg: RegR15, indexReg: RegDI, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xbf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=8/offset=1", baseReg: RegR15, indexReg: RegDI, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xff, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=1/offset=1", baseReg: RegR15, indexReg: RegR8, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=2/offset=1", baseReg: RegR15, indexReg: RegR8, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=4/offset=1", baseReg: RegR15, indexReg: RegR8, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=8/offset=1", baseReg: RegR15, indexReg: RegR8, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=1/offset=1", baseReg: RegR15, indexReg: RegR14, scale: 1, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=2/offset=1", baseReg: RegR15, indexReg: RegR14, scale: 2, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=4/offset=1", baseReg: RegR15, indexReg: RegR14, scale: 4, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=8/offset=1", baseReg: RegR15, indexReg: RegR14, scale: 8, offset: 1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=1/offset=1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 1, offset: 1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=2/offset=1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 2, offset: 1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=4/offset=1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 4, offset: 1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=8/offset=1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 8, offset: 1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=1/offset=-1", baseReg: RegR15, indexReg: RegAX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=2/offset=-1", baseReg: RegR15, indexReg: RegAX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=4/offset=-1", baseReg: RegR15, indexReg: RegAX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=8/offset=-1", baseReg: RegR15, indexReg: RegAX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=1/offset=-1", baseReg: RegR15, indexReg: RegBX, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x1f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=2/offset=-1", baseReg: RegR15, indexReg: RegBX, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x5f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=4/offset=-1", baseReg: RegR15, indexReg: RegBX, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x9f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=8/offset=-1", baseReg: RegR15, indexReg: RegBX, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xdf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=1/offset=-1", baseReg: RegR15, indexReg: RegBP, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x2f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=2/offset=-1", baseReg: RegR15, indexReg: RegBP, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x6f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=4/offset=-1", baseReg: RegR15, indexReg: RegBP, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xaf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=8/offset=-1", baseReg: RegR15, indexReg: RegBP, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xef, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=1/offset=-1", baseReg: RegR15, indexReg: RegSI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=2/offset=-1", baseReg: RegR15, indexReg: RegSI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=4/offset=-1", baseReg: RegR15, indexReg: RegSI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=8/offset=-1", baseReg: RegR15, indexReg: RegSI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=1/offset=-1", baseReg: RegR15, indexReg: RegDI, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x3f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=2/offset=-1", baseReg: RegR15, indexReg: RegDI, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0x7f, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=4/offset=-1", baseReg: RegR15, indexReg: RegDI, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xbf, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=8/offset=-1", baseReg: RegR15, indexReg: RegDI, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x44, needSBI: true, expSBI: 0xff, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=1/offset=-1", baseReg: RegR15, indexReg: RegR8, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=2/offset=-1", baseReg: RegR15, indexReg: RegR8, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x47, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=4/offset=-1", baseReg: RegR15, indexReg: RegR8, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x87, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=8/offset=-1", baseReg: RegR15, indexReg: RegR8, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xc7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=1/offset=-1", baseReg: RegR15, indexReg: RegR14, scale: 1, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x37, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=2/offset=-1", baseReg: RegR15, indexReg: RegR14, scale: 2, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0x77, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=4/offset=-1", baseReg: RegR15, indexReg: RegR14, scale: 4, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xb7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=8/offset=-1", baseReg: RegR15, indexReg: RegR14, scale: 8, offset: -1, expRex: 0x43, expModRM: 0x44, needSBI: true, expSBI: 0xf7, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=1/offset=-1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 1, offset: -1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=2/offset=-1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 2, offset: -1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=4/offset=-1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 4, offset: -1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=Nil/scale=8/offset=-1", baseReg: RegR15, indexReg: asm.NilRegister, scale: 8, offset: -1, expRex: 0x41, expModRM: 0x47, needSBI: false, displacementWidth: 8},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegAX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegAX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegAX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegAX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegBX, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegBX, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegBX, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x9f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegBX, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xdf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegBP, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x2f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegBP, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x6f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegBP, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xaf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegBP, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xef, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegSI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegSI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegSI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegSI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegDI, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x3f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegDI, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegDI, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xbf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegDI, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xff, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegR8, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegR8, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegR8, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegR8, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=1/offset=2147483647", baseReg: RegR15, indexReg: RegR14, scale: 1, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=2/offset=2147483647", baseReg: RegR15, indexReg: RegR14, scale: 2, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=4/offset=2147483647", baseReg: RegR15, indexReg: RegR14, scale: 4, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=8/offset=2147483647", baseReg: RegR15, indexReg: RegR14, scale: 8, offset: 2147483647, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=1/offset=2147483647", baseReg: RegR15, indexReg: asm.NilRegister, scale: 1, offset: 2147483647, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=2/offset=2147483647", baseReg: RegR15, indexReg: asm.NilRegister, scale: 2, offset: 2147483647, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=4/offset=2147483647", baseReg: RegR15, indexReg: asm.NilRegister, scale: 4, offset: 2147483647, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=8/offset=2147483647", baseReg: RegR15, indexReg: asm.NilRegister, scale: 8, offset: 2147483647, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegAX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegAX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegAX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegAX/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegAX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegBX, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x1f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegBX, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x5f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegBX, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x9f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBX/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegBX, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xdf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegBP, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x2f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegBP, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x6f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegBP, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xaf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegBP/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegBP, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xef, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegSI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegSI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegSI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegSI/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegSI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegDI, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x3f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegDI, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0x7f, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegDI, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xbf, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegDI/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegDI, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x84, needSBI: true, expSBI: 0xff, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegR8, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegR8, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x47, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegR8, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x87, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR8/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegR8, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xc7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: RegR14, scale: 1, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x37, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: RegR14, scale: 2, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0x77, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: RegR14, scale: 4, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xb7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=RegR14/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: RegR14, scale: 8, offset: -2147483648, expRex: 0x43, expModRM: 0x84, needSBI: true, expSBI: 0xf7, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=1/offset=-2147483648", baseReg: RegR15, indexReg: asm.NilRegister, scale: 1, offset: -2147483648, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=2/offset=-2147483648", baseReg: RegR15, indexReg: asm.NilRegister, scale: 2, offset: -2147483648, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=4/offset=-2147483648", baseReg: RegR15, indexReg: asm.NilRegister, scale: 4, offset: -2147483648, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
		{name: "baseReg=RegR15/indexReg=Nil/scale=8/offset=-2147483648", baseReg: RegR15, indexReg: asm.NilRegister, scale: 8, offset: -2147483648, expRex: 0x41, expModRM: 0x87, needSBI: false, displacementWidth: 32},
	}
	for _, tc := range tests {
		n := &nodeImpl{
			types:  operandTypesMemoryToRegister,
			srcReg: tc.baseReg, srcConst: tc.offset, srcMemIndex: tc.indexReg, srcMemScale: tc.scale,
		}
		rexPrefix, modRM, sbi, sbiExist, displacementWidth, err := n.GetMemoryLocation()
		require.NoError(t, err, tc.name)
		require.Equal(t, tc.expRex, rexPrefix, tc.name)
		require.Equal(t, tc.expModRM, modRM, tc.name)
		require.Equal(t, tc.needSBI, sbiExist)
		if tc.needSBI {
			require.Equal(t, tc.expSBI, sbi, tc.name)
		}
		require.Equal(t, tc.displacementWidth, displacementWidth, tc.name)
	}
}
