wa-lang.org/wazero@v1.0.2/internal/asm/amd64/impl_memorylocation_test.go (about)

     1  package amd64
     2  
     3  import (
     4  	"math"
     5  	"testing"
     6  
     7  	"wa-lang.org/wazero/internal/asm"
     8  	"wa-lang.org/wazero/internal/testing/require"
     9  )
    10  
    11  func TestNodeImpl_GetMemoryLocation_errors(t *testing.T) {
    12  	tests := []struct {
    13  		n      *nodeImpl
    14  		expErr string
    15  	}{
    16  		{
    17  			n:      &nodeImpl{instruction: ADDL, types: operandTypesMemoryToRegister, srcConst: math.MaxInt64, srcReg: RegAX, dstReg: RegR10},
    18  			expErr: "offset does not fit in 32-bit integer",
    19  		},
    20  		{
    21  			n: &nodeImpl{
    22  				instruction: ADDL, types: operandTypesMemoryToRegister,
    23  				srcConst: 10, srcReg: asm.NilRegister, srcMemIndex: RegR12, srcMemScale: 1, dstReg: RegR10,
    24  			},
    25  			expErr: "addressing without base register but with index is not implemented",
    26  		},
    27  		{
    28  			n: &nodeImpl{
    29  				instruction: ADDL, types: operandTypesMemoryToRegister,
    30  				srcConst: 10, srcReg: RegAX, srcMemIndex: RegSP, srcMemScale: 1, dstReg: RegR10,
    31  			},
    32  			expErr: "SP cannot be used for SIB index",
    33  		},
    34  		{
    35  			n: &nodeImpl{
    36  				instruction: ADDL, types: operandTypesMemoryToRegister,
    37  				srcConst: 10, srcReg: RegAX, srcMemIndex: RegR9, srcMemScale: 3, dstReg: RegR10,
    38  			},
    39  			expErr: "scale in SIB must be one of 1, 2, 4, 8 but got 3",
    40  		},
    41  	}
    42  	for _, tt := range tests {
    43  		_, _, _, _, err := tt.n.GetMemoryLocation()
    44  		require.EqualError(t, err, tt.expErr, tt.expErr)
    45  	}
    46  }
    47  
    48  func TestNodeImpl_GetMemoryLocation_without_base(t *testing.T) {
    49  	tests := []struct {
    50  		offset                        int64
    51  		modRM, sbi, displacementWidth byte
    52  	}{
    53  		{offset: 0, modRM: 0x4, sbi: 0x25},
    54  		{offset: 1, modRM: 0x4, sbi: 0x25},
    55  		{offset: -1, modRM: 0x4, sbi: 0x25},
    56  		{offset: 2147483647, modRM: 0x4, sbi: 0x25},
    57  		{offset: -2147483648, modRM: 0x4, sbi: 0x25},
    58  	}
    59  	for _, tc := range tests {
    60  		n := &nodeImpl{
    61  			types:  operandTypesMemoryToRegister,
    62  			srcReg: asm.NilRegister, srcConst: tc.offset,
    63  		}
    64  		rexPrefix, modRM, sbi, displacementWidth, err := n.GetMemoryLocation()
    65  		require.NoError(t, err)
    66  		require.Equal(t, RexPrefixNone, rexPrefix)
    67  		require.Equal(t, tc.modRM, modRM)
    68  		require.Equal(t, tc.sbi, *sbi)
    69  		require.Equal(t, byte(32), displacementWidth)
    70  	}
    71  }
    72  
    73  func TestNodeImpl_GetMemoryLocation_with_base(t *testing.T) {
    74  	tests := []struct {
    75  		name              string
    76  		baseReg, indexReg asm.Register
    77  		scale             byte
    78  		offset            int64
    79  		expRex, expModRM  byte
    80  		needSBI           bool
    81  		expSBI            byte
    82  		displacementWidth byte
    83  	}{
    84  		{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},
    85  		{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},
    86  		{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},
    87  		{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},
    88  		{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},
    89  		{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},
    90  		{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},
    91  		{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},
    92  		{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},
    93  		{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},
    94  		{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},
    95  		{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},
    96  		{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},
    97  		{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},
    98  		{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},
    99  		{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},
   100  		{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},
   101  		{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},
   102  		{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},
   103  		{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},
   104  		{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},
   105  		{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},
   106  		{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},
   107  		{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},
   108  		{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},
   109  		{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},
   110  		{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},
   111  		{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},
   112  		{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},
   113  		{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},
   114  		{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},
   115  		{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},
   116  		{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},
   117  		{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},
   118  		{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},
   119  		{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},
   120  		{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},
   121  		{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},
   122  		{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},
   123  		{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},
   124  		{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},
   125  		{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},
   126  		{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},
   127  		{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},
   128  		{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},
   129  		{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},
   130  		{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},
   131  		{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},
   132  		{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},
   133  		{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},
   134  		{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},
   135  		{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},
   136  		{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},
   137  		{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},
   138  		{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},
   139  		{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},
   140  		{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},
   141  		{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},
   142  		{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},
   143  		{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},
   144  		{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},
   145  		{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},
   146  		{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},
   147  		{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},
   148  		{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},
   149  		{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},
   150  		{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},
   151  		{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},
   152  		{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},
   153  		{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},
   154  		{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},
   155  		{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},
   156  		{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},
   157  		{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},
   158  		{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},
   159  		{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},
   160  		{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},
   161  		{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},
   162  		{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},
   163  		{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},
   164  		{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},
   165  		{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},
   166  		{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},
   167  		{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},
   168  		{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},
   169  		{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},
   170  		{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},
   171  		{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},
   172  		{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},
   173  		{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},
   174  		{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},
   175  		{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},
   176  		{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},
   177  		{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},
   178  		{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},
   179  		{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},
   180  		{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},
   181  		{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},
   182  		{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},
   183  		{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},
   184  		{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},
   185  		{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},
   186  		{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},
   187  		{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},
   188  		{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},
   189  		{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},
   190  		{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},
   191  		{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},
   192  		{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},
   193  		{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},
   194  		{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},
   195  		{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},
   196  		{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},
   197  		{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},
   198  		{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},
   199  		{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},
   200  		{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},
   201  		{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},
   202  		{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},
   203  		{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},
   204  		{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},
   205  		{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},
   206  		{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},
   207  		{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},
   208  		{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},
   209  		{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},
   210  		{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},
   211  		{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},
   212  		{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},
   213  		{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},
   214  		{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},
   215  		{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},
   216  		{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},
   217  		{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},
   218  		{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},
   219  		{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},
   220  		{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},
   221  		{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},
   222  		{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},
   223  		{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},
   224  		{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},
   225  		{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},
   226  		{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},
   227  		{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},
   228  		{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},
   229  		{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},
   230  		{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},
   231  		{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},
   232  		{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},
   233  		{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},
   234  		{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},
   235  		{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},
   236  		{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},
   237  		{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},
   238  		{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},
   239  		{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},
   240  		{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},
   241  		{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},
   242  		{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},
   243  		{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},
   244  		{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},
   245  		{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},
   246  		{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},
   247  		{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},
   248  		{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},
   249  		{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},
   250  		{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},
   251  		{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},
   252  		{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},
   253  		{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},
   254  		{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},
   255  		{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},
   256  		{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},
   257  		{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},
   258  		{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},
   259  		{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},
   260  		{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},
   261  		{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},
   262  		{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},
   263  		{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},
   264  		{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},
   265  		{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},
   266  		{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},
   267  		{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},
   268  		{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},
   269  		{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},
   270  		{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},
   271  		{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},
   272  		{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},
   273  		{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},
   274  		{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},
   275  		{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},
   276  		{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},
   277  		{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},
   278  		{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},
   279  		{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},
   280  		{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},
   281  		{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},
   282  		{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},
   283  		{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},
   284  		{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},
   285  		{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},
   286  		{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},
   287  		{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},
   288  		{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},
   289  		{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},
   290  		{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},
   291  		{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},
   292  		{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},
   293  		{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},
   294  		{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},
   295  		{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},
   296  		{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},
   297  		{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},
   298  		{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},
   299  		{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},
   300  		{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},
   301  		{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},
   302  		{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},
   303  		{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},
   304  		{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},
   305  		{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},
   306  		{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},
   307  		{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},
   308  		{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},
   309  		{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},
   310  		{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},
   311  		{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},
   312  		{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},
   313  		{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},
   314  		{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},
   315  		{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},
   316  		{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},
   317  		{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},
   318  		{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},
   319  		{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},
   320  		{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},
   321  		{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},
   322  		{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},
   323  		{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},
   324  		{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},
   325  		{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},
   326  		{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},
   327  		{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},
   328  		{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},
   329  		{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},
   330  		{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},
   331  		{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},
   332  		{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},
   333  		{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},
   334  		{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},
   335  		{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},
   336  		{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},
   337  		{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},
   338  		{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},
   339  		{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},
   340  		{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},
   341  		{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},
   342  		{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},
   343  		{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},
   344  		{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},
   345  		{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},
   346  		{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},
   347  		{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},
   348  		{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},
   349  		{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},
   350  		{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},
   351  		{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},
   352  		{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},
   353  		{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},
   354  		{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},
   355  		{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},
   356  		{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},
   357  		{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},
   358  		{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},
   359  		{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},
   360  		{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},
   361  		{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},
   362  		{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},
   363  		{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},
   364  		{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},
   365  		{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},
   366  		{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},
   367  		{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},
   368  		{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},
   369  		{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},
   370  		{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},
   371  		{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},
   372  		{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},
   373  		{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},
   374  		{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},
   375  		{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},
   376  		{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},
   377  		{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},
   378  		{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},
   379  		{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},
   380  		{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},
   381  		{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},
   382  		{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},
   383  		{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},
   384  		{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},
   385  		{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},
   386  		{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},
   387  		{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},
   388  		{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},
   389  		{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},
   390  		{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},
   391  		{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},
   392  		{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},
   393  		{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},
   394  		{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},
   395  		{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},
   396  		{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},
   397  		{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},
   398  		{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},
   399  		{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},
   400  		{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},
   401  		{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},
   402  		{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},
   403  		{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},
   404  		{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},
   405  		{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},
   406  		{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},
   407  		{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},
   408  		{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},
   409  		{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},
   410  		{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},
   411  		{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},
   412  		{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},
   413  		{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},
   414  		{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},
   415  		{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},
   416  		{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},
   417  		{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},
   418  		{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},
   419  		{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},
   420  		{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},
   421  		{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},
   422  		{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},
   423  		{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},
   424  		{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},
   425  		{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},
   426  		{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},
   427  		{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},
   428  		{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},
   429  		{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},
   430  		{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},
   431  		{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},
   432  		{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},
   433  		{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},
   434  		{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},
   435  		{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},
   436  		{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},
   437  		{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},
   438  		{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},
   439  		{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},
   440  		{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},
   441  		{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},
   442  		{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},
   443  		{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},
   444  		{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},
   445  		{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},
   446  		{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},
   447  		{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},
   448  		{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},
   449  		{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},
   450  		{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},
   451  		{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},
   452  		{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},
   453  		{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},
   454  		{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},
   455  		{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},
   456  		{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},
   457  		{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},
   458  		{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},
   459  		{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},
   460  		{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},
   461  		{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},
   462  		{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},
   463  		{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},
   464  		{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},
   465  		{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},
   466  		{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},
   467  		{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},
   468  		{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},
   469  		{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},
   470  		{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},
   471  		{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},
   472  		{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},
   473  		{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},
   474  		{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},
   475  		{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},
   476  		{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},
   477  		{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},
   478  		{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},
   479  		{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},
   480  		{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},
   481  		{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},
   482  		{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},
   483  		{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},
   484  		{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},
   485  		{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},
   486  		{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},
   487  		{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},
   488  		{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},
   489  		{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},
   490  		{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},
   491  		{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},
   492  		{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},
   493  		{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},
   494  		{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},
   495  		{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},
   496  		{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},
   497  		{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},
   498  		{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},
   499  		{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},
   500  		{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},
   501  		{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},
   502  		{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},
   503  		{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},
   504  		{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},
   505  		{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},
   506  		{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},
   507  		{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},
   508  		{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},
   509  		{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},
   510  		{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},
   511  		{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},
   512  		{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},
   513  		{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},
   514  		{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},
   515  		{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},
   516  		{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},
   517  		{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},
   518  		{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},
   519  		{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},
   520  		{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},
   521  		{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},
   522  		{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},
   523  		{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},
   524  		{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},
   525  		{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},
   526  		{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},
   527  		{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},
   528  		{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},
   529  		{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},
   530  		{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},
   531  		{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},
   532  		{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},
   533  		{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},
   534  		{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},
   535  		{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},
   536  		{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},
   537  		{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},
   538  		{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},
   539  		{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},
   540  		{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},
   541  		{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},
   542  		{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},
   543  		{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},
   544  		{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},
   545  		{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},
   546  		{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},
   547  		{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},
   548  		{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},
   549  		{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},
   550  		{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},
   551  		{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},
   552  		{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},
   553  		{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},
   554  		{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},
   555  		{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},
   556  		{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},
   557  		{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},
   558  		{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},
   559  		{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},
   560  		{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},
   561  		{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},
   562  		{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},
   563  		{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},
   564  		{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},
   565  		{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},
   566  		{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},
   567  		{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},
   568  		{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},
   569  		{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},
   570  		{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},
   571  		{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},
   572  		{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},
   573  		{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},
   574  		{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},
   575  		{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},
   576  		{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},
   577  		{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},
   578  		{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},
   579  		{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},
   580  		{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},
   581  		{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},
   582  		{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},
   583  		{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},
   584  		{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},
   585  		{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},
   586  		{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},
   587  		{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},
   588  		{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},
   589  		{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},
   590  		{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},
   591  		{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},
   592  		{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},
   593  		{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},
   594  		{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},
   595  		{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},
   596  		{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},
   597  		{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},
   598  		{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},
   599  		{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},
   600  		{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},
   601  		{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},
   602  		{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},
   603  		{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},
   604  		{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},
   605  		{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},
   606  		{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},
   607  		{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},
   608  		{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},
   609  		{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},
   610  		{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},
   611  		{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},
   612  		{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},
   613  		{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},
   614  		{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},
   615  		{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},
   616  		{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},
   617  		{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},
   618  		{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},
   619  		{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},
   620  		{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},
   621  		{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},
   622  		{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},
   623  		{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},
   624  		{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},
   625  		{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},
   626  		{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},
   627  		{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},
   628  		{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},
   629  		{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},
   630  		{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},
   631  		{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},
   632  		{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},
   633  		{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},
   634  		{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},
   635  		{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},
   636  		{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},
   637  		{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},
   638  		{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},
   639  		{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},
   640  		{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},
   641  		{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},
   642  		{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},
   643  		{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},
   644  		{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},
   645  		{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},
   646  		{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},
   647  		{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},
   648  		{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},
   649  		{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},
   650  		{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},
   651  		{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},
   652  		{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},
   653  		{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},
   654  		{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},
   655  		{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},
   656  		{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},
   657  		{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},
   658  		{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},
   659  		{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},
   660  		{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},
   661  		{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},
   662  		{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},
   663  		{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},
   664  		{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},
   665  		{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},
   666  		{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},
   667  		{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},
   668  		{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},
   669  		{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},
   670  		{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},
   671  		{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},
   672  		{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},
   673  		{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},
   674  		{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},
   675  		{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},
   676  		{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},
   677  		{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},
   678  		{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},
   679  		{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},
   680  		{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},
   681  		{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},
   682  		{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},
   683  		{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},
   684  		{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},
   685  		{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},
   686  		{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},
   687  		{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},
   688  		{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},
   689  		{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},
   690  		{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},
   691  		{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},
   692  		{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},
   693  		{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},
   694  		{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},
   695  		{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},
   696  		{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},
   697  		{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},
   698  		{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},
   699  		{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},
   700  		{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},
   701  		{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},
   702  		{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},
   703  		{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},
   704  		{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},
   705  		{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},
   706  		{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},
   707  		{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},
   708  		{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},
   709  		{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},
   710  		{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},
   711  		{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},
   712  		{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},
   713  		{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},
   714  		{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},
   715  		{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},
   716  		{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},
   717  		{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},
   718  		{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},
   719  		{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},
   720  		{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},
   721  		{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},
   722  		{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},
   723  		{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},
   724  		{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},
   725  		{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},
   726  		{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},
   727  		{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},
   728  		{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},
   729  		{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},
   730  		{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},
   731  		{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},
   732  		{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},
   733  		{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},
   734  		{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},
   735  		{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},
   736  		{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},
   737  		{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},
   738  		{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},
   739  		{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},
   740  		{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},
   741  		{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},
   742  		{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},
   743  		{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},
   744  		{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},
   745  		{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},
   746  		{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},
   747  		{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},
   748  		{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},
   749  		{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},
   750  		{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},
   751  		{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},
   752  		{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},
   753  		{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},
   754  		{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},
   755  		{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},
   756  		{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},
   757  		{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},
   758  		{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},
   759  		{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},
   760  		{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},
   761  		{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},
   762  		{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},
   763  		{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},
   764  		{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},
   765  		{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},
   766  		{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},
   767  		{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},
   768  		{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},
   769  		{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},
   770  		{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},
   771  		{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},
   772  		{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},
   773  		{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},
   774  		{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},
   775  		{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},
   776  		{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},
   777  		{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},
   778  		{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},
   779  		{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},
   780  		{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},
   781  		{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},
   782  		{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},
   783  		{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},
   784  		{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},
   785  		{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},
   786  		{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},
   787  		{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},
   788  		{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},
   789  		{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},
   790  		{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},
   791  		{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},
   792  		{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},
   793  		{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},
   794  		{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},
   795  		{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},
   796  		{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},
   797  		{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},
   798  		{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},
   799  		{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},
   800  		{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},
   801  		{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},
   802  		{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},
   803  		{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},
   804  		{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},
   805  		{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},
   806  		{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},
   807  		{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},
   808  		{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},
   809  		{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},
   810  		{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},
   811  		{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},
   812  		{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},
   813  		{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},
   814  		{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},
   815  		{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},
   816  		{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},
   817  		{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},
   818  		{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},
   819  		{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},
   820  		{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},
   821  		{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},
   822  		{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},
   823  		{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},
   824  		{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},
   825  		{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},
   826  		{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},
   827  		{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},
   828  		{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},
   829  		{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},
   830  		{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},
   831  		{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},
   832  		{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},
   833  		{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},
   834  		{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},
   835  		{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},
   836  		{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},
   837  		{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},
   838  		{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},
   839  		{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},
   840  		{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},
   841  		{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},
   842  		{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},
   843  		{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},
   844  		{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},
   845  		{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},
   846  		{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},
   847  		{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},
   848  		{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},
   849  		{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},
   850  		{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},
   851  		{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},
   852  		{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},
   853  		{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},
   854  		{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},
   855  		{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},
   856  		{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},
   857  		{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},
   858  		{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},
   859  		{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},
   860  		{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},
   861  		{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},
   862  		{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},
   863  		{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},
   864  		{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},
   865  		{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},
   866  		{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},
   867  		{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},
   868  		{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},
   869  		{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},
   870  		{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},
   871  		{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},
   872  		{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},
   873  		{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},
   874  		{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},
   875  		{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},
   876  		{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},
   877  		{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},
   878  		{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},
   879  		{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},
   880  		{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},
   881  		{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},
   882  		{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},
   883  		{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},
   884  		{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},
   885  		{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},
   886  		{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},
   887  		{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},
   888  		{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},
   889  		{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},
   890  		{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},
   891  		{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},
   892  		{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},
   893  		{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},
   894  		{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},
   895  		{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},
   896  		{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},
   897  		{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},
   898  		{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},
   899  		{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},
   900  		{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},
   901  		{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},
   902  		{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},
   903  		{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},
   904  		{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},
   905  		{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},
   906  		{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},
   907  		{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},
   908  		{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},
   909  		{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},
   910  		{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},
   911  		{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},
   912  		{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},
   913  		{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},
   914  		{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},
   915  		{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},
   916  		{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},
   917  		{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},
   918  		{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},
   919  		{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},
   920  		{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},
   921  		{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},
   922  		{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},
   923  		{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},
   924  		{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},
   925  		{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},
   926  		{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},
   927  		{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},
   928  		{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},
   929  		{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},
   930  		{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},
   931  		{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},
   932  		{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},
   933  		{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},
   934  		{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},
   935  		{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},
   936  		{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},
   937  		{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},
   938  		{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},
   939  		{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},
   940  		{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},
   941  		{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},
   942  		{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},
   943  		{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},
   944  		{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},
   945  		{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},
   946  		{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},
   947  		{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},
   948  		{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},
   949  		{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},
   950  		{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},
   951  		{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},
   952  		{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},
   953  		{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},
   954  		{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},
   955  		{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},
   956  		{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},
   957  		{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},
   958  		{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},
   959  		{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},
   960  		{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},
   961  		{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},
   962  		{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},
   963  		{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},
   964  		{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},
   965  		{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},
   966  		{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},
   967  		{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},
   968  		{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},
   969  		{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},
   970  		{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},
   971  		{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},
   972  		{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},
   973  		{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},
   974  		{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},
   975  		{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},
   976  		{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},
   977  		{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},
   978  		{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},
   979  		{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},
   980  		{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},
   981  		{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},
   982  		{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},
   983  		{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},
   984  		{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},
   985  		{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},
   986  		{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},
   987  		{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},
   988  		{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},
   989  		{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},
   990  		{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},
   991  		{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},
   992  		{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},
   993  		{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},
   994  		{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},
   995  		{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},
   996  		{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},
   997  		{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},
   998  		{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},
   999  		{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},
  1000  		{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},
  1001  		{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},
  1002  		{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},
  1003  		{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},
  1004  		{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},
  1005  		{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},
  1006  		{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},
  1007  		{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},
  1008  		{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},
  1009  		{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},
  1010  		{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},
  1011  		{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},
  1012  		{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},
  1013  		{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},
  1014  		{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},
  1015  		{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},
  1016  		{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},
  1017  		{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},
  1018  		{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},
  1019  		{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},
  1020  		{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},
  1021  		{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},
  1022  		{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},
  1023  		{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},
  1024  		{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},
  1025  		{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},
  1026  		{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},
  1027  		{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},
  1028  		{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},
  1029  		{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},
  1030  		{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},
  1031  		{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},
  1032  		{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},
  1033  		{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},
  1034  		{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},
  1035  		{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},
  1036  		{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},
  1037  		{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},
  1038  		{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},
  1039  		{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},
  1040  		{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},
  1041  		{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},
  1042  		{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},
  1043  		{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},
  1044  		{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},
  1045  		{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},
  1046  		{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},
  1047  		{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},
  1048  		{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},
  1049  		{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},
  1050  		{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},
  1051  		{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},
  1052  		{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},
  1053  		{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},
  1054  		{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},
  1055  		{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},
  1056  		{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},
  1057  		{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},
  1058  		{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},
  1059  		{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},
  1060  		{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},
  1061  		{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},
  1062  		{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},
  1063  		{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},
  1064  		{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},
  1065  		{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},
  1066  		{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},
  1067  		{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},
  1068  		{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},
  1069  		{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},
  1070  		{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},
  1071  		{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},
  1072  		{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},
  1073  		{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},
  1074  		{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},
  1075  		{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},
  1076  		{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},
  1077  		{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},
  1078  		{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},
  1079  		{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},
  1080  		{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},
  1081  		{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},
  1082  		{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},
  1083  		{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},
  1084  		{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},
  1085  		{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},
  1086  		{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},
  1087  		{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},
  1088  		{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},
  1089  		{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},
  1090  		{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},
  1091  		{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},
  1092  		{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},
  1093  		{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},
  1094  		{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},
  1095  		{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},
  1096  		{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},
  1097  		{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},
  1098  		{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},
  1099  		{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},
  1100  		{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},
  1101  		{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},
  1102  		{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},
  1103  		{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},
  1104  		{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},
  1105  		{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},
  1106  		{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},
  1107  		{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},
  1108  		{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},
  1109  		{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},
  1110  		{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},
  1111  		{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},
  1112  		{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},
  1113  		{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},
  1114  		{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},
  1115  		{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},
  1116  		{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},
  1117  		{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},
  1118  		{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},
  1119  		{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},
  1120  		{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},
  1121  		{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},
  1122  		{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},
  1123  		{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},
  1124  		{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},
  1125  		{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},
  1126  		{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},
  1127  		{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},
  1128  		{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},
  1129  		{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},
  1130  		{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},
  1131  		{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},
  1132  		{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},
  1133  		{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},
  1134  		{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},
  1135  		{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},
  1136  		{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},
  1137  		{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},
  1138  		{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},
  1139  		{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},
  1140  		{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},
  1141  		{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},
  1142  		{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},
  1143  		{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},
  1144  		{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},
  1145  		{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},
  1146  		{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},
  1147  		{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},
  1148  		{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},
  1149  		{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},
  1150  		{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},
  1151  		{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},
  1152  		{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},
  1153  		{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},
  1154  		{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},
  1155  		{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},
  1156  		{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},
  1157  		{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},
  1158  		{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},
  1159  		{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},
  1160  		{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},
  1161  		{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},
  1162  		{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},
  1163  		{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},
  1164  		{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},
  1165  		{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},
  1166  		{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},
  1167  		{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},
  1168  		{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},
  1169  		{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},
  1170  		{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},
  1171  		{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},
  1172  		{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},
  1173  		{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},
  1174  		{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},
  1175  		{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},
  1176  		{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},
  1177  		{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},
  1178  		{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},
  1179  		{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},
  1180  		{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},
  1181  		{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},
  1182  		{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},
  1183  		{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},
  1184  		{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},
  1185  		{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},
  1186  		{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},
  1187  		{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},
  1188  		{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},
  1189  		{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},
  1190  		{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},
  1191  		{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},
  1192  		{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},
  1193  		{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},
  1194  		{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},
  1195  		{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},
  1196  		{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},
  1197  		{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},
  1198  		{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},
  1199  		{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},
  1200  		{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},
  1201  		{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},
  1202  		{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},
  1203  		{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},
  1204  		{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},
  1205  		{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},
  1206  		{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},
  1207  		{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},
  1208  		{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},
  1209  		{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},
  1210  		{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},
  1211  		{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},
  1212  		{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},
  1213  		{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},
  1214  		{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},
  1215  		{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},
  1216  		{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},
  1217  		{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},
  1218  		{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},
  1219  		{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},
  1220  		{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},
  1221  		{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},
  1222  		{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},
  1223  		{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},
  1224  		{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},
  1225  		{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},
  1226  		{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},
  1227  		{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},
  1228  		{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},
  1229  		{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},
  1230  		{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},
  1231  		{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},
  1232  		{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},
  1233  		{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},
  1234  		{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},
  1235  		{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},
  1236  		{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},
  1237  		{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},
  1238  		{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},
  1239  		{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},
  1240  		{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},
  1241  		{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},
  1242  		{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},
  1243  		{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},
  1244  		{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},
  1245  		{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},
  1246  		{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},
  1247  		{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},
  1248  		{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},
  1249  		{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},
  1250  		{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},
  1251  		{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},
  1252  		{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},
  1253  		{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},
  1254  		{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},
  1255  		{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},
  1256  		{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},
  1257  		{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},
  1258  		{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},
  1259  		{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},
  1260  		{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},
  1261  		{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},
  1262  		{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},
  1263  		{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},
  1264  		{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},
  1265  		{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},
  1266  		{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},
  1267  		{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},
  1268  		{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},
  1269  		{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},
  1270  		{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},
  1271  		{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},
  1272  		{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},
  1273  		{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},
  1274  		{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},
  1275  		{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},
  1276  		{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},
  1277  		{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},
  1278  		{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},
  1279  		{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},
  1280  		{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},
  1281  		{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},
  1282  		{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},
  1283  		{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},
  1284  		{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},
  1285  		{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},
  1286  		{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},
  1287  		{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},
  1288  		{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},
  1289  		{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},
  1290  		{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},
  1291  		{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},
  1292  		{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},
  1293  		{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},
  1294  		{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},
  1295  		{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},
  1296  		{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},
  1297  		{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},
  1298  		{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},
  1299  		{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},
  1300  		{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},
  1301  		{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},
  1302  		{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},
  1303  		{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},
  1304  		{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},
  1305  		{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},
  1306  		{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},
  1307  		{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},
  1308  		{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},
  1309  		{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},
  1310  		{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},
  1311  		{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},
  1312  		{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},
  1313  		{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},
  1314  		{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},
  1315  		{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},
  1316  		{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},
  1317  		{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},
  1318  		{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},
  1319  		{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},
  1320  		{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},
  1321  		{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},
  1322  		{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},
  1323  		{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},
  1324  		{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},
  1325  		{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},
  1326  		{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},
  1327  		{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},
  1328  		{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},
  1329  		{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},
  1330  		{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},
  1331  		{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},
  1332  		{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},
  1333  		{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},
  1334  		{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},
  1335  		{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},
  1336  		{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},
  1337  		{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},
  1338  		{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},
  1339  		{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},
  1340  		{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},
  1341  		{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},
  1342  		{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},
  1343  		{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},
  1344  		{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},
  1345  		{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},
  1346  		{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},
  1347  		{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},
  1348  		{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},
  1349  		{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},
  1350  		{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},
  1351  		{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},
  1352  		{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},
  1353  		{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},
  1354  		{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},
  1355  		{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},
  1356  		{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},
  1357  		{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},
  1358  		{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},
  1359  		{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},
  1360  		{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},
  1361  		{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},
  1362  		{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},
  1363  		{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},
  1364  		{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},
  1365  		{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},
  1366  		{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},
  1367  		{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},
  1368  		{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},
  1369  		{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},
  1370  		{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},
  1371  		{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},
  1372  		{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},
  1373  		{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},
  1374  		{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},
  1375  		{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},
  1376  		{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},
  1377  		{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},
  1378  		{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},
  1379  		{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},
  1380  		{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},
  1381  		{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},
  1382  		{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},
  1383  		{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},
  1384  		{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},
  1385  		{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},
  1386  		{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},
  1387  		{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},
  1388  		{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},
  1389  		{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},
  1390  		{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},
  1391  		{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},
  1392  		{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},
  1393  		{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},
  1394  		{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},
  1395  		{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},
  1396  		{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},
  1397  		{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},
  1398  		{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},
  1399  		{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},
  1400  		{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},
  1401  		{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},
  1402  		{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},
  1403  		{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},
  1404  		{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},
  1405  		{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},
  1406  		{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},
  1407  		{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},
  1408  		{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},
  1409  		{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},
  1410  		{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},
  1411  		{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},
  1412  		{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},
  1413  		{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},
  1414  		{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},
  1415  		{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},
  1416  		{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},
  1417  		{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},
  1418  		{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},
  1419  		{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},
  1420  		{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},
  1421  		{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},
  1422  		{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},
  1423  		{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},
  1424  		{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},
  1425  		{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},
  1426  		{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},
  1427  		{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},
  1428  		{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},
  1429  		{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},
  1430  		{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},
  1431  		{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},
  1432  		{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},
  1433  		{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},
  1434  		{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},
  1435  		{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},
  1436  		{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},
  1437  		{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},
  1438  		{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},
  1439  		{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},
  1440  		{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},
  1441  		{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},
  1442  		{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},
  1443  		{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},
  1444  		{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},
  1445  		{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},
  1446  		{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},
  1447  		{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},
  1448  		{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},
  1449  		{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},
  1450  		{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},
  1451  		{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},
  1452  		{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},
  1453  		{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},
  1454  		{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},
  1455  		{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},
  1456  		{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},
  1457  		{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},
  1458  		{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},
  1459  		{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},
  1460  		{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},
  1461  		{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},
  1462  		{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},
  1463  		{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},
  1464  		{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},
  1465  		{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},
  1466  		{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},
  1467  		{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},
  1468  		{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},
  1469  		{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},
  1470  		{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},
  1471  		{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},
  1472  		{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},
  1473  		{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},
  1474  		{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},
  1475  		{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},
  1476  		{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},
  1477  		{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},
  1478  		{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},
  1479  		{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},
  1480  		{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},
  1481  		{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},
  1482  		{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},
  1483  		{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},
  1484  		{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},
  1485  		{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},
  1486  		{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},
  1487  		{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},
  1488  		{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},
  1489  		{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},
  1490  		{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},
  1491  		{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},
  1492  		{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},
  1493  		{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},
  1494  		{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},
  1495  		{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},
  1496  		{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},
  1497  		{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},
  1498  		{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},
  1499  		{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},
  1500  		{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},
  1501  		{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},
  1502  		{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},
  1503  		{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},
  1504  		{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},
  1505  		{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},
  1506  		{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},
  1507  		{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},
  1508  		{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},
  1509  		{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},
  1510  		{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},
  1511  		{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},
  1512  		{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},
  1513  		{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},
  1514  		{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},
  1515  		{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},
  1516  		{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},
  1517  		{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},
  1518  		{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},
  1519  		{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},
  1520  		{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},
  1521  		{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},
  1522  		{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},
  1523  		{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},
  1524  		{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},
  1525  		{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},
  1526  		{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},
  1527  		{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},
  1528  		{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},
  1529  		{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},
  1530  		{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},
  1531  		{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},
  1532  		{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},
  1533  		{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},
  1534  		{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},
  1535  		{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},
  1536  		{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},
  1537  		{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},
  1538  		{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},
  1539  		{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},
  1540  		{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},
  1541  		{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},
  1542  		{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},
  1543  		{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},
  1544  		{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},
  1545  		{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},
  1546  		{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},
  1547  		{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},
  1548  		{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},
  1549  		{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},
  1550  		{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},
  1551  		{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},
  1552  		{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},
  1553  		{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},
  1554  		{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},
  1555  		{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},
  1556  		{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},
  1557  		{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},
  1558  		{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},
  1559  		{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},
  1560  		{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},
  1561  		{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},
  1562  		{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},
  1563  		{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},
  1564  		{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},
  1565  		{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},
  1566  		{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},
  1567  		{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},
  1568  		{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},
  1569  		{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},
  1570  		{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},
  1571  		{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},
  1572  		{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},
  1573  		{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},
  1574  		{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},
  1575  		{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},
  1576  		{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},
  1577  		{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},
  1578  		{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},
  1579  		{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},
  1580  		{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},
  1581  		{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},
  1582  		{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},
  1583  		{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},
  1584  		{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},
  1585  		{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},
  1586  		{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},
  1587  		{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},
  1588  		{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},
  1589  		{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},
  1590  		{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},
  1591  		{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},
  1592  		{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},
  1593  		{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},
  1594  		{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},
  1595  		{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},
  1596  		{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},
  1597  		{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},
  1598  		{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},
  1599  		{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},
  1600  		{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},
  1601  		{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},
  1602  		{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},
  1603  		{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},
  1604  		{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},
  1605  		{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},
  1606  		{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},
  1607  		{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},
  1608  		{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},
  1609  		{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},
  1610  		{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},
  1611  		{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},
  1612  		{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},
  1613  		{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},
  1614  		{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},
  1615  		{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},
  1616  		{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},
  1617  		{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},
  1618  		{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},
  1619  		{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},
  1620  		{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},
  1621  		{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},
  1622  		{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},
  1623  		{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},
  1624  		{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},
  1625  		{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},
  1626  		{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},
  1627  		{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},
  1628  		{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},
  1629  		{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},
  1630  		{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},
  1631  		{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},
  1632  		{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},
  1633  		{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},
  1634  		{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},
  1635  		{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},
  1636  		{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},
  1637  		{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},
  1638  		{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},
  1639  		{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},
  1640  		{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},
  1641  		{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},
  1642  		{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},
  1643  		{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},
  1644  		{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},
  1645  		{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},
  1646  		{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},
  1647  		{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},
  1648  		{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},
  1649  		{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},
  1650  		{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},
  1651  		{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},
  1652  		{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},
  1653  		{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},
  1654  		{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},
  1655  		{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},
  1656  		{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},
  1657  		{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},
  1658  		{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},
  1659  		{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},
  1660  		{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},
  1661  		{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},
  1662  		{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},
  1663  		{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},
  1664  		{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},
  1665  		{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},
  1666  		{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},
  1667  		{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},
  1668  		{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},
  1669  		{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},
  1670  		{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},
  1671  		{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},
  1672  		{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},
  1673  		{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},
  1674  		{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},
  1675  		{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},
  1676  		{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},
  1677  		{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},
  1678  		{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},
  1679  		{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},
  1680  		{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},
  1681  		{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},
  1682  		{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},
  1683  		{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},
  1684  	}
  1685  	for _, tc := range tests {
  1686  		n := &nodeImpl{
  1687  			types:  operandTypesMemoryToRegister,
  1688  			srcReg: tc.baseReg, srcConst: tc.offset, srcMemIndex: tc.indexReg, srcMemScale: tc.scale,
  1689  		}
  1690  		rexPrefix, modRM, sbi, displacementWidth, err := n.GetMemoryLocation()
  1691  		require.NoError(t, err, tc.name)
  1692  		require.Equal(t, tc.expRex, rexPrefix, tc.name)
  1693  		require.Equal(t, tc.expModRM, modRM, tc.name)
  1694  		if tc.needSBI {
  1695  			require.NotNil(t, sbi, tc.name)
  1696  			require.Equal(t, tc.expSBI, *sbi, tc.name)
  1697  		} else {
  1698  			require.Nil(t, sbi, tc.name)
  1699  		}
  1700  		require.Equal(t, tc.displacementWidth, displacementWidth, tc.name)
  1701  	}
  1702  }