Пример #1
0
 public void SetReg(byte constant)
 {
     if (!ModRM.HasValue)
     {
         ModRM = 0;
     }
     ModRM |= ModRMSIB.GetModRegRM(0, constant, 0);
 }
Пример #2
0
 public void SetReg(Token reg)
 {
     if (!ModRM.HasValue)
     {
         ModRM = 0;
     }
     ModRM |= ModRMSIB.GetModRegRM(0, ModRMSIB.RegisterCodes[reg.StringValue], 0);
 }
Пример #3
0
        public void SetRM(Token index, Token @base, int disp)
        {
            if (!ModRM.HasValue)
            {
                ModRM = 0;
            }
            if (!SIB.HasValue)
            {
                SIB = 0;
            }

            ModRM |= ModRMSIB.GetModRegRM(ModRMSIB.ModDisp32, 0, ModRMSIB.RmSIB);
            SIB   |= ModRMSIB.GetSIB(0,
                                     ModRMSIB.RegisterCodes[index.StringValue],
                                     ModRMSIB.RegisterCodes[@base.StringValue]);
            Disp = ModRMSIB.ToBytes32(disp);
        }