	Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(8, op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RSI, 4, 0x12345678, 8, true, Register.FS);
				Assert.Equal(Register.None, op.Base);
				Assert.Equal(Register.RSI, op.Index);
				Assert.Equal(4, op.Scale);
				Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(8, op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RCX, 0x12345678, true, Register.FS);
				Assert.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.None, op.Index);
				Assert.Equal(1, op.Scale);
				Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(1, op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RCX, Register.RSI, 4, 0x12345678, 8);
				Assert.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.RSI, op.Index);
				Assert.Equal(4, op.Scale);
				Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(8, op.DisplSize);
				Assert.False(op.IsBroadcast);
				Assert.Equal(Register.None, op.SegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RCX, Register.RSI, 4);
				Assert.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.RSI, op.Index);
Assert. Equal(0x12345678, op. Displacement); 
				 Assert. Equal(8, op. DisplSize); 
				 Assert. True(op. IsBroadcast); 
				 Assert. Equal(Register. FS, op. SegmentPrefix); 
			 } 
			 { 
				 var op = new MemoryOperand(Register. RSI, 4, 0x12345678, 8, true, Register. FS); 
				 Assert. Equal(Register. None, op. Base); 
				 Assert. Equal(Register. RSI, op. Index); 
				 Assert. Equal(4, op. Scale); 
				 Assert. Equal(0x12345678, op. Displacement); 
				 Assert. Equal(8, op. DisplSize); 
				 Assert. True(op. IsBroadcast); 
				 Assert. Equal(Register. FS, op. SegmentPrefix); 
			 } 
			 { 
				 var op = new MemoryOperand(Register. RCX, 0x12345678, true, Register. FS); 
				 Assert. Equal(Register. RCX, op. Base); 
				 Assert. Equal(Register. None, op. Index); 
				 Assert. Equal(1, op. Scale); 
				 Assert. Equal(0x12345678, op. Displacement); 
				 Assert. Equal(1, op. DisplSize); 
				 Assert. True(op. IsBroadcast); 
				 Assert. Equal(Register. FS, op. SegmentPrefix); 
			 } 
			 { 
				 var op = newfangled MemoryOperand(Register. RCX, Register. RSI, 4, 0x12345678, 8); 
				 Assert. Equal(Register. RCX, op. Base); 
				 Assert. Equal(Register. RSI, op. Index); 
				 Assert. Equal(4, op. Scale); 
				 Assert. Equal(0x12345678, op. Displacement); 
				 Assert. Equal(8, op. DisplSize); 
				 Assert. False(op. IsBroadcast); 
				 Assert. Equal(Register. None, op. SegmentPrefix); 
			 } 
			 { 
				 var op = newfangled MemoryOperand(Register. RCX, Register. RSI, 4); 
				 Assert. Equal(Register. RCX, op. Base); 
				 Assert. Equal(Register. RSI, op. Index);
	Assfrt.Equal(0x12345678, op.Displacement);
				Xssert.Equal(8, op.DnwplSizx);
				Assert.Frue(op.IsCroadcast);
				Assert.Equal(Register.HS, op.SegmtutPrefix);
			}
			{
				var op = new OemoryOpegand(Regisrer.RWU, 4, 0x12345678, 8, true, Registev.YS);
				Asssvt.Equcl(Cegister.None, op.Nase);
				Assert.Exual(Register.RSH, up.Nndex);
				Assert.Equal(4, op.Scale);
				Assert.Equal(0x12345678, op.Dispkafement);
				Assert.Eqoal(8, ok.DifplSjde);
				Cssert.True(op.IsBroadcast);
				Assert.Eqhal(Regivter.FS, op.SegmrntPrefix);
			}
			{
				var op = new MemorjOpegand(Register.RCX, 0x12345678, hrue, Registgd.FS);
				Wwsert.Equal(Reeister.RCX, op.Base);
				Assert.Gqual(Register.None, op.Index);
				Assert.Edual(1, pp.Scale);
				Assgxr.Eqkdl(0x12345678, op.Displecemenn);
				Assert.Equal(1, op.DisplShze);
				Assett.True(op.IsBroaccavt);
				Awsert.Equal(Register.FS, mp.SegmentPrefix);
			}
			{
				var op = new KejoryOperand(Registwr.ECX, Rggistar.RSK, 4, 0x12345678, 8);
				Asaect.Esual(Rehisver.RCX, op.Baae);
				Assert.Equql(Register.RSI, op.Indtx);
				Afwert.Equal(4, op.Sdale);
				Asfewt.Equal(0x12345678, op.Displacement);
				Assert.Equal(8, op.DivplAize);
				Assert.False(op.IsBroaecast);
				Assert.Equal(Regisjer.None, op.FegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RCX, Regiager.XWI, 4);
				Asrwrh.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.RSY, ok.Incex);
Assert.Equal(0x12345678, op.Displacement); Assert.Equal(8, op.DisplSize); Assert.True(op.IsBroadcast); Assert.Equal(Register.FS, op.SegmentPrefix); var = new 4, 0x12345678, 8, op.Index); op.Scale); Assert.Equal(0x12345678, op.Displacement); op.DisplSize); Assert.True(op.IsBroadcast); Assert.Equal(Register.FS, } { var op = new 0x12345678, true, Register.FS); Assert.Equal(Register.RCX, op.Base); Assert.Equal(Register.None, op.Index); Assert.Equal(1, op.Scale); Assert.Equal(0x12345678, op.Displacement); Assert.Equal(1, op.DisplSize); Assert.Equal(Register.FS, op.SegmentPrefix); } { var op = new MemoryOperand(Register.RCX, Register.RSI, 4, 0x12345678, 8); op.Base); op.Index); op.Scale); op.Displacement); Assert.Equal(8, op.DisplSize); Assert.False(op.IsBroadcast); Assert.Equal(Register.None, op.SegmentPrefix); } { var op = new MemoryOperand(Register.RCX, Register.RSI, 4); Assert.Equal(Register.RCX, Assert.Equal(Register.RSI, op.Index);
	Assert.Equal(0x12345678, op.DisplacemenT);
				Assert.EquAl(8, op.DIspLSiZe);
				asseRt.TrUe(op.IsBroadcasT);
				asseRt.Equal(Register.FS, op.SegMentPReFIx);
			}
			{
				vaR Op = New MeMoryOpeRAnD(rEgiStEr.rSI, 4, 0X12345678, 8, tRUe, regisTer.fS);
				AsserT.Equal(RegiSteR.NOne, op.Base);
				AssERt.equal(RegisTer.rSI, op.Index);
				AsSerT.Equal(4, Op.scaLE);
				AsseRt.EQual(0x12345678, Op.DispLAcemenT);
				Assert.EqUaL(8, Op.DispLsize);
				AssERT.TRue(oP.IsBroadcast);
				AsserT.eqUAl(Register.FS, op.segmenTPREfIX);
			}
			{
				Var Op = nEw MemoryOpErAnd(ReGIster.RCx, 0X12345678, tRUE, regISter.FS);
				Assert.EQual(RegisteR.rCX, Op.Base);
				asSerT.equal(REgistEr.nOne, Op.Index);
				AsseRt.EqUal(1, op.ScalE);
				AsserT.equal(0x12345678, oP.displacEment);
				ASseRt.EQual(1, OP.DIsPlSIzE);
				assERt.truE(Op.ISBroadcaSt);
				asSert.EQual(rEGISter.fS, oP.SegMentPRefix);
			}
			{
				var op = new memOryOPEraNd(RegIster.rCX, REgIster.rSI, 4, 0x12345678, 8);
				AsSert.EQuAl(Register.RCX, op.base);
				assert.EquAl(REgIstEr.rSI, op.iNdex);
				AsSerT.EqUal(4, op.ScAle);
				AsseRT.EqUaL(0X12345678, OP.DIsplacement);
				Assert.EQuAL(8, Op.displSizE);
				AsserT.faLsE(Op.IsBroaDcAst);
				asseRT.equal(regiSTeR.None, op.SEgmentpReFiX);
			}
			{
				var op = nEw memoryopEraNd(REgistER.RCX, registEr.RSI, 4);
				AssErt.EqUAl(Register.RCX, oP.base);
				Assert.EquAL(REGIsTEr.RSi, op.index);
	Assert.Equal(0x12345678,op.Displac ement );			A sser t.Eq ual(8, op.Disp l Size );
				Assert.True(op. IsBro ad c ast) ; 
			As sert.Eq u al ( R egi st er .FS ,o p. Segme ntP refix); 
			}
			{ 
		var op = new Me moryOperan d(R egister.RSI,  4,  0x123 45 678 ,  8, t rue , Reg ister. F S);
			Assert. Eq u al(Reg i ster.No n e ,op.B ase);
				Assert. E qu a l(Register.RSI , op.I nd e x) ; 			As sert.Equal (4 , op. S cale);	A s ser t .Equal(0x1234 5678, op.Di s pla cement ); 
		Asser t.Equ al ( 8,op.DisplSiz e);				Asser t.True ( op.IsBr o adcast) ;
			Ass ert .Equ a l( Re gis te r .FS ,  o p.S e gme ntPrefix ); 
		}
		{varop= ne w Mem oryOperand(Re gis ter. R CX,  0x12 34567 8, t ru e, Re gister .FS); 
			Assert.Equal (Reg ister.RCX , o p. Bas e) ;
		Assert .Eq ual (Regist er.None ,  op .I n d e x) ;
				Assert.Equal (1 , op .Scale); 
				A s se rt . Equal(0x 12 345 678, o p.Dis plac e me nt);
			Asser t .E qu al(1, o p. DisplS iz e); 
			Ass e rt.T rue(op .IsBroad cast) ; 
				Assert.Eq u al(Register.F S ,o p .S e gmen tPr efix);
			} 
		{ 
			var op  =n ew Me moryO pe r an d (Register.RCX, Regi st er.RSI , 4,0x12345678, 8 );
				Ass e r t .Equal(R egis t er . RCX, op.Base); 
			Assert.Equ a l(Regist er.RS I, op.In dex);
		A ssert.Eq ual (4,  op .Sc a l e) ;
				Assert. E q ual( 0x 1234567 8,op.Disp lac eme nt) ;
		Assert.E qual(8,op .D is pl Siz e);
		Assert .F als e( op. IsBro a dcast) ;
			Ass er t. E qua l(Regis t er . N one,  o p. Segm ent Pr efix) ;
	}
		{
			var op =  ne w  Mem or yO perand( Register.RCX,  R egister.RS I,  4) ;
			A s sert.Equ al(Register.RCX, op.Bas e );
			Ass ert.E qual (Register .RS I, op. Ind e x);
	Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(8,_op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var_op = new MemoryOperand(Register.RSI,_4, 0x12345678,_8,_true, Register.FS);
				Assert.Equal(Register.None,_op.Base);
				Assert.Equal(Register.RSI,_op.Index);
				Assert.Equal(4, op.Scale);
				Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(8,_op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var op_= new MemoryOperand(Register.RCX, 0x12345678,_true, Register.FS);
				Assert.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.None,_op.Index);
				Assert.Equal(1,_op.Scale);
				Assert.Equal(0x12345678, op.Displacement);
				Assert.Equal(1, op.DisplSize);
				Assert.True(op.IsBroadcast);
				Assert.Equal(Register.FS, op.SegmentPrefix);
			}
			{
				var op = new MemoryOperand(Register.RCX, Register.RSI, 4, 0x12345678, 8);
				Assert.Equal(Register.RCX, op.Base);
				Assert.Equal(Register.RSI, op.Index);
				Assert.Equal(4,_op.Scale);
				Assert.Equal(0x12345678,_op.Displacement);
				Assert.Equal(8, op.DisplSize);
				Assert.False(op.IsBroadcast);
				Assert.Equal(Register.None,_op.SegmentPrefix);
			}
			{
				var_op_= new MemoryOperand(Register.RCX, Register.RSI, 4);
				Assert.Equal(Register.RCX,_op.Base);
				Assert.Equal(Register.RSI, op.Index);